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 efbc979b..60ff1d8f 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 @@ -6,16 +6,21 @@ 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.ObjectUtils; import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.order.domain.OrderDetail; import com.ghy.order.service.OrderDetailService; +import com.ghy.web.pojo.vo.OrderDetailsResponseVo; +import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -43,8 +48,8 @@ public class OrderDetailController extends BaseController { @ResponseBody public TableDataInfo list(OrderDetail orderDetail) { startPage(); - List list = orderDetailService.selectOrderDetailList(orderDetail); - return getDataTable(list); + List orderDetailList = orderDetailService.selectOrderDetailList(orderDetail); + return getDataTable(orderDetailList); } @Log(title = "详细订单管理", businessType = BusinessType.EXPORT) 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 13f081b5..41390da1 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,17 +6,33 @@ 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.ObjectUtils; import com.ghy.common.utils.poi.ExcelUtil; +import com.ghy.customer.domain.Customer; +import com.ghy.customer.domain.CustomerAddress; +import com.ghy.customer.service.CustomerAddressService; +import com.ghy.customer.service.CustomerService; +import com.ghy.order.domain.OrderDetail; +import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderMaster; +import com.ghy.order.service.OrderDetailService; +import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderMasterService; +import com.ghy.web.pojo.vo.OrderDetailsResponseVo; +import com.ghy.worker.domain.Worker; +import com.ghy.worker.service.WorkerService; +import lombok.RequiredArgsConstructor; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * 主订单API @@ -25,12 +41,17 @@ import java.util.List; */ @Controller @RequestMapping("/order/master") +@RequiredArgsConstructor(onConstructor = @__(@Autowired)) public class OrderMasterController extends BaseController { private final String prefix = "order/master"; - @Resource - private OrderMasterService orderMasterService; + private final OrderMasterService orderMasterService; + private final CustomerService customerService; + private final WorkerService workerService; + private final OrderDetailService orderDetailService; + private final OrderGoodsService orderGoodsService; + private final CustomerAddressService customerAddressService; @RequiresPermissions("order:master:view") @GetMapping() @@ -43,8 +64,74 @@ public class OrderMasterController extends BaseController { @ResponseBody public TableDataInfo list(OrderMaster orderMaster) { startPage(); - List list = orderMasterService.selectOrderMasterList(orderMaster); - return getDataTable(list); + 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); + // 循环数据赋值。 + for(OrderMaster orderMasterByListData : orderMasterList){ + OrderDetailsResponseVo orderDetailsResponseVo = new OrderDetailsResponseVo(); + // 订单基本信息。 + orderDetailsResponseVo.setOrderId(orderMasterByListData.getId()); + // 基本信息。 + List orderGoodsList = longOrderGoodsMap.get(orderMasterByListData.getId()); + if(orderGoodsList != null && orderGoodsList.size() > 0){ + List orderDetailsList = new ArrayList<>(); + for(OrderGoods orderGoods : orderGoodsList){ + OrderDetailsResponseVo.OrderDetails orderDetails = OrderDetailsResponseVo.OrderDetails.modelDataSupplement(orderGoods); + 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))); + } + } + // 数据添加处理。 + orderDetailsResponseVoList.add(orderDetailsResponseVo); + } + } + return getDataTable(orderDetailsResponseVoList); } @Log(title = "主订单管理", businessType = BusinessType.EXPORT) diff --git a/ghy-admin/src/main/resources/templates/order/master.html b/ghy-admin/src/main/resources/templates/order/master.html index 844c0eea..3888f696 100644 --- a/ghy-admin/src/main/resources/templates/order/master.html +++ b/ghy-admin/src/main/resources/templates/order/master.html @@ -90,62 +90,143 @@ visible: false }, { - field: 'code', - title: '订单号' + field: 'id', + title: '序号' }, { - field: 'customerId', - title: '消费者ID' - }, - { - field: 'orderType', - title: '订单类型', - align: 'center', + field: 'detailsList', + title: '订单信息', formatter: function (value, row, index) { - return $.table.selectDictLabel(orderTypes, value); + console.log(value); + console.log(row); + console.log(index); + var actions = []; + value.forEach(item => { + actions.push("商品id:" + item.goodsId + "
"); + actions.push("商品名称:" + item.goodsName+ "
"); + actions.push("商品数量:" + item.goodsNum+ "
"); + actions.push("已服务数量:" + item.serverGoodsNum + "
"); + actions.push("完成时间:" + item.finishTime + "
"); + }) + /** 消费者相关信息 **/ + if(row.customDetails){ + actions.push("消费者Id:" + row.customDetails.customerId + "
"); + actions.push("收件人姓名:" + row.customDetails.name+ "
"); + actions.push("收件人手机:" + row.customDetails.phone + "
"); + actions.push("地址信息:" + row.customDetails.provinceName + "-" + row.customDetails.cityName + "-" + row.customDetails.countryName + "
"); + actions.push("详细地址:" + row.customDetails.address + "
"); + } + if(actions.length){ + return actions.join(''); + } } }, { - field: 'orderStatus', - title: '订单状态' - }, - { - field: 'payType', - title: '付款类型', - align: 'center', + field: 'state', + title: '订单状态', formatter: function (value, row, index) { - return $.table.selectDictLabel(payTypes, value); + var actions = []; + if(value){ + actions.push("订单状态:" + value.orderStatus + "
" ); + actions.push("订单时间:" + value.receivingTime + "
" ); + } + return actions.join(''); + } + }, + // { + // field: 'orderType', + // title: '订单类型', + // align: 'center', + // formatter: function (value, row, index) { + // return $.table.selectDictLabel(orderTypes, value); + // } + // }, + { + field: 'memo', + title: '便签', + formatter: function (value, row, index) { + if(value){ + return value.memoStr; + } } }, { - field: 'payStatus', - title: '付款状态' + field: 'detailsList', + title: '订单流转信息', + align: 'center' }, { - field: 'payTime', - title: '付款时间' + field: 'receiving', + title: '接单信息', + formatter: function (value, row, index) { + var actions = []; + if(value){ + actions.push("接单人id:" + value.receivingUserId + "
"); + actions.push("接单人姓名:" + value.receivingUserName + "
"); + actions.push("接单人电话:" + value.receivingUserPhone + "
"); + actions.push("操作人id:" + value.operationUserId + "
"); + actions.push("操作人姓名:" + value.operationUserName + "
"); + actions.push("操作人电话:" + value.operationUserPhone + "
"); + } + return actions.join(''); + } + }, + { + field: 'operationType', + title: '操作', + formatter: function (value, row, index) { + var actions = []; + actions.push('查看
'); + actions.push('查看急报
'); + actions.push('发送急报
'); + actions.push('追加扣减
'); + actions.push('师傅退单
'); + actions.push('商家退款
'); + return actions.join(''); + } }, { field: 'workerId', - title: '接单师傅ID' + title: '客诉中' }, { field: 'revTime', - title: '接单时间' + title: '商家信息', + formatter: function (value, row, index) { + var actions = []; + if(value){ + actions.push("商家id:" + value.businessId+ "
"); + actions.push("商家姓名:" + value.businessUserName+ "
"); + actions.push("商家电话:" + value.businessUserPhone+ "
"); + } + return actions.join(''); + } + }, + { + field: 'business', + title: '商家发布家' }, { field: 'createTime', - title: '创建时间', - sortable: true - }, { - title: '操作', - align: 'left', - formatter: function (value, row, index) { - var actions = []; - actions.push('详情 '); - return actions.join(''); - } - }] + title: '商家加追金额' + }, + { + field: 'createTime', + title: '代收款' + }, + { + field: 'createTime', + title: '奖励金' + }, + { + field: 'createTime', + title: '邀请人' + } + // { + // title: '操作', + // align: 'left', + // } + ] }; $.table.init(options); } diff --git a/ghy-common/src/main/java/com/ghy/common/core/page/TableDataInfo.java b/ghy-common/src/main/java/com/ghy/common/core/page/TableDataInfo.java index c32b0ea5..cd3aea96 100644 --- a/ghy-common/src/main/java/com/ghy/common/core/page/TableDataInfo.java +++ b/ghy-common/src/main/java/com/ghy/common/core/page/TableDataInfo.java @@ -5,81 +5,78 @@ import java.util.List; /** * 表格分页数据对象 - * + * * @author clunt */ -public class TableDataInfo implements Serializable -{ +public class TableDataInfo implements Serializable { private static final long serialVersionUID = 1L; - /** 总记录数 */ + /** + * 总记录数 + */ private long total; - /** 列表数据 */ + /** + * 列表数据 + */ private List rows; - /** 消息状态码 */ + /** + * 消息状态码 + */ private int code; - /** 消息内容 */ + /** + * 消息内容 + */ private String msg; /** * 表格数据对象 */ - public TableDataInfo() - { + public TableDataInfo() { } /** * 分页 - * - * @param list 列表数据 + * + * @param list 列表数据 * @param total 总记录数 */ - public TableDataInfo(List list, int total) - { + public TableDataInfo(List list, int total) { this.rows = list; this.total = total; } - public long getTotal() - { + public long getTotal() { return total; } - public void setTotal(long total) - { + public void setTotal(long total) { this.total = total; } - public List getRows() - { + public List getRows() { return rows; } - public void setRows(List rows) - { + public void setRows(List rows) { this.rows = rows; } - public int getCode() - { + public int getCode() { return code; } - public void setCode(int code) - { + public void setCode(int code) { this.code = code; } - public String getMsg() - { + public String getMsg() { return msg; } - public void setMsg(String msg) - { + public void setMsg(String msg) { this.msg = msg; } } \ No newline at end of file diff --git a/ghy-common/src/main/java/com/ghy/common/utils/DateUtils.java b/ghy-common/src/main/java/com/ghy/common/utils/DateUtils.java index 3d81df13..b2a5cf42 100644 --- a/ghy-common/src/main/java/com/ghy/common/utils/DateUtils.java +++ b/ghy-common/src/main/java/com/ghy/common/utils/DateUtils.java @@ -160,4 +160,13 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils // long sec = diff % nd % nh % nm / ns; return day + "天" + hour + "小时" + min + "分钟"; } + + /** + * 根据当前时间进行转换数据 + * 格式信息:yy-mm-dd HH:mm:ss + */ + public static String getDateTimeFormat(Date date) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); + return simpleDateFormat.format(date); + } } diff --git a/ghy-custom/src/main/java/com/ghy/customer/mapper/CustomerMapper.java b/ghy-custom/src/main/java/com/ghy/customer/mapper/CustomerMapper.java index 9482dada..e626f248 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/mapper/CustomerMapper.java +++ b/ghy-custom/src/main/java/com/ghy/customer/mapper/CustomerMapper.java @@ -1,6 +1,7 @@ package com.ghy.customer.mapper; import com.ghy.customer.domain.Customer; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -26,10 +27,10 @@ public interface CustomerMapper { * @param customerId 消费者ids * @return 删除成功条数 */ - int deleteByIds(Long [] customerId); + int deleteByIds(Long[] customerId); /** - * @param customerId 消费者id + * @param customerId 消费者id * @return 删除成功条数 */ int deleteByCustomerId(Long customerId); @@ -46,4 +47,12 @@ public interface CustomerMapper { */ int updateCustomer(Customer customer); + /** + * 根据消费者id集合信息进行批量查询数据 + * + * @param customerIdList 消费者id集合信息。 + * @return Customer实体集合信息 + */ + List getByCustomerIdList(@Param("customerIdList") List customerIdList); + } \ No newline at end of file diff --git a/ghy-custom/src/main/java/com/ghy/customer/service/CustomerAddressService.java b/ghy-custom/src/main/java/com/ghy/customer/service/CustomerAddressService.java index 68fef1d1..f03596c4 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/service/CustomerAddressService.java +++ b/ghy-custom/src/main/java/com/ghy/customer/service/CustomerAddressService.java @@ -1,8 +1,10 @@ package com.ghy.customer.service; +import com.ghy.customer.domain.Customer; import com.ghy.customer.domain.CustomerAddress; import java.util.List; +import java.util.Map; public interface CustomerAddressService { @@ -47,5 +49,4 @@ public interface CustomerAddressService { * @return 修改成功条数 */ int updateCustomerAddress(CustomerAddress customerAddress); - } diff --git a/ghy-custom/src/main/java/com/ghy/customer/service/CustomerService.java b/ghy-custom/src/main/java/com/ghy/customer/service/CustomerService.java index 688eb835..085d9d11 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/service/CustomerService.java +++ b/ghy-custom/src/main/java/com/ghy/customer/service/CustomerService.java @@ -3,6 +3,7 @@ package com.ghy.customer.service; import com.ghy.customer.domain.Customer; import java.util.List; +import java.util.Map; /** * @author clunt @@ -35,7 +36,7 @@ public interface CustomerService { int deleteByIds(String ids); /** - * @param customerId 消费者id + * @param customerId 消费者id * @return 删除成功条数 */ int deleteByCustomerId(Long customerId); @@ -52,4 +53,12 @@ public interface CustomerService { */ int updateCustomer(Customer customer); + /** + * 根据消费者id集合信息进行查询封装成为map数据, + * + * @param customerUserIdList 消费者Id集合信息数据 + * @return 键值队列数据, key-> 消费者Id value-> 消费者实体信息 + */ + Map byCustomerUseridInMap(List customerUserIdList); + } diff --git a/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerServiceImpl.java b/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerServiceImpl.java index 293b096e..9b00b54a 100644 --- a/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerServiceImpl.java +++ b/ghy-custom/src/main/java/com/ghy/customer/service/impl/CustomerServiceImpl.java @@ -9,7 +9,9 @@ import com.ghy.customer.service.CustomerService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author clunt @@ -75,6 +77,20 @@ public class CustomerServiceImpl implements CustomerService { return customerMapper.updateCustomer(customer); } + @Override + public Map byCustomerUseridInMap(List customerUserIdList) { + Map longCustomerMap = new HashMap<>(); + if(customerUserIdList != null && customerUserIdList.size() > 0){ + List customerList = customerMapper.getByCustomerIdList(customerUserIdList); + if(customerList != null && customerList.size() > 0){ + for(Customer customer : customerList){ + longCustomerMap.put(customer.getCustomerId(), customer); + } + } + } + return longCustomerMap; + } + public int countUserCustomer(Customer customer) { //TODO 需要校验用户是否在被使用。 return 0; diff --git a/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml b/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml index 61b964d5..06690134 100644 --- a/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml @@ -96,4 +96,14 @@ where customer_id = #{customerId} + + diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java index 7a173f51..2e12acf7 100644 --- a/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java @@ -1,6 +1,8 @@ package com.ghy.order.mapper; import com.ghy.order.domain.OrderDetail; +import com.ghy.order.domain.OrderGoods; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -48,4 +50,12 @@ public interface OrderDetailMapper { * @return 细单表信息 */ OrderDetail checkOrderDetailCodeUnique(String orderDetailCode); + + /** + * 根据订单id集合信息进行批量数据查询 + * + * @param orderIdList 订单Id集合信息。 + * @return OrderDetail实体集合信息。 + */ + List getByOrderIdList(@Param("orderIdList") List orderIdList); } diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderGoodsMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderGoodsMapper.java index eded8479..d8d6f8b8 100644 --- a/ghy-order/src/main/java/com/ghy/order/mapper/OrderGoodsMapper.java +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderGoodsMapper.java @@ -1,6 +1,7 @@ package com.ghy.order.mapper; import com.ghy.order.domain.OrderGoods; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -39,4 +40,11 @@ public interface OrderGoodsMapper { */ int deleteOrderGoodsByIds(Long[] orderGoodsIds); + /** + * 根据订单id集合信息进行批量数据查询 + * + * @param orderIdList 订单Id集合信息。 + * @return OrderGoods实体集合信息。 + */ + List getByOrderIdList(@Param("orderIdList") List orderIdList); } diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java index 81692d6d..7b6f8b71 100644 --- a/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java @@ -1,6 +1,8 @@ package com.ghy.order.mapper; +import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderMaster; +import org.apache.ibatis.annotations.Param; import java.util.List; 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 a4002bf0..8e078cde 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 @@ -3,6 +3,7 @@ package com.ghy.order.service; import com.ghy.order.domain.OrderDetail; import java.util.List; +import java.util.Map; /** * 详细订单接口 @@ -55,4 +56,12 @@ public interface OrderDetailService { */ String createCode(); + /** + * 根据订单id集合信息进行查询封装成为map数据, + * + * @param orderIdList 订单Id集合信息数据 + * @return 键值队列数据, key-> 订单Id value-> 订单实体集合信息 + */ + Map> byOrderIdInMap(List orderIdList); + } diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderGoodsService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderGoodsService.java index 9fc4705d..03bfe5e7 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderGoodsService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderGoodsService.java @@ -1,8 +1,10 @@ package com.ghy.order.service; +import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderGoods; import java.util.List; +import java.util.Map; /** * 订单商品属性 @@ -38,4 +40,12 @@ public interface OrderGoodsService { * @param orderGoodsIds 需要删除的数据ID */ int deleteOrderGoodsByIds(Long[] orderGoodsIds); + + /** + * 根据订单id集合信息进行查询封装成为map数据, + * + * @param orderIdList 订单Id集合信息数据 + * @return 键值队列数据, key-> 订单Id value-> 订单实体集合信息 + */ + Map> byOrderIdInMap(List orderIdList); } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 72bc83fc..662a5412 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -11,7 +11,10 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.atomic.AtomicLong; import static java.time.temporal.ChronoField.*; @@ -72,4 +75,28 @@ public class OrderDetailServiceImpl implements OrderDetailService { LocalDateTime now = LocalDateTime.now(); return "od" + now.format(MINI_FORMATTER) + INDEX.getAndIncrement(); } + + @Override + public Map> byOrderIdInMap(List orderIdList) { + Map> longByOrderDetailListMap = new HashMap<>(); + if(orderIdList != null && orderIdList.size() > 0){ + List orderDetailList = orderDetailMapper.getByOrderIdList(orderIdList); + if(orderDetailList != null && orderDetailList.size() > 0){ + for(OrderDetail orderDetail : orderDetailList){ + List orderDetailListByMapCrw = longByOrderDetailListMap.get(orderDetail.getOrderMasterId()); + if(orderDetailListByMapCrw != null && orderDetailListByMapCrw.size() > 0){ + List orderDetailListByMapNew = new ArrayList<>(); + orderDetailListByMapNew.add(orderDetail); + longByOrderDetailListMap.put(orderDetail.getOrderMasterId(), orderDetailListByMapNew); + }else { + List orderDetailListByMapNew = new ArrayList<>(); + orderDetailListByMapNew.add(orderDetail); + longByOrderDetailListMap.put(orderDetail.getOrderMasterId(), orderDetailListByMapNew); + } + } + } + } + return longByOrderDetailListMap; + } + } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderGoodsServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderGoodsServiceImpl.java index 45e31698..3188764e 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderGoodsServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderGoodsServiceImpl.java @@ -1,5 +1,6 @@ package com.ghy.order.service.impl; +import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderGoods; import com.ghy.order.mapper.OrderGoodsMapper; import com.ghy.order.service.OrderGoodsService; @@ -8,7 +9,10 @@ import org.springframework.stereotype.Service; import org.springframework.util.Assert; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Slf4j @Service @@ -42,4 +46,27 @@ public class OrderGoodsServiceImpl implements OrderGoodsService { public int deleteOrderGoodsByIds(Long[] orderGoodsIds) { return orderGoodsMapper.deleteOrderGoodsByIds(orderGoodsIds); } + + @Override + public Map> byOrderIdInMap(List orderIdList) { + Map> longByOrderGoodsListMap = new HashMap<>(); + if(orderIdList != null && orderIdList.size() > 0){ + List orderGoodsList = orderGoodsMapper.getByOrderIdList(orderIdList); + if(orderGoodsList != null && orderGoodsList.size() > 0){ + for(OrderGoods orderGoods : orderGoodsList){ + List orderDetailListByMapCrw = longByOrderGoodsListMap.get(orderGoods.getOrderId()); + if(orderDetailListByMapCrw != null && orderDetailListByMapCrw.size() > 0){ + List orderDetailListByMapNew = new ArrayList<>(); + orderDetailListByMapNew.add(orderGoods); + longByOrderGoodsListMap.put(orderGoods.getOrderId(), orderDetailListByMapNew); + }else { + List orderDetailListByMapNew = new ArrayList<>(); + orderDetailListByMapNew.add(orderGoods); + longByOrderGoodsListMap.put(orderGoods.getOrderId(), orderDetailListByMapNew); + } + } + } + } + return longByOrderGoodsListMap; + } } diff --git a/ghy-order/src/main/java/com/ghy/order/vo/OrderDetailsResponseVo.java b/ghy-order/src/main/java/com/ghy/order/vo/OrderDetailsResponseVo.java deleted file mode 100644 index fd189c08..00000000 --- a/ghy-order/src/main/java/com/ghy/order/vo/OrderDetailsResponseVo.java +++ /dev/null @@ -1,183 +0,0 @@ -package com.ghy.order.vo; - -import lombok.*; -import lombok.experimental.Accessors; - -import java.io.Serializable; - - -/** - * @author : 但星霖 - * @date : 2022-05-30 20:04 - * 订单列表返回数据vo - */ -@Data -@ToString -@NoArgsConstructor -@AllArgsConstructor -@Accessors(chain = true) -public class OrderDetailsResponseVo implements Serializable { - - /** - * 序号 - */ - private Long id; - - /** - * 商户ID - */ - private Long deptId; - - /** - * 订单编码 - */ - private String code; - - /** - * 订单状态 - */ - private OrderState state; - - /** - * 便签数据 - */ - private OrderMemo memo; - - /** - * 订单流转信息, - */ - private OrderCirculation circulation; - - /** - * 商家信息 - */ - private OrderBusiness business; - - /** - * 接单数据信息 - */ - private OrderReceiving receiving; - - /** - * 订单状态 - */ - @Data - @EqualsAndHashCode(callSuper = false) - public static class OrderState { - - /** - * 订单状态 - */ - private Integer orderStatus; - - /** - * 时间 - * 对应不同对状态展现不同对时间数据。 - * 发布时间/接单时间/完成时间 - * 格式为转移后对yyyy-mm-dd hh:ss:mm - */ - private String receivingTime; - - - /** - * 修改上门时间次数 - * 单一字段展现。 - */ - private Integer doorFrequency; - } - - /** - * 便签数据 - */ - @Data - @EqualsAndHashCode(callSuper = false) - public static class OrderMemo { - /** - * 便签数据 - */ - private String memoStr; - } - - - /** - * 流转信息 - */ - @Data - @EqualsAndHashCode(callSuper = false) - public static class OrderCirculation { - /** - * 流转信息文本数据 - */ - private String circulationStr; - - /** - * 流转信息管理员Id - */ - private String circulationUserId; - } - - /** - * 商家信息 - */ - @Data - @EqualsAndHashCode(callSuper = false) - public static class OrderBusiness { - /** - * 商家id - */ - private String businessId; - - /** - * 商家姓名 - */ - private String businessUserName; - - /** - * 商家电话 - */ - private String businessUserPhone; - } - - /** - * 接单信息 - */ - @Data - @EqualsAndHashCode(callSuper = false) - public static class OrderReceiving { - /** - * 接单人用户Id - */ - private String receivingUserId; - - /** - * 接单人用户姓名 - */ - private String receivingUserName; - - /** - * 接单人用户电话 - */ - private String receivingUserPhone; - - /** - * 操作人用户Id - */ - private String operationUserId; - - /**信· - * 操作人用户姓名 - */ - private String operationUserName; - - /** - * 操作人用户电话 - */ - private String operationUserPhone; - - } - - - - - -} diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml index d723c9ae..65c4bbeb 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml @@ -130,4 +130,14 @@ WHERE `code` =#{orderDetailCode} LIMIT 1 + + \ No newline at end of file diff --git a/ghy-order/src/main/resources/mapper/order/OrderGoodsMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderGoodsMapper.xml index a6800345..162f0646 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderGoodsMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderGoodsMapper.xml @@ -94,4 +94,14 @@ + + diff --git a/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java b/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java index e67dbc84..99c71e4f 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java +++ b/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java @@ -1,6 +1,7 @@ package com.ghy.worker.mapper; import com.ghy.worker.domain.Worker; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -30,4 +31,12 @@ public interface WorkerMapper { * @param workerId 师傅ID */ Worker selectById(Long workerId); + + /** + * 根据师傅id集合信息进行批量数据查询 + * + * @param workIdList 师傅Id集合信息。 + * @return Worker实体集合信息。 + */ + List getByWorkIdList(@Param("workIdList") List workIdList); } diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java index bf366e09..6b76d862 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java +++ b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java @@ -3,6 +3,7 @@ package com.ghy.worker.service; import com.ghy.worker.domain.Worker; import java.util.List; +import java.util.Map; public interface WorkerService { @@ -44,4 +45,12 @@ public interface WorkerService { * @param workerId workerId */ boolean checkInTeam(Long leaderId, Long workerId); + + /** + * 根据师傅id集合信息进行查询封装成为map数据, + * + * @param workUserIdList 师傅Id集合信息数据 + * @return 键值队列数据, key-> 师傅Id value-> 师傅实体信息 + */ + Map byWorkUserIdInMap(List workUserIdList); } diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java index 94dff6ba..01a808ca 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java +++ b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java @@ -10,7 +10,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service public class WorkerServiceImpl implements WorkerService { @@ -58,4 +60,18 @@ public class WorkerServiceImpl implements WorkerService { List teams = workerTeamMapper.getWorkerTeamList(query); return !CollectionUtils.isEmpty(teams); } + + @Override + public Map byWorkUserIdInMap(List workUserIdList) { + Map longWorkerMap = new HashMap<>(); + if(workUserIdList != null && workUserIdList.size() > 0){ + List workerList = workerMapper.getByWorkIdList(workUserIdList); + if(workerList != null && workerList.size() > 0){ + for(Worker worker : workerList){ + longWorkerMap.put(worker.getWorkerId(), worker); + } + } + } + return longWorkerMap; + } } diff --git a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml index 8c2f1f57..82905ad5 100644 --- a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml +++ b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml @@ -79,4 +79,14 @@ where worker_id = #{workerId} + +