Procházet zdrojové kódy

组织架构人员搜索 新增根据工号/手机号码搜索
钉钉客户注册企业时,也要像企业微信一样创建默认的项目相关数据

yurk před 2 roky
rodič
revize
2d1426b8c6

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/UserController.java

@@ -69,12 +69,12 @@ public class UserController {
      * pageSize 页面大小
      */
     @RequestMapping("/getEmployeeList")
-    public HttpRespMsg getEmployeeList(@RequestParam Integer departmentId, String keyword,
+    public HttpRespMsg getEmployeeList(@RequestParam Integer departmentId,@RequestParam(defaultValue = "0") Integer matchingType, String keyword,
                                        Integer status, Integer roleId,
                                        Integer onlyDirect,
                                        String cursor,
                                        @RequestParam Integer pageIndex, @RequestParam Integer pageSize) throws Exception {
-        return userService.getEmployeeList(departmentId, keyword, status, roleId, onlyDirect, cursor,pageIndex, pageSize, request);
+        return userService.getEmployeeList(departmentId,matchingType, keyword, status, roleId, onlyDirect, cursor,pageIndex, pageSize, request);
     }
 
     @RequestMapping("/getSimpleActiveUserList")

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

@@ -21,7 +21,7 @@ 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, String keyword, Integer status, @Param("roleId") Integer roleId);
+                                                  @Param("departmentId") Integer departmentId,Integer matchingType, String keyword, Integer status, @Param("roleId") Integer roleId);
 
     List<Map<String, Object>> getUserByDepartmentList(Page page,
                                                       @Param("companyId") Integer companyId,

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/UserService.java

@@ -23,7 +23,7 @@ public interface UserService extends IService<User> {
 
     HttpRespMsg getUserInfo(String id);
 
-    HttpRespMsg getEmployeeList(Integer departmentId, String keyword, Integer status, Integer roleId, Integer onlyDirect, String cursor, Integer pageIndex, Integer pageSize, HttpServletRequest request) throws Exception;
+    HttpRespMsg getEmployeeList(Integer departmentId,Integer matchingType, String keyword, Integer status, Integer roleId, Integer onlyDirect, String cursor, Integer pageIndex, Integer pageSize, HttpServletRequest request) throws Exception;
 
     HttpRespMsg deleteUser(String userId, HttpServletRequest request);
 

+ 0 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -964,7 +964,6 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                     list.add(rootDeptVO);
                     fillSubDepartmentList(allDepartmentList, rootDeptVO, departmentOtherManagerList);
                 });
-                System.out.println(list);
                 //处理部门下人员列表
                 List<DepartmentVO> userListWithDept = getUserListWithDept(userList, list);
                 HashMap<String, Object> data = new HashMap<>();

+ 12 - 11
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -72,6 +72,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     private String providerSecret;
     public static final String GET_TOKEN_URL = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code";
     public static final String GET_USERINFO_URL = "https://api.weixin.qq.com/sns/userinfo?access_token=accessToken&openid=openId&lang=zh_CN";
+    public static final String[] MATCHING_FILED = {"corpwx_userid","phone","job_number"};
 
     //用于控制线程锁
     public static HashMap<String, CorpwxJobResult> corpwxJobCenter = new HashMap();
@@ -746,7 +747,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
     //获取员工的列表
     @Override
-    public HttpRespMsg getEmployeeList(Integer departmentId, String keyword, Integer status, Integer roleId, Integer onlyDirect, String cursor, Integer pageIndex, Integer pageSize, HttpServletRequest request) throws Exception {
+    public HttpRespMsg getEmployeeList(Integer departmentId,Integer matchingType,String keyword, Integer status, Integer roleId, Integer onlyDirect, String cursor, Integer pageIndex, Integer pageSize, HttpServletRequest request) throws Exception {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         Integer WXCompanyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
         WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", WXCompanyId));
@@ -757,22 +758,22 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             System.out.println("====================开始查询通讯录名单======================");
             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>().and(wrapper->wrapper.like("phone",keyword).or().like("job_number",keyword).or().in("corpwx_userid", users)));
+            if (users.size()!=0&&matchingType==0){
+                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().in("corpwx_userid", users));
                 long total = realUser.size();
                 data.put("records",realUser);
                 data.put("nextCursor",result.get("nextCursor").get(0));
                 data.put("total",total);
-                return httpRespMsg;
             }else {
                 System.err.println("======================user列表没有查询到数据===========================");
                 System.err.println("======================httpRespMsg返回空集合===========================");
-                ArrayList<Object> records = new ArrayList<>();
-                data.put("records",records);
-                data.put("nextCursor","");
-                data.put("total",0);
-                return httpRespMsg;
+                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().eq("company_id",WXCompanyId).like(MATCHING_FILED[matchingType],keyword));
+                long total = realUser.size();
+                data.put("records",realUser);
+                data.put("nextCursor",result.get("nextCursor").get(0));
+                data.put("total",total);
             }
+            return httpRespMsg;
         }else {
             try {
                 Integer companyId = userMapper.selectById(request.getHeader("Token")).getCompanyId();
@@ -782,11 +783,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 Page<User> page = new Page<>(pageIndex, pageSize);
                 if (departmentId == -1) {
                     //单独查找全部
-                    list = userMapper.getUserByDepartment(page, companyId, null, keyword, status, roleId);
+                    list = userMapper.getUserByDepartment(page, companyId, null,matchingType, keyword, status, roleId);
                     total = page.getTotal();
                 } else if (departmentId == 0) {
                     //单独查找0, 未分配的
-                    list = userMapper.getUserByDepartment(page, companyId, departmentId, keyword, status, roleId);
+                    list = userMapper.getUserByDepartment(page, companyId, departmentId,matchingType, keyword, status, roleId);
                     total = page.getTotal();
                 } else {
                     //范围查找

+ 12 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml

@@ -66,7 +66,18 @@
             AND a.department_id = #{departmentId}
         </if>
         <if test="keyword != null and keyword != ''">
-            AND (a.name like '%${keyword}%' or a.phone like '%${keyword}%' a.job_number like '%${keyword}%' )
+            AND
+            <choose>
+                <when test="matchingType==0">
+                    a.name like '%${keyword}%'
+                </when>
+                <when test="matchingType==1">
+                    a.phone like '%${keyword}%'
+                </when>
+                <when test="matchingType==2">
+                    a.job_number like '%${keyword}%'
+                </when>
+            </choose>
         </if>
         <if test="status != null">
             AND a.is_active = #{status}