ソースを参照

添加后线人员关联区域配置标红显示接口

hxl13994548489 2 年 前
コミット
492fbbe11f

+ 18 - 4
src/main/java/com/ydtech/modules/admin/controller/SysUserLinkAreaController.java

@@ -2,11 +2,9 @@ package com.ydtech.modules.admin.controller;
 
 
 import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.dto.SysUserDto;
 import com.ydtech.modules.admin.model.dto.SysUserLinkAreaDto;
-import com.ydtech.modules.admin.model.vo.SysAreaVo;
-import com.ydtech.modules.admin.model.vo.SysUserLinkAreaAddVo;
-import com.ydtech.modules.admin.model.vo.SysUserLinkAreaIdsVo;
-import com.ydtech.modules.admin.model.vo.SysUserLinkAreaVo;
+import com.ydtech.modules.admin.model.vo.*;
 import com.ydtech.modules.admin.service.SysUserLinkAreaService;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -92,4 +90,20 @@ public class SysUserLinkAreaController extends BaseController {
         }
 
     }
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/26 17:44
+     *  @Description: 查询所有的后线人员列表+分页
+     */
+    @PostMapping("findAllUserList")
+    @ApiOperation("查询所有的后线人员列表+分页+标红显示")
+    public HttpResult<BasePageResult<SysUserBaseVO>> findUserList(@RequestBody SysUserDto sysUserDto) {
+        try{
+            BasePageResult<SysUserBaseVO> result = sysUserLinkAreaService.findUserListByPage(sysUserDto);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
 }

+ 7 - 0
src/main/java/com/ydtech/modules/admin/dao/SysUserMapper.java

@@ -250,6 +250,13 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      *  @Description: 通过当前的用户查询渠道下的团队长的的管理的部门ids
      */
     List<String> getDeptIdsByUserIds(@Param("userId") String userId);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/26 17:25
+     *  @Description: 查询用户分页+区域标志显示
+     */
+    Page<SysUserBaseVO> findUserListByAreaPage(@Param("page") Page<SysUserBaseVO> page, @Param("user") SysUserDto sysUserDto);
 }
 
 

+ 9 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserLinkAreaService.java

@@ -2,10 +2,12 @@ package com.ydtech.modules.admin.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.SysUserDto;
 import com.ydtech.modules.admin.model.dto.SysUserLinkAreaDto;
 import com.ydtech.modules.admin.model.dto.SysUserLinkAreaListDto;
 import com.ydtech.modules.admin.model.po.SysUserLinkArea;
 import com.ydtech.modules.admin.model.vo.SysAreaVo;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserLinkAreaAddVo;
 import com.ydtech.modules.admin.model.vo.SysUserLinkAreaVo;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -54,4 +56,11 @@ public interface SysUserLinkAreaService extends IService<SysUserLinkArea> {
       *  @Description:  后线人员绑定的区域的树回显
       */
     List<SysAreaVo> findAreaTreeByUserId(String userId);
+     /**
+      *  @version
+      *  @author: hxl
+      *  @Date: 2024/4/26 17:22
+      *  @Description: 查询用户分页
+      */
+    BasePageResult<SysUserBaseVO> findUserListByPage(SysUserDto sysUserDto);
 }

+ 18 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysUserLinkAreaServiceImpl.java

@@ -6,10 +6,12 @@ import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
 import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.SysArea;
 import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.dto.SysUserDto;
 import com.ydtech.modules.admin.model.dto.SysUserLinkAreaDto;
 import com.ydtech.modules.admin.model.dto.SysUserLinkAreaListDto;
 import com.ydtech.modules.admin.model.po.SysUserLinkArea;
 import com.ydtech.modules.admin.model.vo.SysAreaVo;
+import com.ydtech.modules.admin.model.vo.SysUserBaseVO;
 import com.ydtech.modules.admin.model.vo.SysUserLinkAreaAddVo;
 import com.ydtech.modules.admin.model.vo.SysUserLinkAreaVo;
 import com.ydtech.modules.admin.service.SysAreaService;
@@ -127,6 +129,7 @@ public class SysUserLinkAreaServiceImpl extends ServiceImpl<SysUserLinkAreaMappe
         return sysAreaVos;
     }
 
+
     public SysAreaVo setFlagByTree(SysAreaVo sysArea, Map<String,SysArea> map) {
         sysArea.setFlag(false);
         if (map.get(sysArea.getAreaCode())!=null) {
@@ -139,4 +142,19 @@ public class SysUserLinkAreaServiceImpl extends ServiceImpl<SysUserLinkAreaMappe
         }
         return sysArea;
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/4/26 17:23
+     *  @Description:  查询用户分页
+     */
+    @Override
+    public BasePageResult<SysUserBaseVO> findUserListByPage(SysUserDto sysUserDto) {
+        Page<SysUserBaseVO> page = new Page<>(sysUserDto.getPageNum(),
+                sysUserDto.getPageSize());
+        Page<SysUserBaseVO> userPageResult = sysUserMapper.findUserListByAreaPage(page, sysUserDto);
+        return  new BasePageResult<>(sysUserDto.getPageNum(), page.getSize(), userPageResult.getTotal(), page.getPages(),
+                userPageResult.getRecords());
+    }
 }

+ 40 - 1
src/main/resources/mapper/modules/admin/SysUserMapper.xml

@@ -576,7 +576,7 @@
                 and t2.id like CONCAT('', #{user.deptId}, '%')
             </if>
         </if>
-        order by flag
+        order by flag desc
     </select>
 
     <select id="getDeptIdsByUserIds" resultType="String">
@@ -615,4 +615,43 @@
         GROUP BY
         t2.id
     </select>
+
+
+    <select id="findUserListByAreaPage" resultType="com.ydtech.modules.admin.model.vo.SysUserBaseVO">
+        SELECT
+        t1.id AS userId,
+        t1.NAME AS NAME,
+        t1.mobile AS mobile,
+        t1.`status` AS `status`,
+        t2.id AS deptId,
+        t2.`name` AS deptName,
+        sd2.id AS pDeptId,
+        sd2.`name` AS pDeptName,
+        CASE
+        WHEN ( SELECT count( 0 ) FROM sys_user_link_area link WHERE link.user_id = t1.id) > 0 THEN
+        true ELSE false
+        END AS flag
+        FROM
+        sys_user t1
+        LEFT JOIN sys_dept t2 ON t1.dept_id = t2.id
+        LEFT JOIN sys_dept sd2 ON sd2.id = t2.parent_id
+        WHERE
+        t1.`status` = 1
+        AND t1.id NOT LIKE '%M%'
+        <if test='user !=null  '>
+            <if test='user.name !=null and user.name!="" '>
+                and t1.name like CONCAT('%', #{user.name}, '%')
+            </if>
+            <if test='user.userId !=null and user.userId!="" '>
+                and t1.id = #{user.userId}
+            </if>
+            <if test='user.mobile !=null and user.mobile!=""  '>
+                and t1.mobile = #{user.mobile}
+            </if>
+            <if test='user.deptId !=null and user.deptId!=""  '>
+                and t2.id like CONCAT('', #{user.deptId}, '%')
+            </if>
+        </if>
+        order by flag desc
+    </select>
 </mapper>