Kaynağa Gözat

本部门的上级部门

三七 1 hafta önce
ebeveyn
işleme
fe48f846a0

+ 3 - 2
fs-company/src/main/java/com/fs/company/controller/qw/QwDeptController.java

@@ -36,6 +36,9 @@ public class QwDeptController extends BaseController
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    QwCompanyMapper qwCompanyMapper;
+
     /**
      * 查询企业微信部门列表
      */
@@ -47,8 +50,6 @@ public class QwDeptController extends BaseController
         List<QwDept> list = qwDeptService.selectQwDeptList(qwDept);
         return getDataTable(list);
     }
-    @Autowired
-    QwCompanyMapper qwCompanyMapper;
 
     /**
     * 同步企业微信 部门信息

+ 12 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwUserController.java

@@ -235,6 +235,18 @@ public class QwUserController extends BaseController
     }
 
 
+    /**
+    * 查询部门下的 企业微信账号
+    */
+    @PostMapping("/getQwUserByDept")
+    public R getQwUserByDept(@RequestBody QwUserByDeptParam deptParam){
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        deptParam.setCompanyId(loginUser.getCompany().getCompanyId());
+        return R.ok().put("data",qwUserService.getQwUserByDept(deptParam)) ;
+    }
+
+
+
 
     @PreAuthorize("@ss.hasPermi('qw:user:login')")
     @PostMapping("/getQwIpad")

+ 19 - 1
fs-service/src/main/java/com/fs/qw/mapper/QwUserMapper.java

@@ -213,10 +213,11 @@ public interface QwUserMapper extends BaseMapper<QwUser>
             "            <if test=\"qwUserId != null  and qwUserId != ''\"> and qu.qw_user_id = #{qwUserId}</if>\n" +
             "            <if test=\"companyId != null \"> and qu.company_id = #{companyId}</if>\n" +
             "            <if test=\"nickName != null  and nickName != ''\"> and cu.nick_name like concat('%', #{nickName}, '%') </if>\n" +
-            "            <if test=\"qwUserName != null  and qwUserName != ''\"> and qu.qw_user_uame like concat( #{qwUserName}, '%') </if>\n" +
+            "            <if test=\"qwUserName != null  and qwUserName != ''\"> and qu.qw_user_name like concat('%', #{qwUserName}, '%') </if>\n" +
             "            <if test=\"companyUserId != null \"> and qu.company_user_id = #{companyUserId}</if>\n" +
             "            <if test=\"corpId != null \"> and qu.corp_id = #{corpId}</if>\n" +
             "            <if test=\"deptId != null \"> and qd.dept_id = #{deptId}</if>\n" +
+            "            <if test=\"deptName != null \"> and qd.dept_name like concat('%', #{deptName}, '%') </if>\n" +
             "            <if test=\"status != null \"> and qu.status = #{status}</if>\n" +
             "            <if test=\"type != null and sendType !=null and type==2 and (sendType==2 or sendType==4 or sendType==11) \"> and qu.app_key IS NOT NULL  </if>\n" +
             "</script>"})
@@ -436,6 +437,23 @@ public interface QwUserMapper extends BaseMapper<QwUser>
             "</script>")
     List<Long> selectQwUserListByCuDeptIdList(@Param("map") QwSop qwSop);
 
+    @Select("<script>" +
+            "select qu.id,qu.qw_user_id,qu.qw_user_name,qu.department,qu.corp_id,qu.company_id,qu.company_user_id, " +
+            "cu.nick_name, cu.user_name, qd.dept_name as departmentName from qw_user qu " +
+            "LEFT JOIN company_user cu ON cu.user_id=qu.company_user_id " +
+            "RIGHT JOIN qw_dept qd on qu.department=qd.dept_id and qd.corp_id=qu.corp_id " +
+            "where qu.is_del=0 and qu.company_user_id is not null "+
+            "            <if test=\"map.corpId != null \"> and qu.corp_id = #{map.corpId}</if>\n" +
+            "            <if test=\"map.companyId != null \"> and qu.company_id = #{map.companyId}</if>\n" +
+            "            <if test=\"map.deptIds != null and !map.deptIds.isEmpty() \">" +
+            "               AND qu.department IN " +
+            "                   <foreach collection='map.deptIds' item='item' open='(' separator=',' close=')'> " +
+            "                       #{item} " +
+            "                   </foreach> " +
+            "            </if>" +
+            "</script>")
+    List<QwUserVO> selectQwUserByDeptList(@Param("map") QwUserByDeptParam deptParam);
+
     /**
      * 根据外部联系人的fsUserId查询关联的企微员工信息
      * @param fsUserId 会员id

+ 18 - 0
fs-service/src/main/java/com/fs/qw/param/QwUserByDeptParam.java

@@ -0,0 +1,18 @@
+package com.fs.qw.param;
+
+import com.fs.common.annotation.Excel;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class QwUserByDeptParam {
+
+    private List<Long> deptIds;
+
+    /** 公司id */
+    @Excel(name = "公司id")
+    private Long companyId;
+
+    private String corpId;
+}

+ 1 - 0
fs-service/src/main/java/com/fs/qw/param/QwUserListParam.java

@@ -48,6 +48,7 @@ public class QwUserListParam {
     private String nickName;
 
     private String userName;
+    private String deptName;
 
     private Integer type;
 

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

@@ -146,6 +146,7 @@ public interface IQwUserService
     QwUser getByQwUserIdAndCorId(String qwUserId, String corpId);
 
     R loginQwIpad(QwLoginHookParam loginParam);
+    List<QwUserVO> getQwUserByDept(QwUserByDeptParam deptParam);
 
     R qrCodeStatus(QwLoginHookParam loginParam);
 

+ 6 - 0
fs-service/src/main/java/com/fs/qw/service/impl/QwUserServiceImpl.java

@@ -1244,6 +1244,12 @@ public class QwUserServiceImpl implements IQwUserService
         redisCache.setCacheObject("qrCodeUid:qwUserId:"+loginParam.getQwUserId(),data.getUuid(),10, TimeUnit.MINUTES);
         return R.ok().put("qrCode",qrData.getQrcode()).put("qrCode64",qrData.getQrcodeData());
     }
+
+    @Override
+    public List<QwUserVO> getQwUserByDept(QwUserByDeptParam deptParam) {
+        return qwUserMapper.selectQwUserByDeptList(deptParam);
+    }
+
     void updateIpadStatus(Long id ,Integer status){
         QwUser u = new QwUser();
         u.setId(id);