From 7a0eb20a76b7677b315b3a0fba4cbe11881962c4 Mon Sep 17 00:00:00 2001 From: clunt Date: Sun, 25 Sep 2022 22:46:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E8=80=85=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderDetailController.java | 2 +- .../order/OrderMasterController.java | 122 ++++++++++++++++++ .../com/ghy/order/domain/OrderMaster.java | 1 + .../mapper/order/OrderMasterMapper.xml | 3 + 4 files changed, 127 insertions(+), 1 deletion(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index ceb2d0a7..d4155060 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -298,7 +298,7 @@ public class OrderDetailController extends BaseController { }); String ids = orderDetailIds.toString(); if(ids.length() > 0){ - orderDetail.setOrderDetailIds(ids); + orderDetail.setOrderDetailIds(ids.substring(0, -1)); } startPage(); List orderListResponses = new ArrayList<>(); 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 221f4eb2..dbd6343c 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 @@ -21,9 +21,11 @@ import com.ghy.goods.domain.GoodsStandard; import com.ghy.goods.service.GoodsImgsService; import com.ghy.goods.service.GoodsService; import com.ghy.goods.service.GoodsStandardService; +import com.ghy.order.domain.AfterServiceRecord; import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderMaster; +import com.ghy.order.service.IAfterServiceRecordService; import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderMasterService; @@ -91,6 +93,8 @@ public class OrderMasterController extends BaseController { private OrderFineRecordService orderFineRecordService; @Autowired private ISysAreaService sysAreaService; + @Autowired + private IAfterServiceRecordService afterServiceRecordService; @RequiresPermissions("order:master:view") @GetMapping() @@ -176,6 +180,124 @@ public class OrderMasterController extends BaseController { }); +// PageDomain pageDomain = TableSupport.buildPageRequest(); +// if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { +// rspData.setRows(orderListResponses); +// rspData.setTotal(orderListResponses.size()); +// return rspData; +// } +// Integer pageSize = pageDomain.getPageNum(); +// if (pageSize > orderListResponses.size()) { +// pageSize = orderListResponses.size(); +// } +// rspData.setRows(orderListResponses.subList(0, pageSize)); +// rspData.setTotal(orderListResponses.size()); + return voDataTable(orderListResponses, list); + } + + + @PostMapping("/after/list") + @ResponseBody + public TableDataInfo afterList(@RequestBody OrderMaster orderMaster) { + + // 查所有售后的单 + List afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord()); + // 踢重后的子单ids + List detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); + StringBuilder orderDetailIds = new StringBuilder(); + OrderDetail orderDetail = new OrderDetail(); + detailIds.forEach(id->{ + orderDetailIds.append(id).append(","); + }); + String ids = orderDetailIds.toString(); + if(ids.length() > 0){ + orderDetail.setOrderDetailIds(ids.substring(0, -1)); + } + // 所有售后的子单 + List orderDetailList = orderDetailService.selectOrderDetailList(orderDetail); + StringBuilder orderMasterIds = new StringBuilder(); + orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct() + .collect(Collectors.toList()).forEach(id->{ + orderMasterIds.append(id).append(","); + }); + if(orderMasterIds.toString().length()>0){ + orderMaster.setOrderMasterIds(orderMasterIds.substring(0, -1)); + } + + startPage(); + List orderListResponses = new ArrayList<>(); + List list = orderMasterService.selectOrderMasterList(orderMaster); + list.forEach(master -> { + // 初始化属性 + OrderListResponse orderListResponse = new OrderListResponse(); + List standardList = new ArrayList<>(); + + // 师傅信息 + Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null; + + // 消费者信息 +// Customer customer = customerService.selectByCustomerId(master.getCustomerId()); + + // 商品规格及信息 + List orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId()); + + // 商品信息 + GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId()); + + Goods goods = goodsService.selectById(goodsStandard.getGoodsId()); + + // 财务信息 + FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId()); + + // 地址信息 + CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId()); + SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); + String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); + + // 查询是否超时 + List timeoutRecords = new ArrayList<>(); + List detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); + detailOrderList.stream().forEach(detail -> { + OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); + if (timeoutRecord != null) { + timeoutRecords.add(timeoutRecord); + } + }); + + for (OrderGoods orderGoods : orderStandardList) { + OrderStandard orderStandard = new OrderStandard(); + orderStandard.setStandardName(orderGoods.getGoodsName()); + orderStandard.setStandardNum(orderGoods.getGoodsNum()); + standardList.add(orderStandard); + } + + // 编辑返回属性 + orderListResponse.setOrderMasterId(master.getId()); + orderListResponse.setGoodsName(goods.getGoodsName()); + orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); + orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney()); + orderListResponse.setTotalMoney(financialMaster.getTotalMoney()); + orderListResponse.setPayMoney(financialMaster.getPayMoney()); + orderListResponse.setWorkerName(worker == null ? "" : worker.getName()); + orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); + orderListResponse.setCustomerName(customerAddress.getName()); + orderListResponse.setCustomerPhone(customerAddress.getPhone()); + orderListResponse.setServerTime(master.getRevTime()); + orderListResponse.setExpectTimeStart(master.getExpectTimeStart()); + orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd()); + orderListResponse.setOrderStatus(master.getOrderStatus()); + orderListResponse.setPayStatus(master.getPayStatus()); + orderListResponse.setPayType(master.getPayType()); + orderListResponse.setOrderMasterCode(master.getCode()); + orderListResponse.setStandardList(standardList); + orderListResponse.setAddress(completeAddress); + orderListResponse.setRemark(goods.getRemark()); + orderListResponse.setCustomerRemark(master.getRemark()); + orderListResponse.setOrderTimeoutRecords(timeoutRecords); + orderListResponses.add(orderListResponse); + + }); + // PageDomain pageDomain = TableSupport.buildPageRequest(); // if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) { // rspData.setRows(orderListResponses); diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java index a68bdccc..a3ea0162 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java @@ -77,4 +77,5 @@ public class OrderMaster extends BaseEntity { private Boolean isOverTime; + private String orderMasterIds; } diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index f26a5d3d..ffdc02b7 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -119,6 +119,9 @@ AND om.create_time < #{createTimeEnd} + + AND om.id in (#{orderMasterIds}); + order by om.create_time