微服务教程笔记

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(List products){
    Map<String, Long> collect = products.stream()
    .collect(Collectors.groupingBy(x -> x.getProductId(),
    Collectors.summingLong(x -> x.getPrice() * x.getCount()))
    );
    return collect;
    }
 wechat
天生我才必有用