From 10af3b417c56a3278738c4f60b0bf2ec242fa862 Mon Sep 17 00:00:00 2001 From: "kuang.yifei@iwhalecloud.com" Date: Sat, 18 Jun 2022 00:10:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E8=B4=B9=E8=80=85=E8=AE=A2=E5=8D=95?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderMasterController.java | 140 +++++++++++++++--- .../ghy/web/pojo/vo/OrderListResponse.java | 4 + .../ghy/web/pojo/vo/OrderStandardDetail.java | 25 ++++ 3 files changed, 149 insertions(+), 20 deletions(-) create mode 100644 ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java 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 fc3b5748..db99e31e 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 @@ -6,6 +6,7 @@ import com.ghy.common.core.controller.BaseController; import com.ghy.common.core.domain.AjaxResult; import com.ghy.common.core.page.TableDataInfo; import com.ghy.common.enums.BusinessType; +import com.ghy.common.utils.ExceptionUtil; import com.ghy.common.utils.ObjectUtils; import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.customer.domain.Customer; @@ -29,6 +30,7 @@ import com.ghy.payment.service.FinancialMasterService; import com.ghy.web.pojo.vo.OrderDetailsResponseVo; import com.ghy.web.pojo.vo.OrderListResponse; import com.ghy.web.pojo.vo.OrderStandard; +import com.ghy.web.pojo.vo.OrderStandardDetail; import com.ghy.worker.domain.Worker; import com.ghy.worker.service.WorkerService; import com.github.pagehelper.PageInfo; @@ -90,11 +92,11 @@ public class OrderMasterController extends BaseController { @PostMapping("/app/list") @ResponseBody - public TableDataInfo appList(@RequestBody OrderMaster orderMaster){ + public TableDataInfo appList(@RequestBody OrderMaster orderMaster) { startPage(); List orderListResponses = new ArrayList<>(); List list = orderMasterService.selectOrderMasterList(orderMaster); - list.forEach(master->{ + list.forEach(master -> { // 初始化属性 OrderListResponse orderListResponse = new OrderListResponse(); List standardList = new ArrayList<>(); @@ -119,7 +121,7 @@ public class OrderMasterController extends BaseController { // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId()); - for(OrderGoods orderGoods : orderStandardList){ + for (OrderGoods orderGoods : orderStandardList) { OrderStandard orderStandard = new OrderStandard(); orderStandard.setStandardName(orderGoods.getGoodsName()); orderStandard.setStandardNum(orderGoods.getGoodsNum()); @@ -150,6 +152,104 @@ public class OrderMasterController extends BaseController { return voDataTable(orderListResponses, list); } + @PostMapping("/app/detail") + @ResponseBody + public AjaxResult appDetail(@RequestBody OrderMaster request) { + try { + // 主单信息 + OrderMaster orderMaster = orderMasterService.selectById(request.getId()); + + List orderDetailList = orderDetailService.selectByOrderMasterId(orderMaster.getId()); + List orderStandardDetails = new ArrayList<>(); + orderDetailList.forEach(orderDetail -> { + List standardList = new ArrayList<>(); + // 子单施工师傅信息 + Worker detailWorker = workerService.selectById(orderDetail.getWorkerId()); + + // 子单商品规格及信息 + List orderStandardList = orderGoodsService.selectByOrderDetailId(orderDetail.getId()); + for (OrderGoods orderGoods : orderStandardList) { + OrderStandard orderStandard = new OrderStandard(); + orderStandard.setStandardName(orderGoods.getGoodsName()); + orderStandard.setStandardNum(orderGoods.getGoodsNum()); + orderStandard.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum()); + orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum()); + standardList.add(orderStandard); + } + + OrderStandardDetail orderStandardDetail = new OrderStandardDetail(); + orderStandardDetail.setOrderDetailId(orderDetail.getId()); + orderStandardDetail.setOrderDetailCode(orderDetail.getCode()); + orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime()); + orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime()); + orderStandardDetail.setWorkerName(detailWorker.getName()); + orderStandardDetail.setWorkerPhone(detailWorker.getPhone()); + orderStandardDetail.setOrderStandardList(standardList); + + orderStandardDetails.add(orderStandardDetail); + }); + + // 初始化属性 + OrderListResponse orderListResponse = new OrderListResponse(); + List standardList = new ArrayList<>(); + + // 师傅信息 + Worker worker = workerService.selectById(orderMaster.getWorkerId()); + + // 消费者信息 + Customer customer = customerService.selectByCustomerId(orderMaster.getCustomerId()); + + // 商品规格及信息 + List orderStandardList = orderGoodsService.selectByOrderMasterId(orderMaster.getId()); + + // 商品信息 + GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId()); + + Goods goods = goodsService.selectById(goodsStandard.getGoodsId()); + + // 财务信息 + FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId()); + + // 地址信息 + CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); + + for (OrderGoods orderGoods : orderStandardList) { + OrderStandard orderStandard = new OrderStandard(); + orderStandard.setStandardName(orderGoods.getGoodsName()); + orderStandard.setStandardNum(orderGoods.getGoodsNum()); + orderStandard.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum()); + orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum()); + standardList.add(orderStandard); + } + + // 编辑返回属性 + orderListResponse.setOrderMasterId(orderMaster.getId()); + orderListResponse.setOrderMasterCode(orderMaster.getCode()); + orderListResponse.setGoodsName(goods.getGoodsName()); + orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); + orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney()); + orderListResponse.setTotalMoney(financialMaster.getTotalMoney()); + orderListResponse.setPayMoney(financialMaster.getPayMoney()); + orderListResponse.setWorkerName(worker.getName()); + orderListResponse.setWorkerPhone(worker.getPhone()); + orderListResponse.setCustomerName(customer.getName()); + orderListResponse.setCustomerPhone(customer.getPhone()); + orderListResponse.setOrderStatus(orderMaster.getOrderStatus()); + orderListResponse.setPayStatus(orderMaster.getPayStatus()); + orderListResponse.setPayType(orderMaster.getPayType()); + orderListResponse.setStandardList(standardList); + orderListResponse.setAddress(customerAddress.getAddress()); + orderListResponse.setServerTime(orderMaster.getRevTime()); + orderListResponse.setCreateTime(orderMaster.getCreateTime()); + orderListResponse.setOrderStandardDetailList(orderStandardDetails); + + return AjaxResult.success(orderListResponse); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error(ExceptionUtil.getExceptionMessage(e)); + } + } + @RequiresPermissions("order:master:list") @PostMapping("/list") @ResponseBody @@ -159,7 +259,7 @@ public class OrderMasterController extends BaseController { // 数据处理。待返回的数据信息。 List orderDetailsResponseVoList = new ArrayList<>(); // 存在数据在进行数据查询处理。 - if(orderMasterList != null && orderMasterList.size() > 0){ + if (orderMasterList != null && orderMasterList.size() > 0) { // 第一次循环 进行拿到对应用户数据集合信息与实体集合数据信息, // 消费者相关集合 List customIdList = new ArrayList<>(); @@ -167,22 +267,22 @@ public class OrderMasterController extends BaseController { List workerIdList = new ArrayList<>(); // 订单编号数据信息。 List orderIdList = new ArrayList<>(); - for(OrderMaster orderMasterByListData : orderMasterList){ + for (OrderMaster orderMasterByListData : orderMasterList) { // 订单Id - if(ObjectUtils.isNotNull(orderMasterByListData.getId())){ + if (ObjectUtils.isNotNull(orderMasterByListData.getId())) { orderIdList.add(orderMasterByListData.getId()); } // 消费者id - if(ObjectUtils.isNotNull(orderMasterByListData.getCustomerId())){ + if (ObjectUtils.isNotNull(orderMasterByListData.getCustomerId())) { customIdList.add(orderMasterByListData.getCustomerId()); } // 师傅id - if(ObjectUtils.isNotNull(orderMasterByListData.getWorkerId())){ + if (ObjectUtils.isNotNull(orderMasterByListData.getWorkerId())) { workerIdList.add(orderMasterByListData.getWorkerId()); } } // 消费者 - Map longCustomerMap = customerService.byCustomerUseridInMap(customIdList); + Map longCustomerMap = customerService.byCustomerUseridInMap(customIdList); // 师傅 Map longWorkerMap = workerService.byWorkUserIdInMap(workerIdList); // 订单数据 @@ -191,26 +291,26 @@ public class OrderMasterController extends BaseController { // 消费者的上级邀请人信息。 List customByPlaceIdList = new ArrayList<>(); // 循环数据赋值。 - for(OrderMaster orderMasterByListData : orderMasterList){ + for (OrderMaster orderMasterByListData : orderMasterList) { OrderDetailsResponseVo orderDetailsResponseVo = new OrderDetailsResponseVo(); // 订单基本信息。 orderDetailsResponseVo.setOrderId(orderMasterByListData.getId()); orderDetailsResponseVo.setCode(orderMasterByListData.getCode()); // 基本信息。 List orderGoodsList = longOrderGoodsMap.get(orderMasterByListData.getId()); - if(orderGoodsList != null && orderGoodsList.size() > 0){ + if (orderGoodsList != null && orderGoodsList.size() > 0) { List orderDetailsList = new ArrayList<>(); // 用于订单附表数据查询。 List orderDetailsIdList = new ArrayList<>(); - for(OrderGoods orderGoods : orderGoodsList){ + for (OrderGoods orderGoods : orderGoodsList) { orderDetailsIdList.add(orderGoods.getOrderId()); } // 财务数据信息。 Map longFinancialDetailMap = financialDetailService.byOrderIdInMap(orderDetailsIdList); - for(OrderGoods orderGoods : orderGoodsList){ + for (OrderGoods orderGoods : orderGoodsList) { OrderDetailsResponseVo.OrderDetails orderDetails = OrderDetailsResponseVo.OrderDetails.modelDataSupplement(orderGoods); FinancialDetail financialDetail = longFinancialDetailMap.get(orderGoods.getOrderGoodsId()); - if(ObjectUtils.isNotNull(financialDetail)){ + if (ObjectUtils.isNotNull(financialDetail)) { orderDetails.setDiscountMoney(financialDetail.getDiscountMoney()); orderDetails.setPayMoney(financialDetail.getPayMoney()); orderDetails.setTotalMoney(financialDetail.getTotalMoney()); @@ -227,10 +327,10 @@ public class OrderMasterController extends BaseController { orderDetailsResponseVo.setState(OrderDetailsResponseVo.OrderState.modelDataSupplement(orderMasterByListData)); // 消费者相关。 Customer customer = longCustomerMap.get(orderMasterByListData.getCustomerId()); - if(ObjectUtils.isNotNull(customer)){ + if (ObjectUtils.isNotNull(customer)) { // 地址信息 这里默认取第一条数据既可以了 List customerAddressList = customerAddressService.selectByCustomerId(customer.getCustomerId()); - if(customerAddressList != null && customerAddressList.size() > 0){ + if (customerAddressList != null && customerAddressList.size() > 0) { orderDetailsResponseVo.setCustomDetails(OrderDetailsResponseVo.OrderCustomDetails.modelDataSupplement(customerAddressList.get(0))); } customByPlaceIdList.add(customer.getCustomerPlace()); @@ -239,11 +339,11 @@ public class OrderMasterController extends BaseController { orderDetailsResponseVoList.add(orderDetailsResponseVo); } // 第三次数据循环处理 用于邀请人相关补充, - Map longCustomerByPlaceMap = customerService.byCustomerUseridInMap(customByPlaceIdList); - for(OrderDetailsResponseVo vo : orderDetailsResponseVoList){ - if(ObjectUtils.isNotNull(vo.getCustomDetails())){ + Map longCustomerByPlaceMap = customerService.byCustomerUseridInMap(customByPlaceIdList); + for (OrderDetailsResponseVo vo : orderDetailsResponseVoList) { + if (ObjectUtils.isNotNull(vo.getCustomDetails())) { Customer customer = longCustomerByPlaceMap.get(vo.getCustomDetails().getCustomerId()); - if(ObjectUtils.isNotNull(customer)){ + if (ObjectUtils.isNotNull(customer)) { vo.setInvitee(OrderDetailsResponseVo.OrderInvitee.modelDataSupplement(customer)); } } 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 7d95cf42..c3f1db9e 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 @@ -1,5 +1,6 @@ package com.ghy.web.pojo.vo; +import com.ghy.order.domain.OrderDetail; import lombok.Data; import java.math.BigDecimal; @@ -53,4 +54,7 @@ public class OrderListResponse { private Date createTime; private List standardList; + + private List orderStandardDetailList; + } 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 new file mode 100644 index 00000000..a21225e8 --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java @@ -0,0 +1,25 @@ +package com.ghy.web.pojo.vo; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class OrderStandardDetail { + + private Long orderDetailId; + + private String orderDetailCode; + + private String workerName; + + private String workerPhone; + + private Date workBeginTime; + + private Date workFinishTime; + + private List orderStandardList; + +}