diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java index 77a296b..0f4abe7 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java @@ -1,10 +1,5 @@ package com.ruoyi.framework.web.service; -import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.system.domain.SysRegisterRequest; -import com.ruoyi.system.service.ISysRegisterRequestService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.UserConstants; @@ -18,11 +13,12 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.manager.AsyncManager; import com.ruoyi.framework.manager.factory.AsyncFactory; +import com.ruoyi.system.domain.SysRegisterRequest; import com.ruoyi.system.service.ISysConfigService; +import com.ruoyi.system.service.ISysRegisterRequestService; import com.ruoyi.system.service.ISysUserService; - -import java.util.Random; -import java.util.concurrent.TimeUnit; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; /** * 注册校验方法 @@ -101,7 +97,9 @@ public class SysRegisterService sysUser.setCompany(company); sysUser.setPosition(position); sysUser.setPassword(SecurityUtils.encryptPassword(password)); - sysUser.setStatus("3"); //设置为审核中 + sysUser.setStatus("0"); + // 设置普通客户角色 + sysUser.setRoleIds(new Long[]{81L}); boolean regFlag = userService.registerUser(sysUser); if (!regFlag) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRegisterRequestService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRegisterRequestService.java index 2a77ac3..62bcddb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRegisterRequestService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRegisterRequestService.java @@ -63,7 +63,8 @@ public interface ISysRegisterRequestService * 审核注册申请 * @param requestId 申请id * @param approve 是否通过审核 true通过 false驳回 - * @param remark + * @param remark 备注 + * @param roleIds 角色id数组 */ - public void approve(Long requestId, boolean approve, String remark); + public void approve(Long requestId, boolean approve, String remark, Long[] roleIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRegisterRequestServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRegisterRequestServiceImpl.java index 36273df..b55db8e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRegisterRequestServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRegisterRequestServiceImpl.java @@ -1,12 +1,16 @@ package com.ruoyi.system.service.impl; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.mapper.SysUserRoleMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.system.mapper.SysRegisterRequestMapper; @@ -29,6 +33,9 @@ public class SysRegisterRequestServiceImpl implements ISysRegisterRequestService @Autowired private SysUserMapper sysUserMapper; + @Autowired + private SysUserRoleMapper userRoleMapper; + /** * 查询注册申请 * @@ -105,23 +112,42 @@ public class SysRegisterRequestServiceImpl implements ISysRegisterRequestService @Transactional @Override - public void approve(Long requestId, boolean approve, String remark) { + public void approve(Long requestId, boolean approve, String remark, Long[] roleIds) { SysRegisterRequest request = sysRegisterRequestMapper.selectSysRegisterRequestByRequestId(requestId); if (request == null) { - throw new RuntimeException("申请不存在"); + throw new RuntimeException("注册申请不存在"); } SysUser user = sysUserMapper.selectUserById(request.getUserId()); + user.setRoleIds(roleIds); if (user == null) { new RuntimeException("用户不存在"); } if (approve) { - request.setStatus("1"); - user.setStatus("0"); + request.setStatus("1"); // 人工审核通过 + // 删除用户与角色关联 + userRoleMapper.deleteUserRoleByUserId(user.getUserId()); + // 新增用户与角色管理 + if (StringUtils.isNotEmpty(roleIds)) + { + // 新增用户与角色管理 + List list = new ArrayList(roleIds.length); + for (Long roleId : roleIds) + { + SysUserRole ur = new SysUserRole(); + ur.setUserId(user.getUserId()); + ur.setRoleId(roleId); + list.add(ur); + } + userRoleMapper.batchUserRole(list); + } + } else { - request.setStatus("2"); - user.setDelFlag("2"); // 删除 + request.setStatus("2"); // 已驳回 + user.setDelFlag("2"); // 设置为删除 + + // TODO 发送邮箱告知注册审核被驳回 } request.setRemark(remark); request.setUpdateTime(DateUtils.getNowDate()); diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index bace324..63e7b90 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -274,7 +274,10 @@ public class SysUserServiceImpl implements ISysUserService @Override public boolean registerUser(SysUser user) { - return userMapper.insertUser(user) > 0; + int rows = userMapper.insertUser(user); + // 设置角色 + insertUserRole(user); + return rows > 0; } /**