|  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.moral.api.config.mybatis.wrapper.NullFilterWrapper; | 
|---|
|  |  |  | import com.moral.api.entity.Group; | 
|---|
|  |  |  | 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.entity.UserGroup; | 
|---|
|  |  |  | import com.moral.api.mapper.*; | 
|---|
|  |  |  | import com.moral.api.pojo.dto.user.UserDTO; | 
|---|
|  |  |  | import com.moral.api.pojo.dto.user.UserQueryDTO; | 
|---|
|  |  |  | import com.moral.api.pojo.form.user.UserDeleteForm; | 
|---|
|  |  |  | 
|---|
|  |  |  | UserMapper userMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | OrganizationMapper organizationMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | GroupMapper groupMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | UserGroupMapper userGroupMapper; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | GroupMenuMapper groupMenuMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public UserQueryDTO queryUsers(UserQueryForm form) { | 
|---|
|  |  |  | 
|---|
|  |  |  | dto.setMsg(ResponseCodeEnum.ORGANIZATION_USER_EXIST.getMsg()); | 
|---|
|  |  |  | return dto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //插入 | 
|---|
|  |  |  | //插入用户表 | 
|---|
|  |  |  | userMapper.insert(user); | 
|---|
|  |  |  | //创建组织admin角色 | 
|---|
|  |  |  | Group group = new Group(); | 
|---|
|  |  |  | group.setOrganizationId(organizationId); | 
|---|
|  |  |  | group.setGroupName("admin"); | 
|---|
|  |  |  | groupMapper.insert(group); | 
|---|
|  |  |  | //插入账号角色关联表 | 
|---|
|  |  |  | UserGroup userGroup = new UserGroup(); | 
|---|
|  |  |  | userGroup.setUserId(user.getId()); | 
|---|
|  |  |  | userGroup.setGroupId(group.getId()); | 
|---|
|  |  |  | userGroup.setOrganizationId(organizationId); | 
|---|
|  |  |  | userGroupMapper.insert(userGroup); | 
|---|
|  |  |  | //更新组织 | 
|---|
|  |  |  | Organization organization = new Organization(); | 
|---|
|  |  |  | organization.setAdminUserId(user.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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) { | 
|---|
|  |  |  | public UserDTO deleteUsersByOrganizationId(Integer organizationId) { | 
|---|
|  |  |  | //创建返回对象 | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | //逻辑删除,groupMenu | 
|---|
|  |  |  | UpdateWrapper deleteGroupMenuWrapper = new UpdateWrapper(); | 
|---|
|  |  |  | deleteGroupMenuWrapper.eq("organization_id", organizationId); | 
|---|
|  |  |  | deleteGroupMenuWrapper.set("is_delete", Constants.DELETE); | 
|---|
|  |  |  | groupMenuMapper.update(null, deleteGroupMenuWrapper); | 
|---|
|  |  |  | //逻辑删除,userGroup | 
|---|
|  |  |  | UpdateWrapper deleteUserGroupWrapper = new UpdateWrapper(); | 
|---|
|  |  |  | deleteUserGroupWrapper.eq("organization_id", organizationId); | 
|---|
|  |  |  | deleteUserGroupWrapper.set("is_delete", Constants.DELETE); | 
|---|
|  |  |  | userGroupMapper.update(null, deleteUserGroupWrapper); | 
|---|
|  |  |  | //逻辑删除,group | 
|---|
|  |  |  | UpdateWrapper deleteGroupWrapper = new UpdateWrapper(); | 
|---|
|  |  |  | deleteGroupWrapper.eq("organization_id", organizationId); | 
|---|
|  |  |  | deleteGroupWrapper.set("is_delete", Constants.DELETE); | 
|---|
|  |  |  | groupMapper.update(null, deleteGroupWrapper); | 
|---|
|  |  |  | //返回结果 | 
|---|
|  |  |  | dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); | 
|---|
|  |  |  | dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); | 
|---|
|  |  |  | return dto; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|