소스 검색

解决人员搜索问题

seyason 1 년 전
부모
커밋
197c9b00e5

+ 4 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/UserMapper.java

@@ -24,7 +24,10 @@ import java.util.Map;
 public interface UserMapper extends BaseMapper<User> {
     List<Map<String, Object>> getUserByDepartment(Page page,
                                                   @Param("companyId") Integer companyId,
-                                                  @Param("departmentId") Integer departmentId,Integer matchingType, String keyword, Integer status, @Param("roleId") Integer roleId);
+                                                  @Param("departmentId") Integer departmentId,Integer matchingType,
+                                                  String keyword, Integer status, @Param("roleId") Integer roleId,
+                                                  List<String> corpwxUserIds
+                                                  );
 
     List<Map<String, Object>> getUserByDepartmentList(Page page,
                                                       @Param("companyId") Integer companyId,

+ 5 - 6
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -845,8 +845,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             status = 0;
             flag = true;
         }
-        Integer WXCompanyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
-        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", WXCompanyId));
+        Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
+        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", companyId));
         HashMap<String, Object> data = new HashMap<>();
         httpRespMsg.data=data;
         //企业微信同步方式下,按姓名查找,需要去调用企微通讯录搜索接口
@@ -855,7 +855,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             HashMap<String, List> result = wxCorpInfoService.getOpenId(wxCorpInfo.getCorpid(), keyword, cursor,1,200);
             List users = result.get("user");
             if (users.size() > 0){
-                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().in("corpwx_userid", users));
+                List<User> realUser = userMapper.getUserByDepartment(null, companyId, null,null, null, null, null, users);
                 long total = realUser.size();
                 data.put("records",realUser);
                 data.put("nextCursor",result.get("nextCursor").get(0));
@@ -872,18 +872,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             return httpRespMsg;
         }else {
             try {
-                Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
                 TimeType timeType = timeTypeMapper.selectById(companyId);
                 long total;
                 List<Map<String, Object>> list;
                 Page<User> page = new Page<>(pageIndex, pageSize);
                 if (departmentId == -1) {
                     //单独查找全部
-                    list = userMapper.getUserByDepartment(page, companyId, null,matchingType, keyword, status, roleId);
+                    list = userMapper.getUserByDepartment(page, companyId, null,matchingType, keyword, status, roleId, null);
                     total = page.getTotal();
                 } else if (departmentId == 0) {
                     //单独查找0, 未分配的
-                    list = userMapper.getUserByDepartment(page, companyId, departmentId,matchingType, keyword, status, roleId);
+                    list = userMapper.getUserByDepartment(page, companyId, departmentId,matchingType, keyword, status, roleId, null);
                     total = page.getTotal();
                 } else {
                     //范围查找

+ 5 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml

@@ -67,6 +67,11 @@
         LEFT JOIN department AS b ON a.department_id = b.department_id
         left join user c on c.id = a.superior_id and c.company_id = #{companyId}
         WHERE a.company_id = #{companyId}
+          <if test="corpwxUserIds != null">
+              AND a.corpwx_userid in
+                <foreach collection="corpwxUserIds" item="corpwxUserid" open="(" close=")" separator=",">
+                    #{corpwxUserid}</foreach>
+          </if>
         <if test="departmentId != null and companyId != ''">
             AND a.department_id = #{departmentId}
         </if>