增加一小时订单通知提醒

This commit is contained in:
cb 2025-04-17 11:12:01 +08:00
parent 44eab29981
commit 1254dd9e79
2 changed files with 29 additions and 3 deletions

View File

@ -27,7 +27,8 @@ public enum WxMsgEnum {
AFTER_SALES_TIMEOUT_ORDER("", "2uC9_lXInXg0_7Bu7N6YVBOgolTxaNcwRXQPF0H-Di0"), AFTER_SALES_TIMEOUT_ORDER("", "2uC9_lXInXg0_7Bu7N6YVBOgolTxaNcwRXQPF0H-Di0"),
/**服务工单超时通知**/ /**服务工单超时通知**/
TIMEOUT_ORDER("", "xdWLWqUbNY2iPYSDxG04Dr2fSTktqXN23xsoBU_9zhc"), TIMEOUT_ORDER("", "xdWLWqUbNY2iPYSDxG04Dr2fSTktqXN23xsoBU_9zhc"),
/** 明日单通知/一小时订单 工单处理提醒*/
ONEHOUR_ORDER("", "HZ1R0FU7Zn6C-bxG3X6yPnhq2beT5MhRZHtnS8PifiA"),
/** 急报 **/ /** 急报 **/
WARN_ORDER("", "0RSuVHHP_okErJ1acQmIirBU7TrQYR0xPBgBHyt_azA"), WARN_ORDER("", "0RSuVHHP_okErJ1acQmIirBU7TrQYR0xPBgBHyt_azA"),

View File

@ -317,6 +317,9 @@ public class OrderServiceImpl implements OrderService {
if (order.getOrderStatus().equals(OrderStatus.GOING.code())) { if (order.getOrderStatus().equals(OrderStatus.GOING.code())) {
// 服务中状态要按预计上门时间计算4h超时 // 服务中状态要按预计上门时间计算4h超时
Date overTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), 30 * 60 * 1000); Date overTime = DateUtils.addMilliseconds(order.getExpectTimeStart(), 30 * 60 * 1000);
Date oneHourTime=DateUtils.addMilliseconds(order.getExpectTimeStart(), -60 * 60 * 1000);
log.info("订单开始前一个小时 订单号:[{}]时间:{} 当前时间 {}", order.getId(),oneHourTime,now);
if (overTime.before(now)) { if (overTime.before(now)) {
log.info("订单[{}]待上门状态超时30分钟", order.getId()); log.info("订单[{}]待上门状态超时30分钟", order.getId());
OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus()); OrderTimeoutRecord record = new OrderTimeoutRecord(order.getId(), order.getWorkerId(), order.getDeptId(), order.getOrderStatus());
@ -333,9 +336,31 @@ public class OrderServiceImpl implements OrderService {
// 消息组装 // 消息组装
Map<String, Object> paramsNew = new HashMap<>(); Map<String, Object> paramsNew = new HashMap<>();
// 订单编号 // 订单编号
paramsNew.put("thing9", "您有1条订单超时未上门/未服务"); paramsNew.put("thing13", "您有1条订单超时未上门/未服务");
// 名称 // 名称
paramsNew.put("thing10", "进入【我的订单--待上门】处理"); paramsNew.put("thing7", "进入【我的订单--待上门】处理");
CustomerAddress address = customerAddressService.selectByCustomerAddressId(orderMaster.getAddressId());
paramsNew.put("thing9", address.getName());
// 预约时间
paramsNew.put("time27", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", new Date()));
WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), worker.getWxOpenId(), WxMsgEnum.ONEHOUR_ORDER, paramsNew);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
if (now.equals(oneHourTime)){
log.info("订单[{}]约一小时上门服务", order.getId());
try {
// 推送公众号通知数据
Worker worker = workerService.selectById(order.getWorkerId());
OrderMaster orderMaster = orderMasterService.selectById(order.getOrderMasterId());
// 消息组装
Map<String, Object> paramsNew = new HashMap<>();
// 订单编号
paramsNew.put("thing9", "您有1条订单约一小时上门或服务");
// 名称
paramsNew.put("thing10", "进入【我的订单--待上门】查看和准备");
CustomerAddress address = customerAddressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress address = customerAddressService.selectByCustomerAddressId(orderMaster.getAddressId());
paramsNew.put("thing2", address.getName()); paramsNew.put("thing2", address.getName());
// 预约时间 // 预约时间