From 275f338495f3e694ccf6fa909fb78b949a67921c Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Mon, 10 May 2021 13:06:20 +0800 Subject: [PATCH] screen-manage 修改前台用户模块 --- screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java | 5 screen-manage/src/main/java/com/moral/api/pojo/form/user/UserInsertForm.java | 2 screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java | 27 ++++ screen-common/src/main/java/com/moral/util/AESUtils.java | 4 screen-manage/src/main/java/com/moral/api/service/UserService.java | 2 screen-manage/src/main/java/com/moral/api/pojo/vo/user/UserVO.java | 6 + screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 102 ++++++++++++++------ screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationDTO.java | 5 + screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java | 86 ++++++++++++---- screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNamesForm.java | 3 screen-manage/src/main/java/com/moral/api/service/OrganizationService.java | 2 11 files changed, 179 insertions(+), 65 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/AESUtils.java b/screen-common/src/main/java/com/moral/util/AESUtils.java index b887ea9..cc41e06 100644 --- a/screen-common/src/main/java/com/moral/util/AESUtils.java +++ b/screen-common/src/main/java/com/moral/util/AESUtils.java @@ -81,8 +81,10 @@ } public static void main(String[] args) { - System.out.println(encrypt("123456","AD42F7787B035B7580000EF93BE20BAD")); + // System.out.println(encrypt("123456","AD42F7787B035B7580000EF93BE20BAD")); //123456 KoWjfDMZQhJMLlG1crBPqQ== + String str = decrypt("KoWjfDMZQhJMLlG1crBPqQ==", "AD42F7787B035B7580000EF93BE20BAD"); + System.out.println(str); } } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationDTO.java index 0219df6..3217469 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationDTO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/organization/OrganizationDTO.java @@ -36,5 +36,10 @@ * */ private Organization parentOrganization; + /* + * admin������ + * */ + private User adminUser; + } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNamesForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNamesForm.java index 1b95794..60ab6cd 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNamesForm.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/organization/OrganizationQueryNamesForm.java @@ -14,7 +14,4 @@ private Integer id; - private Integer adminUserId; - - } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/user/UserInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/user/UserInsertForm.java index 2c0cfc8..1ed98e1 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/form/user/UserInsertForm.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/user/UserInsertForm.java @@ -63,7 +63,7 @@ return dto; } //��������������������������������� - if(!RegexUtils.checkChinese(userName)||userName.contains(" ")){ + if(userName.contains(" ")){ dto.setCode(ResponseCodeEnum.USERNAME_INVALID.getCode()); dto.setMsg(ResponseCodeEnum.USERNAME_INVALID.getMsg()); return dto; diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java index 34400fd..be63279 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationQueryVO.java @@ -2,8 +2,10 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.Organization; +import com.moral.api.entity.User; import com.moral.api.pojo.dto.organization.OrganizationDTO; import com.moral.api.pojo.dto.organization.OrganizationQueryDTO; +import com.moral.api.pojo.vo.user.UserVO; import com.moral.constant.ResponseCodeEnum; import com.moral.util.DateUtils; import lombok.Data; @@ -72,8 +74,7 @@ Date expireTime = organization.getExpireTime(); String createTimeStr = DateUtils.dateToDateString(createTime, "yyyy-MM-dd"); String exipreTimeStr = DateUtils.dateToDateString(expireTime, "yyyy-MM-dd"); - - + //������������������ vo.setId(organization.getId()); vo.setName(organization.getName()); if (!ObjectUtils.isEmpty(parentOrganization)) @@ -84,12 +85,32 @@ vo.setAddress(organization.getAddress()); vo.setCreateTime(createTimeStr); vo.setExpireTime(exipreTimeStr); + vo.setAdminUserId(organization.getAdminUserId()); vo.setProvinceCode(organization.getProvinceCode()); vo.setCityCode(organization.getCityCode()); vo.setAreaCode(organization.getAreaCode()); - vo.setProvinceCityAreaName(organization.getProvinceName()+"/"+organization.getCityName()+"/"+organization.getAreaName()); + vo.setProvinceCityAreaName(organization.getProvinceName() + "/" + organization.getCityName() + "/" + organization.getAreaName()); vo.setLocationLevelCode(organization.getLocationLevelCode()); vo.setLocationLevelName(organization.getLocationLevelName()); + //������������admin������������ + User adminUser = dto.getAdminUser(); + if (!ObjectUtils.isEmpty(adminUser)) { + UserVO adminUserVO = new UserVO(); + String adminUserCreateTimeStr = DateUtils.dateToDateString(adminUser.getCreateTime(), "yyyy-MM-dd"); + String adminUserExpireTimeStr = DateUtils.dateToDateString(adminUser.getExpireTime(), "yyyy-MM-dd"); + adminUserVO.setId(adminUser.getId()); + adminUserVO.setMobile(adminUser.getMobile()); + adminUserVO.setEmail(adminUser.getEmail()); + adminUserVO.setWechat(adminUser.getWechat()); + adminUserVO.setAccount(adminUser.getAccount()); + adminUserVO.setExpireTime(adminUserExpireTimeStr); + adminUserVO.setCreateTime(adminUserCreateTimeStr); + adminUserVO.setUserName(adminUser.getUserName()); + adminUserVO.setOrganizationName(organization.getName()); + vo.setAdminUser(adminUserVO); + }else{ + vo.setAdminUser(new UserVO()); + } return vo; } } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java index a68785e..e7b89c7 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/organization/OrganizationVO.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.pojo.dto.organization.OrganizationDTO; +import com.moral.api.pojo.vo.user.UserVO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; @@ -13,7 +14,7 @@ * @Version TODO **/ @Data -@JsonInclude(JsonInclude.Include.NON_EMPTY) +//@JsonInclude(JsonInclude.Include.NON_EMPTY) public class OrganizationVO { private Integer id; @@ -54,4 +55,6 @@ private String isDelete; + private UserVO adminUser; + } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/user/UserVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/user/UserVO.java index 84eca6e..7d0a715 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/user/UserVO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/user/UserVO.java @@ -11,19 +11,23 @@ * @Version TODO **/ @Data -@JsonInclude(JsonInclude.Include.NON_EMPTY) +//@JsonInclude(JsonInclude.Include.NON_EMPTY) public class UserVO { private Integer id; private String account; + private String userName; + private String organizationName; private String email; private String mobile; + private String wechat; + private String createTime; private String expireTime; diff --git a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java index 4c1d281..4ae7d94 100644 --- a/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java +++ b/screen-manage/src/main/java/com/moral/api/service/OrganizationService.java @@ -55,7 +55,7 @@ /** - * @Description: ���������������������������������id + * @Description: ������������������������ * @Param: [form] * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO * @Author: ��������� diff --git a/screen-manage/src/main/java/com/moral/api/service/UserService.java b/screen-manage/src/main/java/com/moral/api/service/UserService.java index 9e2d2ea..48b2dd3 100644 --- a/screen-manage/src/main/java/com/moral/api/service/UserService.java +++ b/screen-manage/src/main/java/com/moral/api/service/UserService.java @@ -27,4 +27,6 @@ UserDTO insertUser(UserInsertForm form); + UserDTO deleteUserByOrganizationId(Integer organizationId); + } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java index 34f5fe5..bd2db85 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationServiceImpl.java @@ -7,13 +7,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.config.mybatis.wrapper.NullFilterWrapper; import com.moral.api.entity.Organization; +import com.moral.api.entity.User; import com.moral.api.mapper.OrganizationMapper; +import com.moral.api.mapper.UserMapper; import com.moral.api.pojo.dto.organization.OrganizationDTO; import com.moral.api.pojo.dto.organization.OrganizationQueryDTO; import com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO; import com.moral.api.pojo.form.organization.*; import com.moral.api.service.OrganizationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.api.service.UserService; import com.moral.api.util.LogUtils; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; @@ -29,6 +32,7 @@ import javax.servlet.http.HttpServletRequest; import java.util.*; +import java.util.function.Predicate; /** * <p> @@ -47,6 +51,12 @@ @Autowired LogUtils logUtils; + + @Autowired + UserService userService; + + @Autowired + UserMapper userMapper; Map<String, String> organizationFormMap; @@ -206,10 +216,13 @@ deleteWrapper.set("is_delete", Constants.DELETE); organizationMapper.update(null, deleteWrapper); + //������������������ + userService.deleteUserByOrganizationId(id); + //��������������������������� - List<Organization> children = getAllChildrenOrganization(existOrganization); + List<Organization> children = getAllChildrenOrganization(existOrganization.getId()); if (!ObjectUtils.isEmpty(children)) {//��������������������� - //������������������������������������������������������������������������������������������������������������������ + //��������������������������������������������������������������������������������������������������������������������������� UpdateWrapper updateWrapper = new UpdateWrapper(); if (form.getDeleteChildren().equals(Constants.DELETE_CHILDREN_ORG)) {//��������������������� //������������������������id��������������� @@ -221,6 +234,9 @@ updateWrapper.in("id", childrenId); updateWrapper.set("is_delete", Constants.DELETE); organizationMapper.update(null, updateWrapper); + //��������������������������� + childrenId.forEach(value->userService.deleteUserByOrganizationId(value)); + } else {//��������� //���������������������������id List<Integer> childrenId = new ArrayList<>(); @@ -234,8 +250,6 @@ organizationMapper.update(null, updateWrapper); } } - - //������������������������ //������������������ dto.setOrganization(existOrganization); @@ -318,12 +332,22 @@ Page<Organization> resultPage = organizationMapper.selectPage(page, queryWrapper); List<Organization> organizations = resultPage.getRecords(); List<OrganizationDTO> organizationDTOS = new ArrayList<>(); - //������������������������������������������organization���DTO��� - for (Organization child : organizations) { + //���������������������������������admin������������������organization���DTO��� + for (Organization organization : organizations) { OrganizationDTO resultDto = new OrganizationDTO(); - Organization parent = organizationMapper.selectById(child.getParentId());//��������������� - resultDto.setOrganization(child); + //��������������� + Organization parent = organizationMapper.selectById(organization.getParentId()); + resultDto.setOrganization(organization); resultDto.setParentOrganization(parent); + //������admin������ + QueryWrapper userWrapper = new QueryWrapper(); + User adminUser = new User(); + adminUser.setIsAdmin(true); + adminUser.setOrganizationId(organization.getId()); + adminUser.setIsDelete(Constants.NOT_DELETE); + userWrapper.setEntity(adminUser); + adminUser = userMapper.selectOne(userWrapper); + resultDto.setAdminUser(adminUser); organizationDTOS.add(resultDto); } @@ -338,21 +362,40 @@ } /** - * @Description: ������������������������������Id - * @Param: [] - * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNameDTO - * @Author: ��������� - * @Date: 2021/4/13 - */ + * @Description: ������form���id��������������������������������� + * ������id������������������������id������id������������������������������������ + * @Param: [from] + * @return: com.moral.api.pojo.dto.organization.OrganizationQueryNamesDTO + * @Author: ��������� + * @Date: 2021/5/7 + */ @Override - public OrganizationQueryNamesDTO queryNames(OrganizationQueryNamesForm from) { + public OrganizationQueryNamesDTO queryNames(OrganizationQueryNamesForm form) { OrganizationQueryNamesDTO dto = new OrganizationQueryNamesDTO(); + //������ + Integer id = form.getId(); //������������������ QueryWrapper<Organization> queryWrapper = new QueryWrapper(); queryWrapper.eq("is_delete", Constants.NOT_DELETE); - //������ + //������������������ List<Organization> organizations = organizationMapper.selectList(queryWrapper); - + //������form������������id,��������������������������������������� + if(!ObjectUtils.isEmpty(id)){ + List<Organization> children = getAllChildrenOrganization(id); + List<Integer> thisAndchildrenIds = new ArrayList<>();//���id���������������������������id������ + thisAndchildrenIds.add(id); + for (Organization child : children) { + thisAndchildrenIds.add(child.getId()); + } + organizations.removeIf(new Predicate<Organization>() {//������ + @Override + public boolean test(Organization organization) { + if(thisAndchildrenIds.contains(organization.getId())) + return true; + return false; + } + }); + } //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); @@ -424,9 +467,9 @@ * @Author: ��������� * @Date: 2021/4/14 */ - private List<Organization> getAllChildrenOrganization(Organization parent) { + private List<Organization> getAllChildrenOrganization(Integer parentId) { List<Organization> children = new ArrayList<>(); - recursionQueryChildren(parent, children); + recursionQueryChildren(parentId, children); return children; } @@ -437,8 +480,7 @@ * @Author: ��������� * @Date: 2021/4/14 */ - private void recursionQueryChildren(Organization parent, List<Organization> children) { - Integer parentId = parent.getId(); + private void recursionQueryChildren(Integer parentId, List<Organization> children) { QueryWrapper<Organization> queryWrapper = new QueryWrapper(); queryWrapper.eq("is_delete", Constants.NOT_DELETE); queryWrapper.eq("parent_id", parentId); @@ -446,7 +488,7 @@ if (!ObjectUtils.isEmpty(organizations)) { children.addAll(organizations); for (Organization organization : organizations) { - recursionQueryChildren(organization, children); + recursionQueryChildren(organization.getId(), children); } } else { return; diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index cce9d52..0c42135 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -152,36 +152,6 @@ @Override @Transactional - public UserDTO deleteUser(UserDeleteForm form) { - //������������������ - UserDTO dto = new UserDTO(); - //������ - Integer id = form.getId(); - //������������������������ ������������������ - User oldUser = new User(); - oldUser.setIsDelete(Constants.NOT_DELETE); - oldUser.setId(id); - QueryWrapper<User> oldWrapper = new QueryWrapper<>(); - oldWrapper.setEntity(oldUser); - oldUser = userMapper.selectOne(oldWrapper); - if(ObjectUtils.isEmpty(oldUser)){ - dto.setCode(ResponseCodeEnum.USER_NOT_EXIST.getCode()); - dto.setMsg(ResponseCodeEnum.USER_NOT_EXIST.getMsg()); - return dto; - } - //������������������������������������������������������������ - UpdateWrapper<User> deleteWrapper = new UpdateWrapper<>(); - deleteWrapper.eq("organization_id",oldUser.getOrganizationId()); - deleteWrapper.set("is_delete",Constants.DELETE); - userMapper.update(null,deleteWrapper); - //������������ - dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); - dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); - return dto; - } - - @Override - @Transactional public UserDTO insertUser(UserInsertForm form) { //������������������ UserDTO dto = new UserDTO(); @@ -194,7 +164,7 @@ QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.setEntity(existUser); User existUserResult = userMapper.selectOne(wrapper); - if(!ObjectUtils.isEmpty(existUserResult)){ + if (!ObjectUtils.isEmpty(existUserResult)) { dto.setCode(ResponseCodeEnum.USER_EXIST.getCode()); dto.setMsg(ResponseCodeEnum.USER_EXIST.getMsg()); return dto; @@ -208,18 +178,86 @@ QueryWrapper<User> organizationUserWrapper = new QueryWrapper<>(); organizationUserWrapper.setEntity(organizationUser); organizationUser = userMapper.selectOne(organizationUserWrapper); - if(!ObjectUtils.isEmpty(organizationUser)){ + if (!ObjectUtils.isEmpty(organizationUser)) { dto.setCode(ResponseCodeEnum.ORGANIZATION_USER_EXIST.getCode()); dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_EXIST.getMsg()); return dto; } //������ userMapper.insert(user); + //������������ + Organization organization = new Organization(); + organization.setAdminUserId(user.getId()); + organization.setId(organizationId); + organizationMapper.updateById(organization); //������������������ dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return dto; } + @Override + @Transactional + public UserDTO deleteUser(UserDeleteForm form) { + //������ + Integer id = form.getId(); + //������������������ + User user = new User(); + user.setIsDelete(Constants.NOT_DELETE); + user.setId(id); + //������������������ + UserDTO dto = deleteUserModel(user); + //���������������admin������������ + UpdateWrapper updateOrgWrapper = new UpdateWrapper(); + updateOrgWrapper.eq("admin_user_id",user.getId()); + updateOrgWrapper.set("admin_user_id",0); + organizationMapper.update(null,updateOrgWrapper); + return dto; + } + + @Override + @Transactional + public UserDTO deleteUserByOrganizationId(Integer organizationId) { + //������������������ + User user = new User(); + user.setOrganizationId(organizationId); + //������������������ + UserDTO dto = deleteUserModel(user); + return dto; + } + + + private UserDTO deleteUserModel(User user) { + //������������������ + UserDTO dto = new UserDTO(); + //������������ + Integer organizationId = null; + //������������������������������������������������ + User oldUser = null; + //������������������������������id + if (ObjectUtils.isEmpty(user.getOrganizationId())) { + QueryWrapper<User> deleteUserWrapper = new QueryWrapper<>(); + deleteUserWrapper.setEntity(user); + oldUser = userMapper.selectOne(deleteUserWrapper); + if (ObjectUtils.isEmpty(user)) { + dto.setCode(ResponseCodeEnum.USER_NOT_EXIST.getCode()); + dto.setMsg(ResponseCodeEnum.USER_NOT_EXIST.getMsg()); + return dto; + } + organizationId = oldUser.getOrganizationId(); + }else{ + organizationId = user.getOrganizationId(); + } + //������������������������������������������������������������ + UpdateWrapper<User> deleteUserChildrenWrapper = new UpdateWrapper<>(); + deleteUserChildrenWrapper.eq("organization_id", organizationId); + deleteUserChildrenWrapper.set("is_delete", Constants.DELETE); + userMapper.update(null, deleteUserChildrenWrapper); + //������������ + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + } -- Gitblit v1.8.0