From ddaf344907e8545a133ee5a56e716b6db405f059 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Tue, 26 Dec 2023 10:14:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/order/OrderController.java | 2 +- .../order/OrderMasterController.java | 20 +++++++++- .../mapper/order/OrderMasterMapper.xml | 9 ++++- .../impl/OrderAlertTaskServiceImpl.java | 40 +++++++++++++++++++ .../quartz/service/impl/OrderServiceImpl.java | 20 ++++++---- 5 files changed, 80 insertions(+), 11 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 77b0cb82..fffbcf16 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 @@ -207,7 +207,7 @@ public class OrderController extends BaseController { goods.setGoodsName(request.getGoodsBrand()); goods.setGoodsImgUrl(request.getImageUrl()); goods.setGoodsVideoUrl(request.getVideoUrl()); - goods.setDeptGoodsCategoryId(request.getCategoryId3()); + goods.setDeptGoodsCategoryId(request.getOrderGoodsStandards().get(0).getDeptCategoryId()); goods.setStatus(1); goods.setRemark(request.getRemark()); goodsService.insertGoods(goods); 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 29ad4201..297f4a4a 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 @@ -262,6 +262,24 @@ public class OrderMasterController extends BaseController { GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId()); Goods goods = goodsService.selectById(goodsStandard.getGoodsId()); + // 填充商品三级类目 + if(goods.getDeptGoodsCategoryId() != null){ + DeptGoodsCategory deptGoodsCategory = deptGoodsCategoryService.get(goods.getDeptGoodsCategoryId()); + if(deptGoodsCategory != null){ + GoodsCategory one = goodsCategoryService.selectById(deptGoodsCategory.getGoodsCategoryId()); + if(one != null && one.getParentCategoryId() != null){ + GoodsCategory two = goodsCategoryService.selectById(one.getParentCategoryId()); + if(two != null && two.getParentCategoryId() != null){ + GoodsCategory three = goodsCategoryService.selectById(two.getParentCategoryId()); + if(three != null){ + master.setConsoleGoodsName("【" + three.getGoodsCategoryName() + + "-" + two.getGoodsCategoryName() + + "-" + one.getGoodsCategoryName() + "】"); + } + } + } + } + } // 财务信息 FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId()); @@ -301,7 +319,7 @@ public class OrderMasterController extends BaseController { orderListResponse.setGoodsBrand(master.getGoodsBrand()); orderListResponse.setGoodsSpecification(master.getGoodsSpecification()); orderListResponse.setOrderMasterId(master.getId()); - orderListResponse.setGoodsName(goods.getGoodsName()); + orderListResponse.setGoodsName(master.getConsoleGoodsName()); orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney()); orderListResponse.setTotalMoney(financialMaster.getTotalMoney()); diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index a5caa8ce..edaadd37 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -179,6 +179,12 @@ AND om.create_time <= #{createTimeEnd} + + AND om.update_time >= #{updateTimeStart} + + + AND om.update_time <= #{updateTimeEnd} + AND om.id in (${orderMasterIds}) @@ -465,7 +471,8 @@ UPDATE order_master - SET worker_id = NULL + SET worker_id = NULL, + update_time = SYSDATE() WHERE id = #{id} diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderAlertTaskServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderAlertTaskServiceImpl.java index d8c9cc62..3cbb2a7b 100644 --- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderAlertTaskServiceImpl.java +++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderAlertTaskServiceImpl.java @@ -90,5 +90,45 @@ public class OrderAlertTaskServiceImpl implements OrderAlertTaskService { } } } + + + orderMaster.setCreateTimeStart(null); + orderMaster.setCreateTimeEnd(null); + orderMaster.setUpdateTimeStart(LocalDateTime.parse(startTime, df)); + orderMaster.setUpdateTimeEnd(LocalDateTime.parse(endTime, df)); + List updateOrderMasters = orderMasterService.selectOrderMasterList(orderMaster); + if(CollectionUtils.isNotEmpty(updateOrderMasters)){ + List addressList = updateOrderMasters.stream().map(OrderMaster::getAddressId).collect(Collectors.toList()); + CustomerAddress customerAddress = new CustomerAddress(); + customerAddress.setCustomerAddressIds(addressList); + List customerAddresses = customerAddressService.getCustomerAddressList(customerAddress); + if(CollectionUtils.isNotEmpty(customerAddresses)){ + List cityIds = customerAddresses.stream().map(CustomerAddress::getCityId).collect(Collectors.toList()); + WorkerArea workerArea = new WorkerArea(); + workerArea.setCityIds(cityIds); + List workerAreaList = workerAreaService.getWorkerAreaList(workerArea); + List workIds = workerAreaList.stream().map(WorkerArea::getWorkerId).distinct().collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(workIds)){ + workIds.forEach(model->{ + // 通知师傅新订单 + try { + Worker assignWorker = workerService.selectById(model); + // 消息组装。 + Map paramsNew = new HashMap<>(); + // 订单编号 + paramsNew.put("character_string6", "newOrder"); + // 名称 + paramsNew.put("thing14", "需求大厅有新订单哦,请尽快查看"); + // 预约时间 + paramsNew.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date())); + // 消息推送 + WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, paramsNew); + } catch (Exception e) { + e.printStackTrace(); + } + }); + } + } + } } } diff --git a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java index d9d53893..6814b3c1 100644 --- a/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java +++ b/ghy-quartz/src/main/java/com/ghy/quartz/service/impl/OrderServiceImpl.java @@ -90,7 +90,13 @@ public class OrderServiceImpl implements OrderService { if (ZERO.equals(order.getOrderStatus())) { Date createTime = order.getCreateTime(); Date overTime30min = getOverTime(createTime, 30 * 60 * 1000); - Date overTime1h = getOverTime(createTime, 60 * 60 * 1000); + Date overTime1h = getOverTime(createTime, 30 * 60 * 1000); + boolean flag; + if(order.getUpdateTime() != null){ + flag = getOverTime(order.getUpdateTime(), 30 * 60 * 1000).before(now); + }else { + flag = getOverTime(createTime, 30 * 60 * 1000).before(now); + } // 是否已经超时 boolean timeout = ONE.equals(order.getTimeout()); if (!timeout) { @@ -101,13 +107,11 @@ public class OrderServiceImpl implements OrderService { timeout = true; } } - if (timeout) { - if (overTime1h.before(now) && order.getWorkerId() != null) { - log.info("主订单[{}]超时60分钟", order.getId()); - // 已超时 60min后取消超时状态 清空workerId - orderMasterService.updateTimeout(order.getId(), 0); - orderMasterService.removeWorker(order.getId()); - } + if (flag && order.getWorkerId() != null) { + log.info("主订单[{}]超时60分钟", order.getId()); + // 已超时 60min后取消超时状态 清空workerId + orderMasterService.updateTimeout(order.getId(), 0); + orderMasterService.removeWorker(order.getId()); } return; }