|
|
@@ -172,6 +172,7 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
private FsStoreServiceImpl fsStoreServiceImpl;
|
|
|
|
|
|
private final String signedKey = "ai:express:signed:sent:";
|
|
|
+ private final String sendGoodsKey = "ai:express:sendGoods:sent:";
|
|
|
|
|
|
@Override
|
|
|
public ErpOrderResponse addOrder(ErpOrder order) {
|
|
|
@@ -909,6 +910,12 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ boolean sendGoods = redisCache.sIsMember(sendGoodsKey, orderId.toString());
|
|
|
+ if (("0".equals(stateEx) || "1".equals(stateEx) || "2".equals(stateEx)) && sendGoods) {
|
|
|
+ log.info("发货消息已发送过,跳过 - orderId: {}", orderId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (!"".contentEquals(sBuilder)) {
|
|
|
//2.发送模板中的文字内容
|
|
|
String content = sBuilder.toString();
|
|
|
@@ -940,6 +947,10 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
if ("301".equals(stateEx)){
|
|
|
redisCache.sAdd(signedKey, orderId.toString());
|
|
|
}
|
|
|
+
|
|
|
+ if ("0".equals(stateEx) || "1".equals(stateEx) || "2".equals(stateEx)) {
|
|
|
+ redisCache.sAdd(sendGoodsKey, orderId.toString());
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
log.error("AI物流消息发送失败 - orderId: {}, sendId: {}, 错误信息: {}", orderId, sendId, e.getMessage(), e);
|
|
|
}
|
|
|
@@ -1364,7 +1375,7 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
String content = sBuilder.toString();
|
|
|
content = content.replace("(有事呼叫我,勿找平台,少一次投诉,多一份感恩)", "");
|
|
|
|
|
|
- log.info("准备发送AI物流消息 - orderId: {}, sendId: {}, 消息内容: {}",
|
|
|
+ log.info("每日上午9点和下午4点发送物流消息 准备发送AI物流消息 - orderId: {}, sendId: {}, 消息内容: {}",
|
|
|
orderId, sendId, content);
|
|
|
|
|
|
WxWorkSendTextMsgDTO wxWorkSendTextMsgDTO = new WxWorkSendTextMsgDTO();
|
|
|
@@ -1374,20 +1385,20 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
wxWorkSendTextMsgDTO.setIsRoom(false);
|
|
|
|
|
|
try {
|
|
|
-// wxWorkService.SendTextMsg(wxWorkSendTextMsgDTO, qwUser.getServerId());
|
|
|
- log.info("AI物流消息发送成功 - orderId: {}, sendId: {}", orderId, sendId);
|
|
|
+ wxWorkService.SendTextMsg(wxWorkSendTextMsgDTO, qwUser.getServerId());
|
|
|
+ log.info("每日上午9点和下午4点发送物流消息 AI物流消息发送成功 - orderId: {}, sendId: {}", orderId, sendId);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("AI物流消息发送失败 - orderId: {}, sendId: {}, 错误信息: {}", orderId, sendId, e.getMessage(), e);
|
|
|
+ log.error("每日上午9点和下午4点发送物流消息 AI物流消息发送失败 - orderId: {}, sendId: {}, 错误信息: {}", orderId, sendId, e.getMessage(), e);
|
|
|
}
|
|
|
} else {
|
|
|
- log.info("未生成有效的消息内容 - orderId: {}, stateEx: {}, sBuilder长度: {}",
|
|
|
+ log.info("每日上午9点和下午4点发送物流消息 未生成有效的消息内容 - orderId: {}, stateEx: {}, sBuilder长度: {}",
|
|
|
orderId, stateEx, sBuilder.length());
|
|
|
}
|
|
|
} else {
|
|
|
- log.warn("企微接口未返回有效的用户ID - orderId: {}, data为空", orderId);
|
|
|
+ log.warn("每日上午9点和下午4点发送物流消息 企微接口未返回有效的用户ID - orderId: {}, data为空", orderId);
|
|
|
}
|
|
|
} else {
|
|
|
- log.warn("企微用户配置不完整 - orderId: {}, qwUserId: {}, uid: {}, fastGptRoleId: {}, serverId: {}, serverStatus: {}, ipadStatus: {}",
|
|
|
+ log.warn("每日上午9点和下午4点发送物流消息 企微用户配置不完整 - orderId: {}, qwUserId: {}, uid: {}, fastGptRoleId: {}, serverId: {}, serverStatus: {}, ipadStatus: {}",
|
|
|
orderId, qwUserId,
|
|
|
qwUser.getUid(),
|
|
|
qwUser.getFastGptRoleId(),
|
|
|
@@ -1396,14 +1407,14 @@ public class DfOrderServiceImpl implements IErpOrderService {
|
|
|
qwUser.getIpadStatus());
|
|
|
}
|
|
|
} else {
|
|
|
- log.warn("未找到企微用户 - orderId: {}, externalUserId: {}", orderId, externalContact.getExternalUserId());
|
|
|
+ log.warn("每日上午9点和下午4点发送物流消息 未找到企微用户 - orderId: {}, externalUserId: {}", orderId, externalContact.getExternalUserId());
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- log.warn("未找到有效的企微联系人 - orderId: {}, qwExternalContact为空", orderId);
|
|
|
+ log.warn("每日上午9点和下午4点发送物流消息 未找到有效的企微联系人 - orderId: {}, qwExternalContact为空", orderId);
|
|
|
}
|
|
|
} else {
|
|
|
- log.warn("订单用户ID为空 - orderId: {}", orderId);
|
|
|
+ log.warn("每日上午9点和下午4点发送物流消息 订单用户ID为空 - orderId: {}", orderId);
|
|
|
}
|
|
|
}
|
|
|
|