From 2bb9d1ee0a73cea6f8e7b957e34278865566a1c6 Mon Sep 17 00:00:00 2001 From: "kuang.yifei@iwhalecloud.com" Date: Wed, 1 Jun 2022 13:48:36 +0800 Subject: [PATCH 1/5] fix bug --- .../com/ghy/web/controller/order/OrderController.java | 10 ++++++++-- .../src/main/java/com/ghy/goods/domain/Goods.java | 3 +++ .../src/main/resources/mapper/goods/GoodsMapper.xml | 5 ++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index 6c99805d..afe7ca74 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -2,6 +2,8 @@ package com.ghy.web.controller.order; import com.ghy.common.core.controller.BaseController; import com.ghy.common.core.domain.AjaxResult; +import com.ghy.common.enums.OrderStatus; +import com.ghy.common.enums.PayStatus; import com.ghy.common.utils.StringUtils; import com.ghy.customer.domain.Customer; import com.ghy.customer.service.CustomerService; @@ -180,6 +182,8 @@ public class OrderController extends BaseController { Set goodsStandardIds = appGoodsList.stream().map(AppGoodsRequest::getGoodsStandardId).collect(Collectors.toSet()); // 所有商品 List goodsList = goodsStandardService.selectByIds(goodsStandardIds); + // 商品所属师傅 + Goods goods = goodsService.selectById(goodsList.get(0).getGoodsId()); // 商户ID Long deptId = appOrderRequest.getDeptId(); Assert.notNull(deptId, "deptId is null!"); @@ -189,10 +193,12 @@ public class OrderController extends BaseController { orderMaster.setDeptId(deptId); orderMaster.setCode(orderMasterService.createOrderCode()); orderMaster.setOrderType(1); - orderMaster.setOrderStatus(0); + orderMaster.setPayType(appOrderRequest.getPayType()); + orderMaster.setOrderStatus(OrderStatus.PLAIN.getCode()); orderMaster.setCustomerId(appOrderRequest.getCustomerId()); - orderMaster.setPayStatus(0); + orderMaster.setPayStatus(PayStatus.WAIT_PAY.getCode()); orderMaster.setCreateTime(new Date()); + orderMaster.setWorkerId(goods.getWorkerId()); orderMasterService.insertOrderMaster(orderMaster); Assert.notNull(orderMaster.getId(), "OrderMaster.id is null!"); diff --git a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java index 124802f3..ed634136 100644 --- a/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java +++ b/ghy-goods/src/main/java/com/ghy/goods/domain/Goods.java @@ -33,6 +33,9 @@ public class Goods extends BaseEntity { @Excel(name = "商品排序", cellType = Excel.ColumnType.NUMERIC) private Integer goodsSort; + @Excel(name = "归属师傅", cellType = Excel.ColumnType.NUMERIC) + private Long workerId; + @Excel(name = "类别id,必须是关联到系统的第三级目录") private Long deptGoodsCategoryId; diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml index 4b61e7c2..fd977b08 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -9,6 +9,7 @@ + @@ -21,7 +22,7 @@ - SELECT goods_id, goods_code, dept_id, goods_name, goods_sort, + SELECT goods_id, goods_code, dept_id, goods_name, goods_sort, worker_id, dept_goods_category_id, goods_img_url, goods_video_url, status, create_by, create_time, remark FROM goods @@ -54,6 +55,7 @@ dept_id, goods_name, goods_sort, + worker_id, dept_goods_category_id, goods_img_url, goods_video_url, @@ -66,6 +68,7 @@ #{deptId}, #{goodsName}, #{goodsSort}, + #{workerId}, #{deptGoodsCategoryId}, #{goodsImgUrl}, #{goodsVideoUrl}, From 07fde0c9620f0e75e7512eed3e733aeeeaeb19a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=86=E6=98=9F=E9=9C=96?= <729219176@qq.com> Date: Wed, 1 Jun 2022 14:50:58 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95Vo=E6=95=B0=E6=8D=AE/?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=A1=B5=E9=9D=A2=E8=A1=A5=E5=85=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/OrderDetailController.java | 9 +- .../order/OrderMasterController.java | 95 ++++++++- .../resources/templates/order/master.html | 151 +++++++++++---- .../ghy/common/core/page/TableDataInfo.java | 55 +++--- .../java/com/ghy/common/utils/DateUtils.java | 9 + .../ghy/customer/mapper/CustomerMapper.java | 13 +- .../service/CustomerAddressService.java | 3 +- .../ghy/customer/service/CustomerService.java | 11 +- .../service/impl/CustomerServiceImpl.java | 16 ++ .../mapper/customer/CustomerMapper.xml | 10 + .../ghy/order/mapper/OrderDetailMapper.java | 10 + .../ghy/order/mapper/OrderGoodsMapper.java | 8 + .../ghy/order/mapper/OrderMasterMapper.java | 2 + .../ghy/order/service/OrderDetailService.java | 9 + .../ghy/order/service/OrderGoodsService.java | 10 + .../service/impl/OrderDetailServiceImpl.java | 27 +++ .../service/impl/OrderGoodsServiceImpl.java | 27 +++ .../ghy/order/vo/OrderDetailsResponseVo.java | 183 ------------------ .../mapper/order/OrderDetailMapper.xml | 10 + .../mapper/order/OrderGoodsMapper.xml | 10 + .../com/ghy/worker/mapper/WorkerMapper.java | 9 + .../com/ghy/worker/service/WorkerService.java | 9 + .../service/impl/WorkerServiceImpl.java | 16 ++ .../resources/mapper/worker/WorkerMapper.xml | 10 + 24 files changed, 455 insertions(+), 257 deletions(-) delete mode 100644 ghy-order/src/main/java/com/ghy/order/vo/OrderDetailsResponseVo.java 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} + + From ea52a9b46957687818f96096a39c5bc03b5a0e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=86=E6=98=9F=E9=9C=96?= <729219176@qq.com> Date: Wed, 1 Jun 2022 15:41:30 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95Vo=E6=95=B0=E6=8D=AE/?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=A1=B5=E9=9D=A2=E8=A1=A5=E5=85=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 2 +- .../resources/templates/order/master.html | 2 +- .../com/ghy/common/enums/OrderStatus.java | 62 ++++++++++++++++--- 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index afe7ca74..ebb24e65 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -194,7 +194,7 @@ public class OrderController extends BaseController { orderMaster.setCode(orderMasterService.createOrderCode()); orderMaster.setOrderType(1); orderMaster.setPayType(appOrderRequest.getPayType()); - orderMaster.setOrderStatus(OrderStatus.PLAIN.getCode()); + orderMaster.setOrderStatus(OrderStatus.PLAIN.code()); orderMaster.setCustomerId(appOrderRequest.getCustomerId()); orderMaster.setPayStatus(PayStatus.WAIT_PAY.getCode()); orderMaster.setCreateTime(new Date()); diff --git a/ghy-admin/src/main/resources/templates/order/master.html b/ghy-admin/src/main/resources/templates/order/master.html index 3888f696..65dcf31b 100644 --- a/ghy-admin/src/main/resources/templates/order/master.html +++ b/ghy-admin/src/main/resources/templates/order/master.html @@ -127,7 +127,7 @@ formatter: function (value, row, index) { var actions = []; if(value){ - actions.push("订单状态:" + value.orderStatus + "
" ); + actions.push("订单状态:" + value.orderStatusDesc + "
" ); actions.push("订单时间:" + value.receivingTime + "
" ); } return actions.join(''); diff --git a/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java b/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java index 82800ab8..b8158b35 100644 --- a/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java +++ b/ghy-common/src/main/java/com/ghy/common/enums/OrderStatus.java @@ -1,11 +1,17 @@ package com.ghy.common.enums; +import org.apache.commons.lang3.StringUtils; + +import java.util.Arrays; +import java.util.Map; +import java.util.stream.Collectors; + /** * 订单状态 * * @author clunt */ -public enum OrderStatus { +public enum OrderStatus implements IEnumType { RECEIVE(0, "待接单"), PLAIN(1, "待排期"), @@ -14,20 +20,62 @@ public enum OrderStatus { FINISH(4, "已完成"), CANCEL(5, "已取消"); - private final Integer code; + private final int code; private final String desc; - OrderStatus(Integer code, String desc) { + private final static Map BY_CODE_MAP + = Arrays.stream(OrderStatus.values()).collect(Collectors.toMap(OrderStatus::code, code -> code)); + + private final static Map BY_NAME_MAP + = Arrays.stream(OrderStatus.values()).collect(Collectors.toMap(code -> code.name().toLowerCase(), code -> code)); + + + /** + * @param code 代码 + * @param desc 描述 + */ + OrderStatus(final int code, final String desc) { this.code = code; this.desc = desc; } - public Integer getCode() { - return code; + @Override + public int code() { + return this.code; } - public String getDesc() { - return desc; + @Override + public String desc() { + return this.desc; } + /** + * @param code 代码 + * @return 转换出来的状态码 + */ + public static OrderStatus parse(Integer code) { + return BY_CODE_MAP.get(code); + } + + public static OrderStatus parse(Integer code, OrderStatus defaultState) { + return BY_CODE_MAP.getOrDefault(code, defaultState); + } + + /** + * @param name 名字 + * @return 转换出来的状态码 + */ + public static OrderStatus parse(String name) { + if (StringUtils.isBlank(name)) { + return null; + } + return BY_NAME_MAP.get(name.trim().toLowerCase()); + } + + public static OrderStatus parse(String name, OrderStatus defaultState) { + if (StringUtils.isBlank(name)) { + return defaultState; + } + return BY_NAME_MAP.getOrDefault(name.trim().toLowerCase(), defaultState); + } } From 4d9d30bde0f892176f58aa1a2eb525bbbe2e9bea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=86=E6=98=9F=E9=9C=96?= <729219176@qq.com> Date: Wed, 1 Jun 2022 15:48:19 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95Vo=E6=95=B0=E6=8D=AE/?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=A1=B5=E9=9D=A2=E8=A1=A5=E5=85=85=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/pojo/vo/OrderDetailsResponseVo.java | 356 ++++++++++++++++++ .../java/com/ghy/common/enums/IEnumType.java | 19 + .../com/ghy/common/utils/ObjectUtils.java | 70 ++++ 3 files changed, 445 insertions(+) create mode 100644 ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderDetailsResponseVo.java create mode 100644 ghy-common/src/main/java/com/ghy/common/enums/IEnumType.java create mode 100644 ghy-common/src/main/java/com/ghy/common/utils/ObjectUtils.java diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderDetailsResponseVo.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderDetailsResponseVo.java new file mode 100644 index 00000000..156c84db --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderDetailsResponseVo.java @@ -0,0 +1,356 @@ +package com.ghy.web.pojo.vo; + +import com.ghy.common.enums.OrderStatus; +import com.ghy.common.utils.DateUtils; +import com.ghy.common.utils.ObjectUtils; +import com.ghy.customer.domain.CustomerAddress; +import com.ghy.order.domain.OrderGoods; +import com.ghy.order.domain.OrderMaster; +import com.ghy.worker.domain.Worker; +import lombok.*; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.List; + + +/** + * @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 Long orderId; + + /** + * 订单消费者信息。 + */ + private OrderCustomDetails customDetails; + + /** + * 订单详细信息 + */ + private List detailsList; + + /** + * 订单状态 + */ + 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; + + /** + * 订单枚举 + */ + private OrderStatus orderStatusEnum; + + /** + * 订单枚举翻译 + */ + private String orderStatusDesc; + + /** + * 时间 + * 对应不同对状态展现不同对时间数据。 + * 发布时间/接单时间/完成时间 + * 格式为转移后对yyyy-mm-dd hh:ss:mm + */ + private String receivingTime; + + /** + * 修改上门时间次数 + * 单一字段展现。 + */ + private Integer doorFrequency; + + public static OrderState modelDataSupplement(OrderMaster orderMaster){ + OrderState orderState = new OrderState(); + orderState.setOrderStatus(orderMaster.getOrderStatus()); + if(ObjectUtils.isNotNull(orderMaster.getOrderStatus())){ + OrderStatus orderStatusByEnum = OrderStatus.parse(orderMaster.getOrderStatus()); + if(ObjectUtils.isNotNull(orderStatusByEnum)){ + orderState.setOrderStatusEnum(orderStatusByEnum); + orderState.setOrderStatus(orderStatusByEnum.code()); + orderState.setOrderStatusDesc(orderStatusByEnum.desc()); + } + } + if(ObjectUtils.isNull(orderState.getReceivingTime())){ + orderState.setReceivingTime("--"); + }else { + orderState.setReceivingTime(orderState.getReceivingTime()); + } + // todo 此处缺少上门次数字段。 + return orderState; + } + + } + + /** + * 便签数据 + */ + @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 Long receivingUserId; + + /** + * 接单人用户姓名 + */ + private String receivingUserName; + + /** + * 接单人用户电话 + */ + private String receivingUserPhone; + + /** + * 操作人用户Id + */ + private Long operationUserId; + + /** + * 操作人用户姓名 + */ + private String operationUserName; + + /** + * 操作人用户电话 + */ + private String operationUserPhone; + + public static OrderReceiving modelDataSupplement(Worker workerByReceiving, Worker workerByOperation){ + OrderReceiving orderReceiving = new OrderReceiving(); + // 接单人 + if(ObjectUtils.isNotNull(workerByReceiving)){ + orderReceiving.setReceivingUserId(workerByReceiving.getWorkerId()); + orderReceiving.setReceivingUserName(workerByReceiving.getName()); + orderReceiving.setReceivingUserPhone(workerByReceiving.getPhone()); + } + // 操作人 + if(ObjectUtils.isNotNull(workerByOperation)){ + orderReceiving.setOperationUserId(workerByReceiving.getWorkerId()); + orderReceiving.setOperationUserName(workerByReceiving.getName()); + orderReceiving.setOperationUserPhone(workerByReceiving.getPhone()); + } + return orderReceiving; + } + + } + + /** + * 订单详情 + */ + @Data + @EqualsAndHashCode(callSuper = false) + public static class OrderDetails { + /** + * 商品规格id + */ + private Long goodsId; + + /** + * 商品名称 + */ + private String goodsName; + + /** + * 商品数量 + */ + private Integer goodsNum; + + /** + * 已服务数量 + */ + private Integer serverGoodsNum; + + /** + * 完成时间 + */ + private String finishTime; + + public static OrderDetails modelDataSupplement(OrderGoods orderGoods){ + OrderDetails orderDetails = new OrderDetails(); + if(ObjectUtils.isNotNull(orderGoods)){ + orderDetails.setGoodsId(orderGoods.getGoodsId()); + orderDetails.setGoodsName(orderGoods.getGoodsName()); + orderDetails.setGoodsNum(orderGoods.getGoodsNum()); + orderDetails.setServerGoodsNum(orderGoods.getServerGoodsNum()); + if(ObjectUtils.isNotNull(orderGoods.getFinishTime())){ + orderDetails.setFinishTime(DateUtils.getDateTimeFormat(orderGoods.getFinishTime())); + }else { + orderDetails.setFinishTime("--"); + } + } + return orderDetails; + } + } + + + /** + * 订单消费者信息 + */ + @Data + @EqualsAndHashCode(callSuper = false) + public static class OrderCustomDetails { + /** + * 消费者id + */ + private Long customerId; + + /** + * 收件人姓名 + */ + private String name; + + /** + * 收件人手机号 + */ + private String phone; + + /** + * 省 + */ + private String provinceName; + + /** + * 市 + */ + private String cityName; + + /** + * 区 + */ + private String countryName; + + /** + * 详细地址 + */ + private String address; + + public static OrderCustomDetails modelDataSupplement(CustomerAddress customerAddress){ + OrderCustomDetails orderCustomDetails = new OrderCustomDetails(); + if(ObjectUtils.isNotNull(customerAddress)){ + orderCustomDetails.setCustomerId(customerAddress.getCustomerId()); + orderCustomDetails.setAddress(customerAddress.getAddress()); + orderCustomDetails.setCityName(customerAddress.getCityName()); + orderCustomDetails.setPhone(customerAddress.getPhone()); + orderCustomDetails.setProvinceName(customerAddress.getProvinceName()); + orderCustomDetails.setName(customerAddress.getName()); + orderCustomDetails.setCountryName(customerAddress.getCountryName()); + } + return orderCustomDetails; + } + } + + + +} diff --git a/ghy-common/src/main/java/com/ghy/common/enums/IEnumType.java b/ghy-common/src/main/java/com/ghy/common/enums/IEnumType.java new file mode 100644 index 00000000..3e16fd12 --- /dev/null +++ b/ghy-common/src/main/java/com/ghy/common/enums/IEnumType.java @@ -0,0 +1,19 @@ +package com.ghy.common.enums; + +/** + * 为了能统一处理数据库中定义的各种状态,状态枚举都需要实现此接口 + * + * @author chunhao.guo + * @date 2020-03-11 + */ +public interface IEnumType { + /** + * 数据库中定义的 数字 状态码 + */ + int code(); + + /** + * 简单描述 + */ + String desc(); +} diff --git a/ghy-common/src/main/java/com/ghy/common/utils/ObjectUtils.java b/ghy-common/src/main/java/com/ghy/common/utils/ObjectUtils.java new file mode 100644 index 00000000..4ed36908 --- /dev/null +++ b/ghy-common/src/main/java/com/ghy/common/utils/ObjectUtils.java @@ -0,0 +1,70 @@ +package com.ghy.common.utils; + +import java.lang.reflect.Array; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; + +/** + * 对象工具类 + * @since 2022-05-31 + * @author 但星霖 + */ +public class ObjectUtils { + + /** + * 判断object是否为空,集合会校验size + */ + public static boolean isNull(Object... objs) { + for (Object obj : objs) { + if (isEmpty(obj)) { + return true; + } + } + return false; + } + + /** + * 判断object是否不为空,集合会校验size + */ + public static boolean isNotNull(Object... obj) { + return !isNull(obj); + } + + /** + * 对象非空判断 + */ + public static boolean isNotEmpty(Object obj) { + return !isEmpty(obj); + } + + /** + * 对象空判断 + */ + public static boolean isEmpty(Object obj) { + if (obj == null) { + return true; + } + + if (obj.getClass().isArray()) { + return Array.getLength(obj) == 0; + } + if (obj instanceof CharSequence) { + return ((CharSequence) obj).length() == 0; + } + if (obj instanceof Collection) { + return ((Collection) obj).isEmpty(); + } + if (obj instanceof Map) { + return ((Map) obj).isEmpty(); + } + if (obj instanceof Iterable) { + return !((Iterable) obj).iterator().hasNext(); + } + if (obj instanceof Iterator) { + return !((Iterator) obj).hasNext(); + } + // else + return false; + } +} From 4fbe5a069840b31eec0bdd22b678175eb9c70f40 Mon Sep 17 00:00:00 2001 From: "kuang.yifei@iwhalecloud.com" Date: Wed, 1 Jun 2022 16:20:50 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=B8=88=E5=82=85=E5=9B=A2=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worker/WorkerTeamController.java | 51 +++++++++++++++++++ .../ghy/worker/service/WorkerTeamService.java | 18 +++++++ .../service/impl/WorkerTeamServiceImpl.java | 29 +++++++++++ 3 files changed, 98 insertions(+) create mode 100644 ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerTeamController.java create mode 100644 ghy-worker/src/main/java/com/ghy/worker/service/WorkerTeamService.java create mode 100644 ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerTeamServiceImpl.java diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerTeamController.java b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerTeamController.java new file mode 100644 index 00000000..aac01190 --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerTeamController.java @@ -0,0 +1,51 @@ +package com.ghy.web.controller.worker; + +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.utils.ExceptionUtil; +import com.ghy.worker.domain.WorkerTeam; +import com.ghy.worker.service.WorkerTeamService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.annotation.Resource; +import java.util.List; + +@Controller +@RequestMapping("/worker/team") +public class WorkerTeamController extends BaseController { + + @Resource + private WorkerTeamService workerTeamService; + + @PostMapping("/addTeam") + @ResponseBody + public AjaxResult addTeam(@RequestBody WorkerTeam workerTeam){ + try { + int result = workerTeamService.insertWorkerTeam(workerTeam); + if(result > 0){ + return AjaxResult.success("新增成功"); + }else { + return AjaxResult.warn("新增失败"); + } + }catch (Exception e){ + e.printStackTrace(); + logger.error(e.getMessage()); + return AjaxResult.error(ExceptionUtil.getExceptionMessage(e)); + } + } + + @PostMapping("/getTeamList") + @ResponseBody + public TableDataInfo getTeamList(@RequestBody WorkerTeam workerTeam){ + startPage(); + List list = workerTeamService.getWorkerTeam(workerTeam); + return getDataTable(list); + } + +} + diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/WorkerTeamService.java b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerTeamService.java new file mode 100644 index 00000000..feef8e28 --- /dev/null +++ b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerTeamService.java @@ -0,0 +1,18 @@ +package com.ghy.worker.service; + +import com.ghy.worker.domain.WorkerTeam; + +import java.util.List; + +/** + * + * 师傅团队 + * @author clunt + */ +public interface WorkerTeamService { + + public List getWorkerTeam(WorkerTeam workerTeam); + + public int insertWorkerTeam(WorkerTeam workerTeam); + +} diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerTeamServiceImpl.java b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerTeamServiceImpl.java new file mode 100644 index 00000000..4cddbe5c --- /dev/null +++ b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerTeamServiceImpl.java @@ -0,0 +1,29 @@ +package com.ghy.worker.service.impl; + +import com.ghy.worker.domain.WorkerTeam; +import com.ghy.worker.mapper.WorkerTeamMapper; +import com.ghy.worker.service.WorkerTeamService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Slf4j +@Service +public class WorkerTeamServiceImpl implements WorkerTeamService { + + @Resource + private WorkerTeamMapper workerTeamMapper; + + @Override + public List getWorkerTeam(WorkerTeam workerTeam) { + return workerTeamMapper.getWorkerTeamList(workerTeam); + } + + @Override + public int insertWorkerTeam(WorkerTeam workerTeam) { + return workerTeamMapper.insertWorkerTeam(workerTeam); + } + +}