| | |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.InputStream; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | |
| | | List<OrderSimpleVO> list = this.baseMapper.queryByParamsCount(queryWrapper); |
| | | OrderCountVO orderCountVO = new OrderCountVO(); |
| | | orderCountVO.setOrderNumCount(0); |
| | | orderCountVO.setOrderPriceCount(0.0); |
| | | orderCountVO.setOrderPriceCount(BigDecimal.ZERO); |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return orderCountVO; |
| | | }else { |
| | |
| | | continue; // 跳过null元素,或根据业务处理 |
| | | } |
| | | orderCountVO.setOrderNumCount(orderCountVO.getOrderNumCount() + 1); |
| | | Double flowPrice = vo.getFlowPrice() != null ? vo.getFlowPrice() : 0.0; |
| | | |
| | | orderCountVO.setOrderPriceCount(orderCountVO.getOrderPriceCount() + flowPrice);; |
| | | // 金额累加:用BigDecimal处理,避免精度问题 |
| | | BigDecimal flowPrice = vo.getFlowPrice() != null ? |
| | | BigDecimal.valueOf(vo.getFlowPrice()) : BigDecimal.ZERO; |
| | | |
| | | // 用BigDecimal的add方法累加 |
| | | BigDecimal totalPrice = orderCountVO.getOrderPriceCount().add(flowPrice); |
| | | orderCountVO.setOrderPriceCount(totalPrice); |
| | | |
| | | } |
| | | } |
| | |
| | | // 创建表头 |
| | | Row header = sheet.createRow(0); |
| | | String[] headers = {"主订单编号", "子订单编号", "选购商品", "商品数量", "商品ID", "商品单价", "订单应付金额", |
| | | "运费", "优惠总金额", "平台优惠", "商家优惠", "商家改价", "支付方式","卖家名称", "收件人", "收件人手机号", |
| | | "运费", "优惠总金额", "平台优惠", "商家优惠", "商家改价", "支付方式","买家名称", "收件人", "收件人手机号", |
| | | "省", "市", "区", "街道", "详细地址", "买家留言", "订单提交时间", "支付完成时间", "来源", |
| | | "订单状态", "订单类型", "售后状态", "取消原因", "发货时间", "完成时间", "店铺"}; |
| | | |