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 5955b4b9..d96e8600 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 @@ -358,6 +358,15 @@ public class OrderController extends BaseController { .setWorkerId(assignWorker.getWorkerId()).setWorkerName(assignWorker.getName()).setBehavior(OrderBehaviorEnum.ASSIGN_ORDER); orderBehaviorService.insert(orderBehavior); + // 通知师傅新订单 + try { + Map params = new HashMap<>(); + params.put("thing1", "新订单通知"); + params.put("thing5", "收到师傅派单,请及时处理!"); + wxMsgService.sendWxMsg(acceptWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params); + }catch (Exception e){ + e.printStackTrace(); + } return AjaxResult.success(); } 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 398e2ce1..bed6eccd 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 @@ -692,6 +692,19 @@ public class OrderDetailController extends BaseController { if (UserConstants.ORDER_CODE_NOT_UNIQUE.equals(orderDetailService.checkOrderDetailCodeUnique(orderDetail))) { return error("修改详细订单'" + orderDetail.getCode() + "'失败,详细订单编码已存在"); } + if(StringUtils.isNotEmpty(orderDetail.getClockInLocation())){ + OrderDetail model = orderDetailService.selectById(orderDetail.getId()); + Customer customer = customerService.selectByCustomerId(model.getCustomerId()); + // 通知师傅新订单 + try { + Map params = new HashMap<>(); + params.put("thing1", "师傅打卡通知"); + params.put("thing5", "请确认师傅已到达!"); + wxMsgService.sendWxMsg(customer.getOpenId(), WxMsgEnum.CUSTOMER_ORDER, params); + }catch (Exception e){ + e.printStackTrace(); + } + } return toAjax(orderDetailService.updateOrderDetail(orderDetail)); } @@ -808,6 +821,16 @@ public class OrderDetailController extends BaseController { .setBehavior(OrderBehaviorEnum.FINISH_ORDER); orderBehaviorService.insert(orderBehavior); + Customer customer = customerService.selectByCustomerId(orderDetail.getCustomerId()); + // 通知师傅新订单 + try { + Map params = new HashMap<>(); + params.put("thing1", "师傅完单通知"); + params.put("thing5", "请确认师傅工作已完成!"); + wxMsgService.sendWxMsg(customer.getOpenId(), WxMsgEnum.CUSTOMER_ORDER, params); + }catch (Exception e){ + e.printStackTrace(); + } return AjaxResult.success("发起成功"); } @@ -821,6 +844,7 @@ public class OrderDetailController extends BaseController { // 查询订单信息 OrderDetail od = this.orderDetailService.selectById(orderDetail.getId()); OrderMaster om = orderMasterService.selectById(od.getOrderMasterId()); + Worker masterWorker = workerService.selectById(om.getWorkerId()); Worker worker = workerService.selectById(od.getWorkerId()); // 删除子单 orderDetailService.deleteOrderDetailByIds(orderDetail.getId().toString()); @@ -865,9 +889,9 @@ public class OrderDetailController extends BaseController { // 通知师傅新订单 try { Map params = new HashMap<>(); - params.put("thing1", "订单被拒通知!"); - params.put("thing5", "订单:"+ orderDetail.getCode() +"被拒绝,请及时处理!"); - wxMsgService.sendWxMsg(worker.getOpenId(), WxMsgEnum.ORDER_PLAN, params); + params.put("thing1", "订单被拒通知"); + params.put("thing5", "订单被拒绝,请及时处理!"); + wxMsgService.sendWxMsg(masterWorker.getOpenId(), WxMsgEnum.ORDER_PLAN, params); }catch (Exception e){ e.printStackTrace(); } diff --git a/ghy-admin/src/main/resources/application.yaml b/ghy-admin/src/main/resources/application.yaml index 50deb484..1f953c82 100644 --- a/ghy-admin/src/main/resources/application.yaml +++ b/ghy-admin/src/main/resources/application.yaml @@ -104,8 +104,8 @@ swagger: #小程序配置 wx: -# appId: 'wxc39c2af3ea24cd37' -# secret: '96d566c3169b8715904950d9cf3cbf60' + mallAppId: 'wxc39c2af3ea24cd37' + mallSecret: '96d566c3169b8715904950d9cf3cbf60' appId: 'wx105ce607b514ff2a' secret: '51df6f2d33bf639fa05891af7a69a56e' # appId: 'wx404f2439a8c24e15' diff --git a/ghy-common/src/main/java/com/ghy/common/enums/WxMsgEnum.java b/ghy-common/src/main/java/com/ghy/common/enums/WxMsgEnum.java index a779bdd0..5c434a31 100644 --- a/ghy-common/src/main/java/com/ghy/common/enums/WxMsgEnum.java +++ b/ghy-common/src/main/java/com/ghy/common/enums/WxMsgEnum.java @@ -10,7 +10,10 @@ public enum WxMsgEnum { /** 任务大厅订单通知 */ ORDER_PLAN("", "yqd3p4qsqn1RiyUb8kO4dPqoGKipRQg_y99nGw0jtLE"), /** 新订单通知 */ - NEW_ORDER("","gFoPAYF4J6Y_O5OzzNUbvMxTrsAS7aUWffdNH42xhzM"); + NEW_ORDER("","gFoPAYF4J6Y_O5OzzNUbvMxTrsAS7aUWffdNH42xhzM"), + /** 商城端消息通知 */ + CUSTOMER_ORDER("", "JtsGFPDjYhL2GbHfKxvTJaR_lLp8xLyw8VeR01Y0JHM") + ; /** 超时消息通知 */ // OVER_TIME("","8I5BnJMfwj-Z7udhNm9Z-kdjdg4__MV5ug1x8KKsbc0"), /** 今日单消息通知 */ 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 52dfb688..88a6e67f 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 @@ -164,7 +164,7 @@ public class OrderServiceImpl implements OrderService { // long day14ago = now - 10000L; for (OrderDetail orderDetail : orderDetails) { // 筛选符合自动确认的订单 - if (day14ago > orderDetail.getUpdateTime().getTime()) { + if (day14ago > orderDetail.getWorkFinishTime().getTime()) { logger.info("子订单自动完成[id={}, code={}]", orderDetail.getId(), orderDetail.getCode()); try { // 子订单完单流程(分账与提现) diff --git a/ghy-system/src/main/java/com/ghy/system/service/impl/WxMsgServiceImpl.java b/ghy-system/src/main/java/com/ghy/system/service/impl/WxMsgServiceImpl.java index 65d14ba1..330fd05d 100644 --- a/ghy-system/src/main/java/com/ghy/system/service/impl/WxMsgServiceImpl.java +++ b/ghy-system/src/main/java/com/ghy/system/service/impl/WxMsgServiceImpl.java @@ -38,11 +38,16 @@ public class WxMsgServiceImpl implements IWxMsgService { @Value("${wx.secret}") private String secret; + @Value("${wx.mallAppId}") + private String mallAppId; + @Value("${wx.mallSecret}") + private String mallSecret; + @Override public Boolean sendMsg(String openId, String remind, String orderId, String name, OrderStatus orderStatus, Long time) { WxMsgConfig wxMsgConfig = getQRCodeMsgConfig(openId, remind, orderId, name, orderStatus, time); // 通知urL - String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken(); + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken(true); log.info("微信消息通知请求地址:{}", url); log.info("微信消息通知请求参数:{}", wxMsgConfig); JSONObject responseData = postData(url, wxMsgConfig); @@ -61,7 +66,11 @@ public class WxMsgServiceImpl implements IWxMsgService { @Override public void sendWxMsg(String openId, WxMsgEnum wxMsgEnum, Map params) { WxMsgConfig wxMsgConfig = buildMsgDto(openId, wxMsgEnum, params); - String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken(); + Boolean flag = true; + if(wxMsgEnum.getTempCode().equals(WxMsgEnum.CUSTOMER_ORDER.getTempCode())){ + flag = false; + } + String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + getAccessToken(flag); log.info("微信消息通知请求 url: {} , 参数: {}",url, wxMsgConfig); JSONObject responseData = postData(url, wxMsgConfig); log.info("微信消息通知请求参数:{}", JSON.toJSONString(responseData)); @@ -79,10 +88,15 @@ public class WxMsgServiceImpl implements IWxMsgService { * * @return */ - public String getAccessToken() { + public String getAccessToken(Boolean flag) { Map params = new HashMap<>(); - params.put("APPID", appId); - params.put("APPSECRET", secret); + if(flag){ + params.put("APPID", appId); + params.put("APPSECRET", secret); + }else { + params.put("APPID", mallAppId); + params.put("APPSECRET", mallSecret); + } ResponseEntity responseEntity = restTemplate.getForEntity( "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={APPID}&secret={APPSECRET}", String.class, params); String body = responseEntity.getBody();