From 15b0ec994a172c1ff149079faf3c8fe48e3a0b91 Mon Sep 17 00:00:00 2001 From: wanggeng888 <450292408@qq.com> Date: Sat, 12 Jun 2021 13:53:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IDepartmentUserBaseService.java | 26 ++++++ .../dtos/department/DepartmentUserDTO.java | 15 +++- .../department/dao/IDepartmentUserDao.java | 10 +++ .../impl/DepartmentUserServiceImpl.java | 86 +++++++++++++++---- .../mybatis/mapper/department-user-mapper.xml | 45 ++++++++-- .../templates/department/user/list.html | 39 +++++++-- 6 files changed, 187 insertions(+), 34 deletions(-) diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java index 24199c06..cb70881f 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java @@ -5,6 +5,7 @@ import ink.wgink.pojo.dtos.department.DepartmentUserDTO; import ink.wgink.pojo.result.SuccessResultList; import java.util.List; +import java.util.Map; /** * When you feel like quitting. Think about why you started @@ -18,6 +19,30 @@ import java.util.List; **/ public interface IDepartmentUserBaseService { + /** + * 机构用户列表 + * + * @param params + * @return + */ + List list(Map params); + + /** + * 机构用户列表 + * + * @param departmentId + * @return + */ + List list(String departmentId); + + /** + * 机构用户列表 + * + * @param departmentIds + * @return + */ + List list(List departmentIds); + /** * 用户ID列表 * @@ -26,6 +51,7 @@ public interface IDepartmentUserBaseService { */ List listUserId(String departmentId); + /** * 用户ID列表 * diff --git a/basic-pojo/src/main/java/ink/wgink/pojo/dtos/department/DepartmentUserDTO.java b/basic-pojo/src/main/java/ink/wgink/pojo/dtos/department/DepartmentUserDTO.java index cb681ab9..2f556826 100644 --- a/basic-pojo/src/main/java/ink/wgink/pojo/dtos/department/DepartmentUserDTO.java +++ b/basic-pojo/src/main/java/ink/wgink/pojo/dtos/department/DepartmentUserDTO.java @@ -27,7 +27,8 @@ public class DepartmentUserDTO implements Serializable { private String departmentName; private String userSort; - public DepartmentUserDTO() {} + public DepartmentUserDTO() { + } public DepartmentUserDTO(UserDTO userDTO) { this.userId = userDTO.getUserId(); @@ -41,6 +42,18 @@ public class DepartmentUserDTO implements Serializable { this.userAvatar = userDTO.getUserAvatar(); } + public void setUser(UserDTO userDTO) { + this.userId = userDTO.getUserId(); + this.userUsername = userDTO.getUserUsername(); + this.userName = userDTO.getUserName(); + this.userPhone = userDTO.getUserPhone(); + this.userEmail = userDTO.getUserEmail(); + this.loginType = userDTO.getLoginType(); + this.userType = userDTO.getUserType(); + this.userState = userDTO.getUserState(); + this.userAvatar = userDTO.getUserAvatar(); + } + public String getUserId() { return userId == null ? "" : userId; } diff --git a/service-department/src/main/java/ink/wgink/service/department/dao/IDepartmentUserDao.java b/service-department/src/main/java/ink/wgink/service/department/dao/IDepartmentUserDao.java index eafb67c5..c062c4ac 100644 --- a/service-department/src/main/java/ink/wgink/service/department/dao/IDepartmentUserDao.java +++ b/service-department/src/main/java/ink/wgink/service/department/dao/IDepartmentUserDao.java @@ -4,6 +4,7 @@ import ink.wgink.exceptions.RemoveException; import ink.wgink.exceptions.SaveException; import ink.wgink.exceptions.SearchException; import ink.wgink.exceptions.UpdateException; +import ink.wgink.pojo.dtos.department.DepartmentUserDTO; import org.springframework.stereotype.Repository; import java.util.List; @@ -53,6 +54,15 @@ public interface IDepartmentUserDao { */ void updateSort(Map params) throws UpdateException; + /** + * 部门用户ID列表 + * + * @param params + * @return + * @throws SearchException + */ + List list(Map params) throws SearchException; + /** * 用户ID列表 * diff --git a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java index 4599317d..818c6f2e 100644 --- a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java +++ b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java @@ -134,6 +134,25 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return departmentService.listPO(departmentIds); } + @Override + public List list(Map params) { + return departmentUserDao.list(params); + } + + @Override + public List list(String departmentId) { + Map params = getHashMap(2); + params.put("departmentId", departmentId); + return list(params); + } + + @Override + public List list(List departmentIds) { + Map params = getHashMap(2); + params.put("departmentIds", departmentIds); + return list(params); + } + @Override public List listUserId(String departmentId) { Map params = getHashMap(2); @@ -166,20 +185,10 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe @Override public SuccessResultList> listPage(String departmentId, ListPage page) { - SuccessResultList> successResultList; if (StringUtils.equals(departmentId, ISystemConstant.TREE_BASE_ROOT_ID_VALUE)) { - successResultList = listPageUserByExcludeDepartment(page); - } else { - successResultList = listPageUser(departmentId, page); + return listPageUserByExcludeDepartment(page); } - List userDTOs = successResultList.getRows(); - List departmentUserDTOs = new ArrayList<>(); - for (UserDTO userDTO : userDTOs) { - DepartmentUserDTO departmentUserDTO = new DepartmentUserDTO(userDTO); - departmentUserDTO.setDepartmentId(departmentId); - departmentUserDTOs.add(departmentUserDTO); - } - return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); + return listPageUser(departmentId, page); } private List listGroupUserId(Map params) { @@ -192,9 +201,17 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe * @param page * @return */ - private SuccessResultList> listPageUserByExcludeDepartment(ListPage page) { - List hasDepartmentUserIds = listGroupUserId(new HashMap<>(0)); - return userBaseService.listPageByExcludeIds(hasDepartmentUserIds, page); + private SuccessResultList> listPageUserByExcludeDepartment(ListPage page) { + List hasDepartmentUsers = list(getHashMap(0)); + if (hasDepartmentUsers.isEmpty()) { + return new SuccessResultList<>(new ArrayList<>(), 1, 0L); + } + List userIds = new ArrayList<>(); + for (DepartmentUserDTO hasDepartmentUserId : hasDepartmentUsers) { + userIds.add(hasDepartmentUserId.getUserId()); + } + SuccessResultList> successResultList = userBaseService.listPageByExcludeIds(userIds, page); + return listPageDepartmentUser(successResultList, hasDepartmentUsers, page); } /** @@ -204,11 +221,42 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe * @param page * @return */ - private SuccessResultList> listPageUser(String departmentId, ListPage page) { - List userIds = listUserId(departmentId); - if (userIds.isEmpty()) { + private SuccessResultList> listPageUser(String departmentId, ListPage page) { + List hasDepartmentUsers = list(getHashMap(0)); + if (hasDepartmentUsers.isEmpty()) { return new SuccessResultList<>(new ArrayList<>(), 1, 0L); } - return userBaseService.listPageByIds(userIds, page); + List userIds = new ArrayList<>(); + for (DepartmentUserDTO hasDepartmentUserId : hasDepartmentUsers) { + userIds.add(hasDepartmentUserId.getUserId()); + } + SuccessResultList> successResultList = userBaseService.listPageByIds(userIds, page); + return listPageDepartmentUser(successResultList, hasDepartmentUsers, page); } + + /** + * 机构用户分页列表 + * + * @param userIds + * @param hasDepartmentUsers + * @param page + * @return + */ + private SuccessResultList> listPageDepartmentUser(SuccessResultList> successResultList, List hasDepartmentUsers, ListPage page) { + // 查询用户排序 + List userDTOs = successResultList.getRows(); + List departmentUserDTOs = new ArrayList<>(); + for (DepartmentUserDTO hasDepartmentUserDTO : hasDepartmentUsers) { + for (UserDTO userDTO : userDTOs) { + if (StringUtils.equals(userDTO.getUserId(), hasDepartmentUserDTO.getUserId())) { + DepartmentUserDTO departmentUserDTO = new DepartmentUserDTO(userDTO); + departmentUserDTO.setDepartmentId(hasDepartmentUserDTO.getDepartmentId()); + departmentUserDTO.setUserSort(hasDepartmentUserDTO.getUserSort()); + departmentUserDTOs.add(departmentUserDTO); + } + } + } + return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); + } + } diff --git a/service-department/src/main/resources/mybatis/mapper/department-user-mapper.xml b/service-department/src/main/resources/mybatis/mapper/department-user-mapper.xml index bb70fe67..8a0da28c 100644 --- a/service-department/src/main/resources/mybatis/mapper/department-user-mapper.xml +++ b/service-department/src/main/resources/mybatis/mapper/department-user-mapper.xml @@ -4,6 +4,12 @@ + + + + + + CREATE TABLE IF NOT EXISTS `sys_department_user` ( @@ -67,9 +73,40 @@ WHERE department_id = #{departmentId} AND - user_sort = #{userSort} + user_id = #{userId} + + +