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 7f99115b..efe645c3 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 @@ -4,10 +4,13 @@ import com.ghy.common.annotation.Log; import com.ghy.common.constant.UserConstants; import com.ghy.common.core.controller.BaseController; import com.ghy.common.core.domain.AjaxResult; +import com.ghy.common.core.page.PageDomain; import com.ghy.common.core.page.TableDataInfo; +import com.ghy.common.core.page.TableSupport; import com.ghy.common.enums.BusinessType; import com.ghy.common.utils.ExceptionUtil; import com.ghy.common.utils.ObjectUtils; +import com.ghy.common.utils.StringUtils; import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.customer.domain.Customer; import com.ghy.customer.domain.CustomerAddress; @@ -27,16 +30,14 @@ import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; import com.ghy.payment.service.FinancialDetailService; 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.web.pojo.vo.*; import com.ghy.worker.domain.Worker; import com.ghy.worker.service.WorkerService; import com.github.pagehelper.PageInfo; import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.util.CollectionUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -93,6 +94,7 @@ public class OrderMasterController extends BaseController { @PostMapping("/app/list") @ResponseBody public TableDataInfo appList(@RequestBody OrderMaster orderMaster) { + TableDataInfo rspData = new TableDataInfo(); startPage(); List orderListResponses = new ArrayList<>(); List list = orderMasterService.selectOrderMasterList(orderMaster); @@ -153,7 +155,23 @@ public class OrderMasterController extends BaseController { orderListResponses.add(orderListResponse); }); - return voDataTable(orderListResponses, list); + + PageDomain pageDomain = TableSupport.buildPageRequest(); + if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) + { + rspData.setRows(orderListResponses); + rspData.setTotal(orderListResponses.size()); + return rspData; + } + Integer pageNum = (pageDomain.getPageNum() - 1) * 10; + Integer pageSize = pageDomain.getPageNum() * 10; + if (pageSize > orderListResponses.size()) + { + pageSize = orderListResponses.size(); + } + rspData.setRows(orderListResponses.subList(pageNum, pageSize)); + rspData.setTotal(orderListResponses.size()); + return rspData; } @PostMapping("/app/detail") @@ -265,102 +283,42 @@ public class OrderMasterController extends BaseController { @PostMapping("/list") @ResponseBody public TableDataInfo list(OrderMaster orderMaster) { + TableDataInfo rspData = new TableDataInfo(); startPage(); + List orderMasterResponseVos = new ArrayList<>(); List orderMasterList = orderMasterService.selectOrderMasterList(orderMaster); - // 数据处理。待返回的数据信息。 - List orderDetailsResponseVoList = new ArrayList<>(); - // 存在数据在进行数据查询处理。 - if (orderMasterList != null && orderMasterList.size() > 0) { - // 第一次循环 进行拿到对应用户数据集合信息与实体集合数据信息, - // 消费者相关集合 - List customIdList = new ArrayList<>(); - // 师傅相关集合 - List workerIdList = new ArrayList<>(); - // 订单编号数据信息。 - List orderIdList = new ArrayList<>(); - for (OrderMaster orderMasterByListData : orderMasterList) { - // 订单Id - if (ObjectUtils.isNotNull(orderMasterByListData.getId())) { - orderIdList.add(orderMasterByListData.getId()); - } - // 消费者id - if (ObjectUtils.isNotNull(orderMasterByListData.getCustomerId())) { - customIdList.add(orderMasterByListData.getCustomerId()); - } - // 师傅id - if (ObjectUtils.isNotNull(orderMasterByListData.getWorkerId())) { - workerIdList.add(orderMasterByListData.getWorkerId()); - } - } - // 消费者 - Map longCustomerMap = customerService.byCustomerUseridInMap(customIdList); - // 师傅 - Map longWorkerMap = workerService.byWorkUserIdInMap(workerIdList); - // 订单数据 - Map> longOrderDetailMap = orderDetailService.byOrderIdInMap(orderIdList); - Map> longOrderGoodsMap = orderGoodsService.byOrderIdInMap(orderIdList); - // 消费者的上级邀请人信息。 - List customByPlaceIdList = new ArrayList<>(); - // 循环数据赋值。 - 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) { - List orderDetailsList = new ArrayList<>(); - // 用于订单附表数据查询。 - List orderDetailsIdList = new ArrayList<>(); - for (OrderGoods orderGoods : orderGoodsList) { - orderDetailsIdList.add(orderGoods.getOrderId()); - } - // 财务数据信息。 - Map longFinancialDetailMap = financialDetailService.byOrderIdInMap(orderDetailsIdList); - for (OrderGoods orderGoods : orderGoodsList) { - OrderDetailsResponseVo.OrderDetails orderDetails = OrderDetailsResponseVo.OrderDetails.modelDataSupplement(orderGoods); - FinancialDetail financialDetail = longFinancialDetailMap.get(orderGoods.getOrderGoodsId()); - if (ObjectUtils.isNotNull(financialDetail)) { - orderDetails.setDiscountMoney(financialDetail.getDiscountMoney()); - orderDetails.setPayMoney(financialDetail.getPayMoney()); - orderDetails.setTotalMoney(financialDetail.getTotalMoney()); - } - orderDetailsList.add(orderDetails); - } - orderDetailsResponseVo.setDetailsList(orderDetailsList); - } - // 订单接单信息。 现在都取接单人。 - Worker workerByReceivingUser = longWorkerMap.get(orderMasterByListData.getWorkerId()); - Worker workerByOperationUser = longWorkerMap.get(orderMasterByListData.getWorkerId()); - orderDetailsResponseVo.setReceiving(OrderDetailsResponseVo.OrderReceiving.modelDataSupplement(workerByReceivingUser, workerByOperationUser)); - // 订单状态。 - orderDetailsResponseVo.setState(OrderDetailsResponseVo.OrderState.modelDataSupplement(orderMasterByListData)); - // 消费者相关。 - Customer customer = longCustomerMap.get(orderMasterByListData.getCustomerId()); - if (ObjectUtils.isNotNull(customer)) { - // 地址信息 这里默认取第一条数据既可以了 - List customerAddressList = customerAddressService.selectByCustomerId(customer.getCustomerId()); - if (customerAddressList != null && customerAddressList.size() > 0) { - orderDetailsResponseVo.setCustomDetails(OrderDetailsResponseVo.OrderCustomDetails.modelDataSupplement(customerAddressList.get(0))); - } - customByPlaceIdList.add(customer.getCustomerPlace()); - } - // 数据添加处理。 - orderDetailsResponseVoList.add(orderDetailsResponseVo); - } - // 第三次数据循环处理 用于邀请人相关补充, - 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)) { - vo.setInvitee(OrderDetailsResponseVo.OrderInvitee.modelDataSupplement(customer)); - } - } + for (OrderMaster master : orderMasterList) { + OrderMasterResponseVo orderMasterResponseVo = new OrderMasterResponseVo(); + // 将公共属性复制过去 + BeanUtils.copyProperties(master, orderMasterResponseVo); + // 师傅信息 + if(StringUtils.isNotNull(master.getWorkerId())){ + Worker worker = workerService.selectById(master.getWorkerId()); + orderMasterResponseVo.setWorkerName(worker.getName()); } + // 消费者信息 + Customer customer = customerService.selectByCustomerId(master.getCustomerId()); + orderMasterResponseVo.setCustomerName(customer.getName()); + + orderMasterResponseVos.add(orderMasterResponseVo); } - return voDataTable(orderDetailsResponseVoList, orderMasterList); + // 存在数据在进行数据查询处理。 + PageDomain pageDomain = TableSupport.buildPageRequest(); + if (null == pageDomain.getPageNum() || null == pageDomain.getPageSize()) + { + rspData.setRows(orderMasterResponseVos); + rspData.setTotal(orderMasterResponseVos.size()); + return rspData; + } + Integer pageNum = (pageDomain.getPageNum() - 1) * 10; + Integer pageSize = pageDomain.getPageNum() * 10; + if (pageSize > orderMasterResponseVos.size()) + { + pageSize = orderMasterResponseVos.size(); + } + rspData.setRows(orderMasterResponseVos.subList(pageNum, pageSize)); + rspData.setTotal(orderMasterResponseVos.size()); + return rspData; } @Log(title = "主订单管理", businessType = BusinessType.EXPORT) diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderMasterResponseVo.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderMasterResponseVo.java new file mode 100644 index 00000000..54249453 --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderMasterResponseVo.java @@ -0,0 +1,18 @@ +package com.ghy.web.pojo.vo; + +import com.ghy.order.domain.OrderMaster; +import lombok.Data; + +/** + * @author clunt + * 后台主单视图对象 + */ +@Data +public class OrderMasterResponseVo extends OrderMaster { + + private String workerName; + + private String customerName; + + +} diff --git a/ghy-admin/src/main/resources/templates/order/master.html b/ghy-admin/src/main/resources/templates/order/master.html index 74d91119..7a2853ab 100644 --- a/ghy-admin/src/main/resources/templates/order/master.html +++ b/ghy-admin/src/main/resources/templates/order/master.html @@ -1,12 +1,10 @@ - -
@@ -21,6 +19,12 @@
  • 订单号:
  • +
  • + 订单状态: +
  •  搜索 @@ -52,6 +56,8 @@