Browse Source

企微自动回复增加判断

wangyunpeng 3 tuần trước cách đây
mục cha
commit
293484592f

+ 2 - 2
api-module/src/main/java/com/tzld/piaoquan/api/service/wecom/WeComService.java

@@ -1,7 +1,7 @@
 package com.tzld.piaoquan.api.service.wecom;
 
 
-
+import com.tzld.piaoquan.api.model.po.ReplyStaff;
 import com.tzld.piaoquan.api.model.vo.WeComPushMessageParam;
 import com.tzld.piaoquan.api.model.vo.WeComPushMessageVo;
 import com.tzld.piaoquan.growth.common.common.base.CommonResponse;
@@ -12,5 +12,5 @@ public interface WeComService {
 
     CommonResponse<List<WeComPushMessageVo>> getPushMessage(WeComPushMessageParam param);
 
-    List<WeComPushMessageVo> getPushMessageByUserId(String userId);
+    List<WeComPushMessageVo> getPushMessageByUserId(List<ReplyStaff> replyStaffs);
 }

+ 14 - 1
api-module/src/main/java/com/tzld/piaoquan/api/service/wecom/impl/WeComAutoReplyImpl.java

@@ -3,8 +3,11 @@ package com.tzld.piaoquan.api.service.wecom.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.api.dao.mapper.AutoReplyMsgSendRecordMapper;
+import com.tzld.piaoquan.api.dao.mapper.ReplyStaffMapper;
 import com.tzld.piaoquan.api.model.bo.MsgData;
 import com.tzld.piaoquan.api.model.po.AutoReplyMsgSendRecord;
+import com.tzld.piaoquan.api.model.po.ReplyStaff;
+import com.tzld.piaoquan.api.model.po.ReplyStaffExample;
 import com.tzld.piaoquan.api.model.vo.WeComPushMessageVo;
 import com.tzld.piaoquan.api.service.wecom.WeComAutoReply;
 import com.tzld.piaoquan.api.service.wecom.WeComService;
@@ -50,11 +53,21 @@ public class WeComAutoReplyImpl implements WeComAutoReply {
     @Autowired
     private AutoReplyMsgSendRecordMapper autoReplyMsgSendRecordMapper;
 
+    @Autowired
+    private ReplyStaffMapper replyStaffMapper;
+
     @Override
     public void AutoReplyMessage(String welcomeCode, String externalUserId, String userId, Long corpId) {
         Corp corp = corpMapper.selectByPrimaryKey(corpId);
         String corpCorpId = corp.getCorpId();
-        List<WeComPushMessageVo> weComPushMessageVoList = weComService.getPushMessageByUserId(userId);
+        // 判断是否需要自动回复
+        ReplyStaffExample example = new ReplyStaffExample();
+        example.createCriteria().andUserIdEqualTo(userId).andIsDeleteEqualTo(0);
+        List<ReplyStaff> replyStaffs = replyStaffMapper.selectByExample(example);
+        if (CollectionUtils.isEmpty(replyStaffs)) {
+            return;
+        }
+        List<WeComPushMessageVo> weComPushMessageVoList = weComService.getPushMessageByUserId(replyStaffs);
         WeComPushMessageVo weComPushMessageVo = getRandomElement(weComPushMessageVoList);
         if (weComPushMessageVo == null) {
             LarkRobotUtil.sendMessage("自动回复消息获取失败,userId=" + userId);

+ 1 - 4
api-module/src/main/java/com/tzld/piaoquan/api/service/wecom/impl/WeComServiceImpl.java

@@ -116,10 +116,7 @@ public class WeComServiceImpl implements WeComService {
     }
 
     @Override
-    public List<WeComPushMessageVo> getPushMessageByUserId(String userId) {
-        ReplyStaffExample example = new ReplyStaffExample();
-        example.createCriteria().andUserIdEqualTo(userId).andIsDeleteEqualTo(0);
-        List<ReplyStaff> replyStaffs = replyStaffMapper.selectByExample(example);
+    public List<WeComPushMessageVo> getPushMessageByUserId(List<ReplyStaff> replyStaffs) {
         if (CollectionUtils.isEmpty(replyStaffs)) {
             return null;
         }