diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java index 0aeb158e..cc15e562 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/order/OrderServiceImpl.java @@ -26,6 +26,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.math.BigDecimal; +import java.math.RoundingMode; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collections; @@ -105,7 +106,8 @@ public class OrderServiceImpl implements OrderService { AppOrderRespVO appOrderRespVO = BeanUtils.toBean(order, AppOrderRespVO.class); List appOrderDetailRespVOS = orderDetailService.selectListByOrderId(id); appOrderRespVO.setDetailList(appOrderDetailRespVOS); - Double reduce = appOrderDetailRespVOS.stream().map(AppOrderDetailRespVO::getHeat).filter(heat -> ObjUtil.isNotEmpty(heat)).reduce(0d, Double::sum); + BigDecimal reduce1 = appOrderDetailRespVOS.stream().map(m-> BigDecimal.valueOf(m.getHeat())).filter(heat -> ObjUtil.isNotEmpty(heat)).reduce(BigDecimal.ZERO, BigDecimal::add); + double reduce= reduce1.setScale(2, RoundingMode.HALF_UP).doubleValue(); appOrderRespVO.setIntake(reduce); //判断时间 int hour = order.getCreateTime().getHour();