Explorar el Código

查询人员接口

yusm hace 6 meses
padre
commit
e578d26462

+ 5 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/UserController.java

@@ -144,6 +144,11 @@ public class UserController {
         return userService.getSimpleActiveUserList(departmentId,request,keyword,cursor);
     }
 
+    @RequestMapping("/getSimpleActiveUserListNew")
+    public HttpRespMsg getSimpleActiveUserListNew(Integer departmentId,String keyword,String cursor) throws Exception {
+        return userService.getSimpleActiveUserListNew(departmentId,request,keyword,cursor);
+    }
+
     @RequestMapping("/getUserListByRole")
     public HttpRespMsg getUserListByRole(String tableName){
         return userService.getUserListByRole(request,tableName);

+ 3 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/UserMapper.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Update;
 
 import java.time.LocalDate;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -62,4 +63,6 @@ public interface UserMapper extends BaseMapper<User> {
     List<UserVO> getCustomerTotalCount(String startDate, String endDate, String userId, Integer companyId);
 
     List<UserVO> getCustomerTransferRate(String startDate, String endDate, String userId, Integer companyId);
+
+    List<Map<String, Object>> getSimpleActiveUserList(@Param("map") HashMap<String, Object> map);
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/UserService.java

@@ -107,4 +107,6 @@ public interface UserService extends IService<User> {
     HttpRespMsg setActiveByIds(String ids, int isActive);
 
     HttpRespMsg deleteUserSalaryById(String id);
+
+    HttpRespMsg getSimpleActiveUserListNew(Integer departmentId, HttpServletRequest request, String keyword, String cursor) throws Exception;
 }

+ 49 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -2204,6 +2204,55 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         }
         return msg;
     }
+
+    @Override
+    public HttpRespMsg getSimpleActiveUserListNew(Integer departmentId, HttpServletRequest request, String keyword, String cursor) throws Exception {
+        HttpRespMsg msg = new HttpRespMsg();
+        String token = request.getHeader("TOKEN");
+        User user = userMapper.selectById(token);
+        String nextCursor = "";
+        //企业微信通讯录搜索功能
+        Integer WXCompanyId = user.getCompanyId();
+        WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("company_id", WXCompanyId));
+        //当企业开启了微信通讯录的情况下
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(keyword) && wxCorpInfo!=null && wxCorpInfo.getSaasSyncContact()==1){
+            HashMap<String, List> result = wxCorpInfoService.getOpenId(wxCorpInfo.getCorpid(), keyword, cursor,1,200);
+            HashMap<String, Object> msgResult = new HashMap<>();
+            nextCursor = result.get("nextCursor").get(0).toString();
+            List users = result.get("user");
+            msgResult.put("nextCursor",nextCursor);
+            msg.data = msgResult;
+            if (users.size()!=0){
+                List<User> realUser = userMapper.selectList(new QueryWrapper<User>().in("corpwx_userid", users));
+                msgResult.put("retUser",realUser);
+                return msg;
+            }else {
+                ArrayList<User> nullUser = new ArrayList<>();
+                msgResult.put("retUser",nullUser);
+                return msg;
+            }
+        }else {
+            HashMap<String, Object> hashMap = new HashMap<>();
+            hashMap.put("companyId",user.getCompanyId());
+            hashMap.put("isActive",1);
+            if (!StringUtils.isEmpty(keyword)){
+                hashMap.put("name",keyword);
+            }
+//            QueryWrapper<User> wrapper = new QueryWrapper<User>().select("id, name, phone, job_number, department_id").eq("company_id", user.getCompanyId()).eq("is_active", 1);
+            if (departmentId != null) {
+                //获取全部子部门
+                List<Department> allDeptList = departmentMapper.selectList(new QueryWrapper<Department>().eq("company_id", user.getCompanyId()));
+                List<Integer> deptIds = departmentService.getDeptIncludeSubDeptIds(departmentId, allDeptList);
+//                wrapper.in("department_id", deptIds);
+                hashMap.put("deptIds",deptIds);
+            }
+
+//            List<User> userList = userMapper.selectList(wrapper);
+            List<Map<String, Object>> userList=userMapper.getSimpleActiveUserList(hashMap);
+            msg.data = userList;
+            return msg;
+        }
+    }
 //
 //    private String getAccessToken(String code) {
 //        String accessToken = "";

+ 20 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/UserMapper.xml

@@ -333,6 +333,26 @@
         </where>
         group by  c.incharger_id
     </select>
+    <select id="getSimpleActiveUserList" resultType="java.util.Map">
+        select id as value, name,job_number as jobNumber from user u
+            <where>
+                <if test="map.companyId !=null">
+                    and u.company_id=#{map.companyId}
+                </if>
+                <if test="map.isActive !=null">
+                    and u.is_active=#{map.isActive}
+                </if>
+                <if test="map.name !=null">
+                    and u.name like concat('%',#{map.name},'%')
+                </if>
+                <if test="map.deptIds !=null">
+                    and u.department_id in
+                    <foreach collection="map.deptIds" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
+            </where>
+    </select>
 
     <update id="updateActiveByIds">
         update user set is_active=1 WHERE id IN