Просмотр исходного кода

Merge remote-tracking branch 'origin/企微聊天' into 企微聊天

ct 1 день назад
Родитель
Сommit
e7c6409809

+ 21 - 10
fs-service/src/main/java/com/fs/erp/service/impl/DfOrderServiceImpl.java

@@ -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);
         }
     }