Преглед изворни кода

企微客户新增所属群聊

luolinsong пре 2 месеци
родитељ
комит
d29a172d10

+ 16 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwExternalContactController.java

@@ -99,6 +99,9 @@ public class QwExternalContactController extends BaseController
     @Autowired
     private IFsUserCompanyBindService fsUserCompanyBindService;
 
+    @Autowired
+    private IQwGroupChatUserService qwGroupChatUserService;
+
     /**
      * 查询企业微信客户列表
      */
@@ -120,6 +123,14 @@ public class QwExternalContactController extends BaseController
         }
         List<QwExternalContactVO> list = qwExternalContactService.selectQwExternalContactListVO(qwExternalContact);
         list.forEach(item->{
+            if (StringUtils.isNotEmpty(item.getExternalUserId())) {
+                List<String> chatNameList = qwGroupChatUserService.selectChatNameByUserId(item.getExternalUserId());
+                if (StringUtils.isNotEmpty(qwExternalContact.getChatName()) && chatNameList.contains(qwExternalContact.getChatName()))   {
+                    item.setChatNames(chatNameList);
+                }else {
+                    item.setChatNames(chatNameList);
+                }
+            }
 
             if (!Objects.equals(item.getTagIds(), "[]") && item.getTagIds()!=null) {
                 QwTagSearchParam param = new QwTagSearchParam();
@@ -140,6 +151,11 @@ public class QwExternalContactController extends BaseController
             }
 
         });
+        if (StringUtils.isNotEmpty(qwExternalContact.getChatName())) {
+            list = list.stream()
+                    .filter(item -> item.getChatNames() != null && !item.getChatNames().isEmpty())
+                    .collect(Collectors.toList());
+        }
 
         return getDataTable(list);
     }

+ 1 - 0
fs-service/src/main/java/com/fs/qw/mapper/QwGroupChatUserMapper.java

@@ -152,4 +152,5 @@ public interface QwGroupChatUserMapper
 
     List<QwGroupChatUser> selectByChatId(SopUserLogsInfo sopUserLogsInfo);
 
+    List<String> selectChatNameByUserId(@Param("userId")String userId);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/qw/param/QwExternalContactParam.java

@@ -152,4 +152,6 @@ public class QwExternalContactParam {
      */
     private Integer isReply;
 
+    //群名称
+    private String chatName;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/qw/service/IQwGroupChatUserService.java

@@ -52,4 +52,6 @@ public interface IQwGroupChatUserService
     List<QwGroupChatUser> selectUserIsChat(String externalUserId);
 
     List<QwGroupChatUser> selectByChatId(SopUserLogsInfo sopUserLogsInfo);
+
+    List<String> selectChatNameByUserId(String userId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwGroupChatUserServiceImpl.java

@@ -232,4 +232,9 @@ public class QwGroupChatUserServiceImpl implements IQwGroupChatUserService
         return qwGroupChatUserMapper.selectByChatId(sopUserLogsInfo);
     }
 
+    @Override
+    public List<String> selectChatNameByUserId(String userId) {
+        return qwGroupChatUserMapper.selectChatNameByUserId(userId);
+    }
+
 }

+ 3 - 0
fs-service/src/main/java/com/fs/qw/vo/QwExternalContactVO.java

@@ -143,4 +143,7 @@ public class QwExternalContactVO {
      * 联系我分组名称
      */
     private String wayGroupName;
+
+    //群名称
+    private List<String> chatNames;
 }

+ 7 - 0
fs-service/src/main/resources/mapper/qw/QwGroupChatUserMapper.xml

@@ -223,4 +223,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectChatNameByUserId" resultType="java.lang.String">
+        select qgc.name from qw_group_chat_user qgcu
+        left join qw_group_chat qgc on qgc.chat_id=qgcu.chat_id
+        where qgcu.user_id=#{userId}
+    </select>
+
 </mapper>