Browse Source

add roomList param

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

+ 3 - 1
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/wecom/thirdpart/ext/ThirdPartWeComRoomMapperExt.java

@@ -8,9 +8,11 @@ import java.util.List;
 
 public interface ThirdPartWeComRoomMapperExt {
 
-    int getRoomCount(@Param("param") ThirdPartyRoomListParam param);
+    int getRoomCount(@Param("param") ThirdPartyRoomListParam param,
+                     @Param("pushAccountIds") List<Long> pushAccountIds);
 
     List<ThirdPartWeComRoom> getRoomList(@Param("param") ThirdPartyRoomListParam param,
+                                         @Param("pushAccountIds") List<Long> pushAccountIds,
                                          @Param("offset") int offset, @Param("pageSize") Integer pageSize);
 
     List<ThirdPartWeComRoom> getNoConfigRoomList(@Param("staffId") Long id);

+ 2 - 0
api-module/src/main/java/com/tzld/piaoquan/api/model/param/wecom/thirdpart/ThirdPartyRoomListParam.java

@@ -13,4 +13,6 @@ public class ThirdPartyRoomListParam extends PageParam {
     private String groupLeaderName;
     @ApiModelProperty(value = "群名称")
     private String roomName;
+    @ApiModelProperty(value = "推送人员")
+    private String pushAccountName;
 }

+ 10 - 2
api-module/src/main/java/com/tzld/piaoquan/api/service/wecom/thirdparty/impl/WeComThirdPartyRoomServiceImpl.java

@@ -53,12 +53,20 @@ public class WeComThirdPartyRoomServiceImpl implements WeComThirdPartyRoomServic
     public Page<ThirdPartyRoomVO> list(ThirdPartyRoomListParam param) {
         Page<ThirdPartyRoomVO> result = new Page<>(param.getPageNum(), param.getPageSize());
         int offset = (param.getPageNum() - 1) * param.getPageSize();
-        int count = roomMapperExt.getRoomCount(param);
+        List<Long> pushAccountIds = null;
+        if (StringUtils.isNotBlank(param.getPushAccountName())) {
+            pushAccountIds = staffMapperExt.getStaffIdByName(param.getPushAccountName());
+            if (CollectionUtils.isEmpty(pushAccountIds)) {
+                result.setTotalSize(0);
+                return result;
+            }
+        }
+        int count = roomMapperExt.getRoomCount(param, pushAccountIds);
         result.setTotalSize(count);
         if (count == 0) {
             return result;
         }
-        List<ThirdPartWeComRoom> roomList = roomMapperExt.getRoomList(param, offset, param.getPageSize());
+        List<ThirdPartWeComRoom> roomList = roomMapperExt.getRoomList(param, pushAccountIds, offset, param.getPageSize());
         List<ThirdPartyRoomVO> list = buildThirdPartyRoomVOList(roomList);
         result.setObjs(list);
         return result;

+ 12 - 0
api-module/src/main/resources/mapper/wecom/thirdpart/ext/ThirdPartWeComRoomMapperExt.xml

@@ -18,6 +18,12 @@
         <if test="param.roomName != null">
             and room.name like concat('%', #{param.roomName}, '%')
         </if>
+        <if test="pushAccountIds != null and pushAccountIds.size() > 0">
+            and (room_config.primary_third_staff_id in
+            <foreach collection="pushAccountIds" item="item" open="(" close=")" separator=",">#{item}</foreach>
+            or room_config.second_third_staff_id in
+            <foreach collection="pushAccountIds" item="item" open="(" close=")" separator=",">#{item}</foreach>)
+        </if>
     </select>
 
     <select id="getRoomList"
@@ -37,6 +43,12 @@
         <if test="param.roomName != null">
             and room.name like concat('%', #{param.roomName}, '%')
         </if>
+        <if test="pushAccountIds != null and pushAccountIds.size() > 0">
+            and (room_config.primary_third_staff_id in
+            <foreach collection="pushAccountIds" item="item" open="(" close=")" separator=",">#{item}</foreach>
+            or room_config.second_third_staff_id in
+            <foreach collection="pushAccountIds" item="item" open="(" close=")" separator=",">#{item}</foreach>)
+        </if>
         order by staff.id desc
         limit #{offset}, #{pageSize}
     </select>