From f6b20962bb0453683e9366a3f87b7ec9bfaed03c Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 14 一月 2025 15:18:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 83 ++++++++++++++++++++++++++++++----------- 1 files changed, 60 insertions(+), 23 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 291ae90..93cccc5 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,6 +2,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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; @@ -79,6 +83,12 @@ @Resource private UserShopService userShopService; + + @Resource + private AppUserShopClient appUserShopClient; + + @Resource + private AppUserClient appUserClient; /** @@ -442,7 +452,9 @@ @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); } @@ -450,20 +462,34 @@ // userRoleMapper.deleteUserRole(userIds); // // 删除用户与岗位关联 // userPostMapper.deleteUserPost(userIds); - int i = userMapper.deleteUserByIds(userIds); +// int i = 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, user.getObjectId())); - UserShop userShop = new UserShop(); - userShop.setUserId(user.getUserId()); - userShop.setShopId(user.getObjectId()); - userShop.setRoleType(2); - userShop.setRoleId(user.getRoleId()); - userShopService.save(userShop); - } + 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){ + user.setDelFlag("2"); + this.updateById(user); + } + }else{ + user.setDelFlag("2"); + this.updateById(user); + } } - return i; + return 0; } /** @@ -533,20 +559,31 @@ } 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<String> roleNames = new ArrayList<>(); - for (SysUserRole sysUserRole : list1) { - SysRole sysRole = sysRoleService.selectRoleById(sysUserRole.getRoleId()); - if(null == sysRole){ - 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()); } - roleNames.add(sysRole.getRoleName()); + 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); } - 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); } return pageInfo.setRecords(list); } -- Gitblit v1.7.1