CouponType 枚举类
public static CouponType convert(String code) {
return Stream.of(values())
.filter(bean -> bean.code.equalsIgnoreCase(code))
.findFirst()
.orElse(UNKNOWN);
}
使用Long表示金额,金额通常以分为单位,比如100代表100分,比使用Double转 BigDecimal 有效
JPA支持一对多、多对多的级联关系,但是过深的级联层级带来的DB层压力可能在洪峰流量下太大,所以尽量减少级联配置,用单表查询取代;如果一个查询需要join多张表,最好的做法是通过重构业务逻辑来简化DB查询的复杂度;
思考:java动态更新枚举类;
- stream 根据门店分组计算每个门店下商品价格(key=shopId,value=门店商品总价)
public Map<String,Long> getTotal(Listproducts){
Map<String, Long> collect = products.stream()
.collect(Collectors.groupingBy(x -> x.getProductId(),
Collectors.summingLong(x -> x.getPrice() * x.getCount()))
);
return collect;
}