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