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