From d4df3d1234d211099d1ac1b1d32dad92cc5fbccf Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 15 一月 2025 15:34:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 149 +++++++++++++++++++++++++++++--------------------
1 files changed, 87 insertions(+), 62 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 064938a..e71b4f8 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.chargingPile.api.feignClient.SiteClient;
-import com.ruoyi.chargingPile.api.model.Site;
+import com.ruoyi.account.api.feignClient.AppUserClient;
+import com.ruoyi.account.api.feignClient.AppUserShopClient;
+import com.ruoyi.account.api.model.AppUser;
+import com.ruoyi.account.api.model.AppUserShop;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils;
@@ -13,32 +15,27 @@
import com.ruoyi.common.datascope.annotation.DataScope;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.other.api.feignClient.RoleSiteClient;
-import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.system.api.domain.SysDept;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.model.UserShop;
import com.ruoyi.system.api.query.ChangeUserQuery;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.query.GetSysUserList;
-import com.ruoyi.system.service.ISysConfigService;
-import com.ruoyi.system.service.ISysRoleService;
-import com.ruoyi.system.service.ISysUserRoleService;
-import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.service.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.validation.Validator;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -75,19 +72,23 @@
private ISysUserRoleService sysUserRoleService;
@Resource
- private RoleSiteClient roleSiteClient;
-
- @Resource
- private UserSiteClient userSiteClient;
-
- @Resource
- private SiteClient siteClient;
-
- @Resource
private ISysRoleService sysRoleService;
@Resource
private TokenService tokenService;
+
+ @Lazy
+ @Resource
+ private ISysDeptService deptService;
+
+ @Resource
+ private UserShopService userShopService;
+
+ @Resource
+ private AppUserShopClient appUserShopClient;
+
+ @Resource
+ private AppUserClient appUserClient;
/**
@@ -135,6 +136,10 @@
@Override
public SysUser selectUserByUserName(String userName) {
return userMapper.selectUserByUserName(userName);
+ }
+ @Override
+ public SysUser selectUserShopByUserName(String userName) {
+ return userMapper.selectUserShopByUserName(userName);
}
/**
@@ -295,15 +300,6 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int updateUser(SysUser user) {
-// Long userId = user.getUserId();
-// // 删除用户与角色关联
-// userRoleMapper.deleteUserRoleByUserId(userId);
-// // 新增用户与角色管理
-// insertUserRole(user);
-// // 删除用户与岗位关联
-// userPostMapper.deleteUserPostByUserId(userId);
-// // 新增用户与岗位管理
-// insertUserPost(user);
return userMapper.updateUser(user);
}
@@ -451,15 +447,36 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int deleteUserByIds(Long[] userIds) {
- for (Long userId : userIds) {
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser sysUser = this.getById(userid);
+ for (Long userId : userIds) {
checkUserAllowed(new SysUser(userId));
-// checkUserDataScope(userId);
}
- // 删除用户与角色关联
-// userRoleMapper.deleteUserRole(userIds);
-// // 删除用户与岗位关联
-// userPostMapper.deleteUserPost(userIds);
- return userMapper.deleteUserByIds(userIds);
+ List<SysUser> sysUsers = this.listByIds(Arrays.asList(userIds));
+ for (SysUser user : sysUsers) {
+ if(2 == user.getRoleType()){
+ userShopService.remove(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, sysUser.getObjectId()));
+ AppUser appUser = appUserClient.getAppUserByPhone1(user.getPhonenumber()).getData();
+ if(null != appUser){
+ AppUserShop appUserShop = new AppUserShop();
+ appUserShop.setAppUserId(appUser.getId());
+ appUserShop.setShopId(sysUser.getObjectId());
+ appUserShopClient.delAppUserShop(appUserShop);
+ int size = appUserShopClient.getAppUserShop(appUser.getId()).getData().size();
+ if(size == 0){
+ appUser.setUserType(1);
+ appUserClient.editAppUserById(appUser);
+ }
+ }
+ long count = userShopService.count(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()));
+ if(0 == count){
+ userMapper.deleteUserById(user.getUserId());
+ }
+ }else{
+ userMapper.deleteUserById(user.getUserId());
+ }
+ }
+ return 0;
}
/**
@@ -522,35 +539,38 @@
@Override
public PageInfo<SysUser> getList(PageInfo<SysUser> pageInfo, GetSysUserList getSysUserList) {
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser sysUser1 = this.getById(userid);
+ if(sysUser1.getRoleType() == 2){
+ getSysUserList.setObjectId(sysUser1.getObjectId());
+ }
List<SysUser> list = this.baseMapper.getList(pageInfo, getSysUserList);
for (SysUser sysUser : list) {
- List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId()));
- List<Integer> data1 = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
- if (null == data1) {
- data1 = new ArrayList<>();
- }
- for (SysUserRole sysUserRole : list1) {
- List<Integer> data = roleSiteClient.getSiteIds(sysUserRole.getRoleId()).getData();
- if (null == data) {
- continue;
+ if(sysUser.getRoleType() == 2){
+ UserShop userShop = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getShopId, sysUser1.getObjectId()).eq(UserShop::getUserId, sysUser.getUserId()));
+ SysRole sysRole = roleMapper.selectRoleById(userShop.getRoleId());
+ Long[] roleIds = new Long[]{userShop.getRoleId()};
+ sysUser.setNickName(userShop.getNickName());
+ sysUser.setRoleIds(roleIds);
+ sysUser.setRoleNames(Arrays.asList(sysRole.getRoleName()));
+ SysDept sysDept = deptService.selectDeptById(userShop.getDeptId());
+ sysUser.setDept(sysDept);
+ }else{
+ List<SysUserRole> list1 = sysUserRoleService.list(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, sysUser.getUserId()));
+ List<String> roleNames = new ArrayList<>();
+ for (SysUserRole sysUserRole : list1) {
+ SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId());
+ if(null == sysRole){
+ continue;
+ }
+ roleNames.add(sysRole.getRoleName());
}
- data1.addAll(data);
+ Long[] roleIds = new Long[]{};
+ sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds));
+ sysUser.setRoleNames(roleNames);
+ SysDept sysDept = deptService.selectDeptById(sysUser.getDeptId());
+ sysUser.setDept(sysDept);
}
- Set<Integer> siteIds = new HashSet<>(data1);
- List<Site> data = siteClient.getSiteByIds(siteIds.stream().collect(Collectors.toList())).getData();
- if (null != data) {
- List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList());
- sysUser.setSiteNames(siteNames);
- sysUser.setSiteIds(data.stream().map(Site::getId).collect(Collectors.toList()));
- }
- List<String> roleNames = new ArrayList<>();
- for (SysUserRole sysUserRole : list1) {
- SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId());
- roleNames.add(sysRole.getRoleName());
- }
- Long[] roleIds = new Long[]{};
- sysUser.setRoleIds(list1.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()).toArray(roleIds));
- sysUser.setRoleNames(roleNames);
}
return pageInfo.setRecords(list);
}
@@ -572,6 +592,11 @@
@Override
public PageInfo<SysUser> getChangeUserList(ChangeUserQuery query) {
+ Long userid = tokenService.getLoginUser().getUserid();
+ SysUser sysUser1 = this.getById(userid);
+ if(sysUser1.getRoleType() == 2){
+ query.setObjectId(sysUser1.getObjectId());
+ }
PageInfo<SysUser> pageInfo = new PageInfo<>(query.getPageCurr(), query.getPageSize());
List<SysUser> list = this.baseMapper.getChangeUserList(pageInfo, query);
return pageInfo.setRecords(list);
--
Gitblit v1.7.1