diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 47a1c0c7..1fac33e2 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -34,6 +34,7 @@ import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; import com.ghy.payment.domain.OrderTimeoutRecord; import com.ghy.payment.service.FinancialChangeRecordService; +import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.FinancialMasterService; import com.ghy.payment.service.OrderFineRecordService; import com.ghy.system.domain.SysArea; @@ -93,6 +94,8 @@ public class OrderMasterController extends BaseController { @Autowired private FinancialMasterService financialMasterService; @Autowired + private FinancialDetailService financialDetailService; + @Autowired private GoodsStandardService goodsStandardService; @Autowired private OrderFineRecordService orderFineRecordService; @@ -117,6 +120,9 @@ public class OrderMasterController extends BaseController { List orderListResponses = new ArrayList<>(); List list = orderMasterService.selectOrderMasterList(orderMaster); list.forEach(master -> { + //子单 + List detailList = orderDetailService.selectByOrderMasterId(master.getId()); + // 初始化属性 OrderListResponse orderListResponse = new OrderListResponse(); List standardList = new ArrayList<>(); @@ -137,6 +143,18 @@ public class OrderMasterController extends BaseController { // 财务信息 FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId()); + BigDecimal totalPayMoney = financialMaster.getPayMoney(); + BigDecimal totalChangeMoney = new BigDecimal(0); + for (OrderDetail detail: detailList) { + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(detail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney()); + } + } + totalPayMoney = totalPayMoney.add(totalChangeMoney); // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId()); @@ -166,7 +184,8 @@ public class OrderMasterController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney()); orderListResponse.setTotalMoney(financialMaster.getTotalMoney()); - orderListResponse.setPayMoney(financialMaster.getPayMoney()); + orderListResponse.setPayMoney(totalPayMoney); + orderListResponse.setChangeMoney(totalChangeMoney); orderListResponse.setWorkerName(worker == null ? "" : worker.getName()); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); @@ -363,6 +382,18 @@ public class OrderMasterController extends BaseController { finishImgList = goodsImgs.stream().map(GoodsImgs::getImgUrl).collect(Collectors.toList()); } + FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(orderDetail.getId()); + BigDecimal totalPayMoney = financialDetail.getPayMoney(); + FinancialChangeRecord financialChangeRecord = null; + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(orderDetail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + financialChangeRecord = financialChangeRecords.get(0); + totalPayMoney = totalPayMoney.add(financialChangeRecord.getChangeMoney()); + } + OrderStandardDetail orderStandardDetail = new OrderStandardDetail(); orderStandardDetail.setOrderDetailId(orderDetail.getId()); orderStandardDetail.setOrderDetailCode(orderDetail.getCode()); @@ -376,6 +407,8 @@ public class OrderMasterController extends BaseController { orderStandardDetail.setOrderStandardList(standardList); orderStandardDetail.setFinishImgList(finishImgList); orderStandardDetail.setRemark(orderDetail.getRemark()); + orderStandardDetail.setPayMoney(totalPayMoney); + orderStandardDetail.setFinancialChangeRecord(financialChangeRecord); AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); afterServiceRecord.setOrderDetailId(orderDetail.getId()); @@ -629,7 +662,7 @@ public class OrderMasterController extends BaseController { changeRecordQry.setOrderDetailId(detail.getId()); List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); if (CollectionUtils.isNotEmpty(financialChangeRecords)) { - totalMoney.add(financialChangeRecords.get(0).getChangeMoney()); + totalMoney = totalMoney.add(financialChangeRecords.get(0).getChangeMoney()); } OrderStandardDetail detailRes = new OrderStandardDetail(); @@ -640,9 +673,9 @@ public class OrderMasterController extends BaseController { orderStandardDetails.add(detailRes); } - orderStandardDetails.stream().forEach(detail -> { - detail.setPayMoney(totalMoney); - }); + for (OrderStandardDetail orderStandardDetail: orderStandardDetails) { + orderStandardDetail.setPayMoney(totalMoney); + } return AjaxResult.success(orderStandardDetails); } catch (Exception e) { diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java index d5640120..7dae90b4 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java @@ -59,6 +59,8 @@ public class OrderListResponse { private BigDecimal payMoney; + private BigDecimal changeMoney; + private BigDecimal discountMoney; private String goodsLogoUrl; diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java index dc018a6f..9d78ae3e 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java @@ -1,6 +1,7 @@ package com.ghy.web.pojo.vo; import com.ghy.order.domain.AfterServiceRecord; +import com.ghy.payment.domain.FinancialChangeRecord; import lombok.Data; import java.math.BigDecimal; @@ -30,6 +31,8 @@ public class OrderStandardDetail { private BigDecimal payMoney; + private FinancialChangeRecord financialChangeRecord; + private String remark; private List orderStandardList;