diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/AfterServiceRecordController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/AfterServiceRecordController.java index 26638e0d..0cc6bccd 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/AfterServiceRecordController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/AfterServiceRecordController.java @@ -1,6 +1,9 @@ package com.ghy.web.controller.order; import java.util.List; +import java.util.stream.Collectors; + +import com.ghy.order.service.OrderDetailService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -30,6 +33,9 @@ public class AfterServiceRecordController extends BaseController @Autowired private IAfterServiceRecordService afterServiceRecordService; + @Autowired + private OrderDetailService orderDetailService; + @RequiresPermissions("worker:record:view") @GetMapping() public String record() @@ -37,6 +43,17 @@ public class AfterServiceRecordController extends BaseController return prefix + "/record"; } + @PostMapping("/all/list") + @ResponseBody + public TableDataInfo allList(AfterServiceRecord afterServiceRecord){ + List list = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); + List orderDetailIds = list.stream().map(AfterServiceRecord::getOrderDetailId).collect(Collectors.toList()); + + startPage(); + + return getDataTable(list); + } + /** * 查询售后记录列表 */ 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 fbab126e..ceb2d0a7 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 @@ -20,10 +20,12 @@ 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.request.OrderProcessRequest; +import com.ghy.order.service.IAfterServiceRecordService; import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderMasterService; @@ -90,6 +92,8 @@ public class OrderDetailController extends BaseController { private FinancialDetailService financialDetailService; @Autowired private OrderFineRecordService orderFineRecordService; + @Autowired + private IAfterServiceRecordService afterServiceRecordService; @RequiresPermissions("order:detail:view") @GetMapping() @@ -282,6 +286,100 @@ public class OrderDetailController extends BaseController { return voDataTable(orderListResponses, list); } + @PostMapping("/after/list") + @ResponseBody + public TableDataInfo afterServiceList(@RequestBody OrderDetail orderDetail) { + List afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord()); + // 踢重后的子单ids + List detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); + StringBuilder orderDetailIds = new StringBuilder(); + detailIds.forEach(id->{ + orderDetailIds.append(id).append(","); + }); + String ids = orderDetailIds.toString(); + if(ids.length() > 0){ + orderDetail.setOrderDetailIds(ids); + } + startPage(); + List orderListResponses = new ArrayList<>(); + List list = orderDetailService.selectOrderDetailList(orderDetail); + list.forEach(detail -> { + + // 主单信息 + OrderMaster orderMaster = orderMasterService.selectById(detail.getOrderMasterId()); + // 初始化属性 + OrderListResponse orderListResponse = new OrderListResponse(); + List standardList = new ArrayList<>(); + + // 师傅信息 + Worker worker = workerService.selectById(detail.getWorkerId()); + + // 消费者信息 +// Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); + + // 商品规格及信息 + List orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId()); + + // 商品信息 + GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId()); + + Goods goods = goodsService.selectById(goodsStandard.getGoodsId()); + + // 财务信息 + FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId()); + + // 地址信息 + CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); + SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId()); + String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress(); + + for (OrderGoods orderGoods : orderStandardList) { + OrderStandard orderStandard = new OrderStandard(); + orderStandard.setStandardName(orderGoods.getGoodsName()); + orderStandard.setStandardNum(orderGoods.getGoodsNum()); + orderStandard.setServerNum(orderGoods.getServerGoodsNum()); + orderStandard.setFinishTime(orderGoods.getFinishTime()); + orderStandard.setWaitServerNum(orderGoods.getGoodsNum() - orderGoods.getServerGoodsNum()); + standardList.add(orderStandard); + } + + // 查询是否超时 + OrderTimeoutRecord orderTimeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); + Boolean isOverTime = orderTimeoutRecord == null ? false : true; + + // 编辑返回属性 + orderListResponse.setOrderDetailId(detail.getId()); + orderListResponse.setOrderDetailCode(detail.getCode()); + orderListResponse.setOrderMasterId(detail.getOrderMasterId()); + orderListResponse.setOrderMasterCode(detail.getOrderMasterCode()); + orderListResponse.setGoodsName(goods.getGoodsName()); + orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); + orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); + orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); + orderListResponse.setPayMoney(financialDetail.getPayMoney()); + orderListResponse.setWorkerName(worker.getName()); + orderListResponse.setWorkerPhone(worker.getPhone()); + orderListResponse.setCustomerName(customerAddress.getName()); + orderListResponse.setCustomerPhone(customerAddress.getPhone()); + orderListResponse.setOrderStatus(detail.getOrderStatus()); + orderListResponse.setPayStatus(orderMaster.getPayStatus()); + orderListResponse.setPayType(orderMaster.getPayType()); + orderListResponse.setStandardList(standardList); + orderListResponse.setAddress(completeAddress); + orderListResponse.setServerTime(detail.getRevTime()); + orderListResponse.setExpectTimeStart(detail.getExpectTimeStart()); + orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd()); + orderListResponse.setWorkBeginTime(detail.getWorkBeginTime()); + orderListResponse.setWorkFinishTime(detail.getWorkFinishTime()); + orderListResponse.setRemark(goods.getRemark()); + orderListResponse.setCustomerRemark(orderMaster.getRemark()); + orderListResponse.setOrderType(detail.getOrderType()); + orderListResponse.setIsOverTime(isOverTime); + orderListResponses.add(orderListResponse); + }); + return voDataTable(orderListResponses, list); + } + @Log(title = "详细订单管理", businessType = BusinessType.EXPORT) @RequiresPermissions("order:detail:export") @PostMapping("/export") diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java index a24bcf76..2d566506 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java @@ -5,6 +5,7 @@ import com.ghy.common.core.domain.BaseEntity; import lombok.Data; import java.util.Date; +import java.util.List; /** * @author clunt @@ -64,4 +65,9 @@ public class OrderDetail extends BaseEntity { private Long countryId; private Boolean isOverTime; + + private List afterServiceRecordList; + + private String orderDetailIds; + } diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java index 036a0b75..4c4eb735 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java @@ -33,7 +33,6 @@ public interface OrderDetailService { */ List selectOrderDetailList(OrderDetail orderDetail); - /** * @param orderDetailId 详细订单id * @return 详细订单 @@ -131,4 +130,5 @@ public interface OrderDetailService { int sureChange(Long financialChangeRecordId); FinancialChangeRecord getChangedPriceRecord(Long orderDetailId); + } diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml index 41f8fad6..713be1a5 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml @@ -105,6 +105,9 @@ AND od.expect_time_end <= #{expectTimeEnd} + + AND od.id in ( #{orderDetailIds} ) + order by od.create_time