From fd7b8fb7c89832c28a838b0449bbb8a392433ee2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 22 四月 2025 14:33:02 +0800 Subject: [PATCH] 将华为云短信替换成阿里云短信 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 175 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 125 insertions(+), 50 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 6807712..4a467b6 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 @@ -1,46 +1,43 @@ package com.ruoyi.system.service.impl; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import javax.annotation.Resource; -import javax.validation.Validator; - +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.core.web.page.PageInfo; -import com.ruoyi.common.security.service.TokenService; -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.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 org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; +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; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.bean.BeanValidators; +import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.datascope.annotation.DataScope; +import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; +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.mapper.SysPostMapper; -import com.ruoyi.system.mapper.SysRoleMapper; -import com.ruoyi.system.mapper.SysUserMapper; -import com.ruoyi.system.mapper.SysUserPostMapper; -import com.ruoyi.system.mapper.SysUserRoleMapper; +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.*; +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.*; +import java.util.stream.Collectors; /** * 用户 业务层处理 @@ -80,6 +77,19 @@ @Resource private TokenService tokenService; + + @Lazy + @Resource + private ISysDeptService deptService; + + @Resource + private UserShopService userShopService; + + @Resource + private AppUserShopClient appUserShopClient; + + @Resource + private AppUserClient appUserClient; /** @@ -127,6 +137,10 @@ @Override public SysUser selectUserByUserName(String userName) { return userMapper.selectUserByUserName(userName); + } + @Override + public SysUser selectUserShopByUserName(String userName) { + return userMapper.selectUserShopByUserName(userName); } /** @@ -179,13 +193,22 @@ @Override public boolean checkUserNameUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + SysUser info = userMapper.checkUserNameUnique(user); if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } return UserConstants.UNIQUE; } - + + @Override + public boolean checkNickNameUnique(SysUser user) { + SysUser info = userMapper.checkNickNameUnique(user); + if (StringUtils.isNotNull(info) ) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + /** * 校验手机号码是否唯一 * @@ -195,7 +218,7 @@ @Override public boolean checkPhoneUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); - SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); + SysUser info = userMapper.checkPhoneUnique(user); if (StringUtils.isNotNull(info)) { return UserConstants.NOT_UNIQUE; } @@ -287,15 +310,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); } @@ -367,6 +381,10 @@ @Override public int resetUserPwd(String userName, String password) { return userMapper.resetUserPwd(userName, password); + } + @Override + public int resetUserShopPwd(String userName, String password) { + return userMapper.resetUserShopPwd(userName, password); } /** @@ -442,16 +460,36 @@ */ @Override @Transactional(rollbackFor = Exception.class) - public int deleteUserByIds(Long[] userIds) { - for (Long userId : userIds) { + public void deleteUserByIds(Long[] 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()); + } + } } /** @@ -514,7 +552,39 @@ @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) { + 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()); + } + 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); } @@ -535,6 +605,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