From 2736d16a8b1804f7291a56a147f76ef3584d6619 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 04 Jul 2022 19:35:31 +0800 Subject: [PATCH] fix 上传模板和查看栏目修改 --- src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java | 121 +++++++++++++++++++++++++++++++++------- 1 files changed, 100 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java index 7d13ef2..54e461c 100644 --- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java +++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/UserServiceImpl.java @@ -7,18 +7,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.farmer.cms.common.response.Result; -import com.xcong.farmer.cms.modules.system.dto.AdminAddUserDto; -import com.xcong.farmer.cms.modules.system.dto.AdminDeleteDto; -import com.xcong.farmer.cms.modules.system.dto.AdminUpdateUserDto; -import com.xcong.farmer.cms.modules.system.dto.AdminUserDto; +import com.xcong.farmer.cms.modules.system.dto.*; import com.xcong.farmer.cms.modules.system.entity.*; import com.xcong.farmer.cms.modules.system.mapper.*; import com.xcong.farmer.cms.modules.system.service.IUserService; import com.xcong.farmer.cms.modules.system.util.LoginUserUtil; -import com.xcong.farmer.cms.modules.system.vo.AdminRoleVo; -import com.xcong.farmer.cms.modules.system.vo.AdminSeeUserInfoVo; -import com.xcong.farmer.cms.modules.system.vo.AdminUserMenuVo; -import com.xcong.farmer.cms.modules.system.vo.AdminUserVo; +import com.xcong.farmer.cms.modules.system.vo.*; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import cn.hutool.core.util.StrUtil; @@ -28,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.Serializable; import java.util.*; @Service @@ -45,8 +40,16 @@ @Override public Result getUserInPage(AdminUserDto adminUserDto) { + UserEntity userlogin = LoginUserUtil.getLoginUser(); Page<AdminUserVo> page = new Page<>(adminUserDto.getPageNum(), adminUserDto.getPageSize()); UserEntity userEntity = new UserEntity(); + long companyId = userlogin.getCompanyId() == null ? UserEntity.USER_BELONG_TOP : userlogin.getCompanyId(); + if(companyId > UserEntity.USER_BELONG_TOP){ + userEntity.setCompanyId(companyId); + userEntity.setRoleName(RoleEntity.ROLE_ADMIN_NAME); + }else if(companyId == UserEntity.USER_BELONG_TOP){ + userEntity.setRoleName(RoleEntity.ROLE_SUPER_NAME); + } if(StrUtil.isNotEmpty(adminUserDto.getUsername())){ userEntity.setUsername(adminUserDto.getUsername()); } @@ -77,17 +80,19 @@ @Override @Transactional public Result addUser(AdminAddUserDto adminAddUserDto) { + UserEntity userlogin = LoginUserUtil.getLoginUser(); String username = adminAddUserDto.getUsername(); - if(StrUtil.isEmpty(username)){ - return Result.fail("请输入用户名"); + QueryWrapper<UserEntity> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("username",username); + List<UserEntity> userEntities = this.baseMapper.selectList(objectQueryWrapper); + if(CollUtil.isNotEmpty(userEntities)){ + return Result.fail("用户名重复"); } String roleIds = adminAddUserDto.getRoleIds(); - if(StrUtil.isEmpty(roleIds)){ - return Result.fail("请选择用户角色"); - } String phone = adminAddUserDto.getPhone(); - if(StrUtil.isEmpty(phone)){ - return Result.fail("请输入联系电话"); + Long belongId = adminAddUserDto.getBelongId() == null ? UserEntity.USER_BELONG_TOP:adminAddUserDto.getBelongId(); + if(belongId == UserEntity.USER_BELONG_TOP){ + return Result.fail("请选择所属公司"); } UserEntity userEntity = new UserEntity(); userEntity.setUsername(username); @@ -100,6 +105,7 @@ } userEntity.setPassword(SecureUtil.md5(UserEntity.PASSWORD_DEFAULT)); userEntity.setStatus(UserEntity.STATUS_ENABLE); + userEntity.setCompanyId(belongId); int insert = this.baseMapper.insert(userEntity); if(insert > 0){ saveUserRole(roleIds,userEntity.getId()); @@ -159,6 +165,7 @@ adminSeeUserInfoVo.setNickname(userEntity.getNickname()); adminSeeUserInfoVo.setPhone(userEntity.getPhone()); adminSeeUserInfoVo.setEmail(userEntity.getEmail()); + adminSeeUserInfoVo.setBelongId(userEntity.getCompanyId()); List<AdminRoleVo> adminRoleVos = new ArrayList<>(); QueryWrapper<UserRoleEntity> objectQueryWrapper = new QueryWrapper<>(); @@ -192,10 +199,15 @@ if(StrUtil.isEmpty(phone)){ return Result.fail("请输入联系电话"); } + Long belongId = adminUpdateUserDto.getBelongId() == null ? UserEntity.USER_BELONG_TOP : adminUpdateUserDto.getBelongId(); + if(UserEntity.USER_BELONG_TOP == belongId){ + return Result.fail("请输入所属公司"); + } UserEntity userEntity = this.baseMapper.selectById(adminUpdateUserDto.getId()); if(ObjectUtil.isEmpty(userEntity)){ return Result.fail("用户不存在"); } + userEntity.setCompanyId(belongId); userEntity.setUsername(username); userEntity.setPhone(phone); if(StrUtil.isNotEmpty(adminUpdateUserDto.getNickname())){ @@ -230,7 +242,8 @@ @Override public Result userMenu() { - Long userId = LoginUserUtil.getLoginUser().getId(); + UserEntity loginUser = LoginUserUtil.getLoginUser(); + Long userId = loginUser.getId(); List<AdminUserMenuVo> adminUserMenuVos = new ArrayList<>(); QueryWrapper<UserRoleEntity> userRoleQueryWrapper = new QueryWrapper<>(); @@ -238,11 +251,20 @@ List<UserRoleEntity> userRoleEntities = userRoleMapper.selectList(userRoleQueryWrapper); if(CollUtil.isNotEmpty(userRoleEntities)){ List menuIds = new ArrayList<Long>(); - for(UserRoleEntity userRoleEntity : userRoleEntities){ - List<RoleMenuEntity> roleMenuEntities = roleMenuMapper.selectListByRoleId(userRoleEntity.getRoleId()); - if(CollUtil.isNotEmpty(roleMenuEntities)){ - for(RoleMenuEntity roleMenuEntity : roleMenuEntities){ - menuIds.add(roleMenuEntity.getMenuId()); + if(UserEntity.USERNAME_DEFAULT.equals(loginUser.getUsername())){ + List<MenuEntity> menuEntities = menuMapper.selectList(new QueryWrapper<>()); + if(CollUtil.isNotEmpty(menuEntities)){ + for(MenuEntity menuEntity : menuEntities){ + menuIds.add(menuEntity.getId()); + } + } + }else{ + for(UserRoleEntity userRoleEntity : userRoleEntities){ + List<RoleMenuEntity> roleMenuEntities = roleMenuMapper.selectListByRoleId(userRoleEntity.getRoleId()); + if(CollUtil.isNotEmpty(roleMenuEntities)){ + for(RoleMenuEntity roleMenuEntity : roleMenuEntities){ + menuIds.add(roleMenuEntity.getMenuId()); + } } } } @@ -291,6 +313,20 @@ } } + if(CollUtil.isNotEmpty(adminUserMenuVos)){ + for(AdminUserMenuVo adminUserMenuVo : adminUserMenuVos){ + List<AdminUserMenuVo> child = adminUserMenuVo.getChild(); + if(CollUtil.isNotEmpty(child)){ + List<Long> menuIdChilds = new ArrayList<>(); + for(AdminUserMenuVo adminUserMenuVoChild : child){ + Long id = adminUserMenuVoChild.getId(); + menuIdChilds.add(id); + } + List<AdminUserMenuVo> adminUserMenuVoByOrderNum = menuMapper.selectAdminUserMenuVoOrderByOrderNum(menuIdChilds); + adminUserMenuVo.setChild(adminUserMenuVoByOrderNum); + } + } + } return Result.ok(adminUserMenuVos); } @@ -314,6 +350,49 @@ return Result.ok("删除成功"); } + @Override + @Transactional + public Result updatePassword(AdminUpdatePasswordDto adminUpdatePasswordDto) { + UserEntity loginUser = LoginUserUtil.getLoginUser(); + Long userId = loginUser.getId(); + UserEntity userEntity = this.baseMapper.selectById(userId); + if(ObjectUtil.isEmpty(userEntity)){ + return Result.fail("用户不存在"); + } + String oldPassword = adminUpdatePasswordDto.getOldPassword(); + if(StrUtil.isEmpty(oldPassword)){ + return Result.fail("请输入原密码"); + } + String newPassword = adminUpdatePasswordDto.getNewPassword(); + if(StrUtil.isEmpty(newPassword)){ + return Result.fail("请输入新密码"); + } + String s = SecureUtil.md5(oldPassword); + if(!userEntity.getPassword().equals(s)){ + return Result.fail("原密码不正确,请联系管理员重置密码"); + } + userEntity.setPassword(SecureUtil.md5(newPassword)); + this.baseMapper.updateById(userEntity); + return Result.ok("修改成功"); + } + + @Override + public Result userInfo() { + UserEntity loginUser = LoginUserUtil.getLoginUser(); + Long id = loginUser.getId(); + UserEntity userEntity = this.baseMapper.selectById(id); + if(ObjectUtil.isEmpty(userEntity)){ + return Result.fail("用户不存在"); + } + AdminUserInfoVo adminUserInfoVo = new AdminUserInfoVo(); + adminUserInfoVo.setId(userEntity.getId()); + adminUserInfoVo.setUsername(userEntity.getUsername()); + adminUserInfoVo.setNickname(userEntity.getNickname()); + adminUserInfoVo.setPhone(userEntity.getPhone()); + adminUserInfoVo.setEmail(userEntity.getEmail()); + return Result.ok(adminUserInfoVo); + } + private void saveUserRole(String roleIds,Long userId) { if (StrUtil.isNotEmpty(roleIds)) { String[] roleIdList = roleIds.split(StringPool.COMMA); -- Gitblit v1.9.1