From c0cf7e1f3f61ee66c604b12b8ceccbeecda4a137 Mon Sep 17 00:00:00 2001 From: Jinyuanyuan <1197651512@qq.com> Date: Fri, 21 Jun 2024 11:14:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=94=A8=E6=88=B7=E5=A4=9A?= =?UTF-8?q?=E4=B8=AA=E8=A7=92=E8=89=B2=E5=90=8D=E7=A7=B0=E4=BB=A5=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E5=BD=A2=E5=BC=8F=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/auth/dao/mapping/SysUserMapper.xml | 9 +++-- .../admin/auth/model/UserInfoResponseOV.java | 26 ++++++++++++++ .../admin/auth/service/SysUserService.java | 3 +- .../auth/service/impl/SysUserServiceImpl.java | 35 ++++++++++++------- 4 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 easy-sys/src/main/java/com/easy/admin/auth/model/UserInfoResponseOV.java diff --git a/easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml b/easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml index ac19274..fe3ab99 100644 --- a/easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml +++ b/easy-sys/src/main/java/com/easy/admin/auth/dao/mapping/SysUserMapper.xml @@ -143,7 +143,8 @@ and t.workplace like #{tempStr3} - and id in (select ur.user_id from sys_user_role ur where ur.role_id=#{request.role}) + + and t.id in (select ur.user_id from sys_user_role ur left join sys_role r on ur.role_id=r.id where r.name like #{tempStr4}) @@ -170,7 +171,8 @@ and t.workplace like #{tempStr3} - and t.id in (select ur.user_id from sys_user_role ur where ur.role_id=#{request.role}) + + and t.id in (select ur.user_id from sys_user_role ur left join sys_role r on ur.role_id=r.id where r.name like #{tempStr4}) @@ -201,7 +203,8 @@ and t.workplace like #{tempStr4} - and t.id in (select ur.user_id from sys_user_role ur where ur.role_id=#{request.role}) + + and t.id in (select ur.user_id from sys_user_role ur left join sys_role r on ur.role_id=r.id where r.name like #{tempStr4}) diff --git a/easy-sys/src/main/java/com/easy/admin/auth/model/UserInfoResponseOV.java b/easy-sys/src/main/java/com/easy/admin/auth/model/UserInfoResponseOV.java new file mode 100644 index 0000000..68382ae --- /dev/null +++ b/easy-sys/src/main/java/com/easy/admin/auth/model/UserInfoResponseOV.java @@ -0,0 +1,26 @@ +package com.easy.admin.auth.model; + + + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.Data; + +import java.util.List; + +@Data +@JsonIgnoreProperties(value = {"handler"}) +public class UserInfoResponseOV { + + private String id; + private String nickname; + + private String sex; + + private String phoneNumber; + + private String workplace; + + private List role; + + private String roleName; +} diff --git a/easy-sys/src/main/java/com/easy/admin/auth/service/SysUserService.java b/easy-sys/src/main/java/com/easy/admin/auth/service/SysUserService.java index fdc5c2e..91b1f86 100644 --- a/easy-sys/src/main/java/com/easy/admin/auth/service/SysUserService.java +++ b/easy-sys/src/main/java/com/easy/admin/auth/service/SysUserService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.easy.admin.auth.model.UserInfoRequest; import com.easy.admin.auth.model.UserInfoResponse; +import com.easy.admin.auth.model.UserInfoResponseOV; import com.easy.admin.common.core.common.pagination.Page; import com.easy.admin.auth.model.SysUser; @@ -187,6 +188,6 @@ public interface SysUserService extends IService { List> getUserDictByRoles(String roles); - IPage getUsersByCondition(String condition, UserInfoRequest request, Integer pageNo, Integer pageSize); + IPage getUsersByCondition(String condition, UserInfoRequest request, Integer pageNo, Integer pageSize); } \ No newline at end of file diff --git a/easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java b/easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java index 7d3014f..2d946f0 100644 --- a/easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java +++ b/easy-sys/src/main/java/com/easy/admin/auth/service/impl/SysUserServiceImpl.java @@ -13,10 +13,7 @@ import com.easy.admin.auth.common.constant.SysRoleConst; import com.easy.admin.auth.common.status.SysDeptStatus; import com.easy.admin.auth.common.status.SysUserStatus; import com.easy.admin.auth.dao.SysUserMapper; -import com.easy.admin.auth.model.SysUser; -import com.easy.admin.auth.model.SysUserRole; -import com.easy.admin.auth.model.UserInfoRequest; -import com.easy.admin.auth.model.UserInfoResponse; +import com.easy.admin.auth.model.*; import com.easy.admin.auth.service.SysUserRoleService; import com.easy.admin.auth.service.SysUserService; import com.easy.admin.common.core.common.pagination.Page; @@ -32,11 +29,14 @@ import com.easy.admin.util.PasswordUtil; import com.easy.admin.util.ShiroUtil; import com.easy.admin.common.core.util.ToolUtil; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * 用户管理 @@ -392,35 +392,46 @@ public class SysUserServiceImpl extends ServiceImpl impl } @Override - public IPage getUsersByCondition(String condition, UserInfoRequest request, Integer pageNo, Integer pageSize) { + public IPage getUsersByCondition(String condition, UserInfoRequest request, Integer pageNo, Integer pageSize) { Page page=new Page<>(pageNo,pageSize); - IPage result=new Page<>(); + IPage UserInfoPage=new Page<>(); if(condition.equals("all")){ //信息化保障团队,显示所有人员信息 - result=userMapper.getAllUserPage(page, request); + UserInfoPage=userMapper.getAllUserPage(page, request); } else if (condition.equals("task")) { //任务牵头处室人员信息 condition="任务牵头处室"; - result = userMapper.getUserPageByCondition(page,request,condition); + UserInfoPage = userMapper.getUserPageByCondition(page,request,condition); }else if (condition.equals("team")){ //信息化保障团队人员 condition="信息化保障团队"; String condition1="总咨询单位"; - result=userMapper.getUserPageByConditions(page,request,condition,condition1); + UserInfoPage=userMapper.getUserPageByConditions(page,request,condition,condition1); } else if (condition.equals("guazhi")) { //挂职人员 condition="信息化保障团队"; - result = userMapper.getUserPageByCondition(page,request,condition); + UserInfoPage = userMapper.getUserPageByCondition(page,request,condition); }else if (condition.equals("consult")) { //咨询人员 condition="总咨询单位"; - result = userMapper.getUserPageByCondition(page,request,condition); + UserInfoPage = userMapper.getUserPageByCondition(page,request,condition); }else if (condition.equals("contact")) { //项目联系人 condition="项目联系人"; - result = userMapper.getUserPageByCondition(page,request,condition); + UserInfoPage = userMapper.getUserPageByCondition(page,request,condition); } + IPage result=new Page<>(); + List collect = UserInfoPage.getRecords().stream().collect(Collectors.toList()); + List newRecords=new ArrayList<>(); + for(UserInfoResponse c:collect){ + List r = c.getRole().stream().map(x -> x.getRoleName()).collect(Collectors.toList()); + UserInfoResponseOV res=new UserInfoResponseOV(); + BeanUtils.copyProperties(c,res); + res.setRoleName(String.join(",",r)); + newRecords.add(res); + } + result.setRecords(newRecords).setTotal(UserInfoPage.getTotal()).setCurrent(UserInfoPage.getCurrent()).setSize(UserInfoPage.getSize()); return result; }