diff --git a/cloud-auth/src/main/java/com/muyu/auth/CloudAuthApplication.java b/cloud-auth/src/main/java/com/muyu/auth/CloudAuthApplication.java index 404413f..c675ad1 100644 --- a/cloud-auth/src/main/java/com/muyu/auth/CloudAuthApplication.java +++ b/cloud-auth/src/main/java/com/muyu/auth/CloudAuthApplication.java @@ -25,5 +25,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class CloudAuthApplication { public static void main (String[] args) { SpringApplication.run(CloudAuthApplication.class, args); + System.out.println("CloudAuth 模块启动成功!"); } } diff --git a/cloud-auth/src/main/resources/bootstrap.yml b/cloud-auth/src/main/resources/bootstrap.yml index c025eb4..930ce5a 100644 --- a/cloud-auth/src/main/resources/bootstrap.yml +++ b/cloud-auth/src/main/resources/bootstrap.yml @@ -40,8 +40,8 @@ spring: file-extension: yml # 共享配置 shared-configs: - # 系统共享配置 - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 系统环境Config共享配置 - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # 系统共享配置 + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java index 7644e1d..e2cde5d 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUser.java @@ -1,5 +1,8 @@ package com.muyu.common.system.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.annotation.Excel.Type; @@ -28,6 +31,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) +@TableName("sys_user") public class SysUser extends BaseEntity { private static final long serialVersionUID = 1L; @@ -35,6 +39,7 @@ public class SysUser extends BaseEntity { * 用户ID */ @Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号") + @TableId(type = IdType.AUTO) private Long userId; private Integer isAdmin; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserPost.java similarity index 90% rename from cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java rename to cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserPost.java index 229dc70..d8794f9 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserPost.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserPost.java @@ -1,4 +1,4 @@ -package com.muyu.system.domain; +package com.muyu.common.system.domain; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserRole.java similarity index 90% rename from cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java rename to cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserRole.java index ee9c945..bdc8248 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/domain/SysUserRole.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/domain/SysUserRole.java @@ -1,4 +1,4 @@ -package com.muyu.system.domain; +package com.muyu.common.system.domain; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index 5f5e545..f595554 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -4,12 +4,10 @@ import com.muyu.common.core.constant.SecurityConstants; import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.common.system.domain.SysEnt; -import com.muyu.common.system.domain.SysFirmUser; -import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.domain.*; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; -import com.muyu.common.system.domain.LoginUser; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -59,4 +57,35 @@ public interface RemoteUserService { */ @PostMapping("/permission/getMenu") public Set getMenuPermission (@RequestBody SysUser user); + + + + /** + * 根据部门编号获取详细信息 + */ + @GetMapping(value = "/dept/{deptId}") + public Result selectDeptById (@PathVariable("deptId") Long deptId); + + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + @PostMapping("/user/insertUserRole") + public void insertUserRole (@RequestBody SysUser user); + + /** + * 新增用户岗位信息 + * + * @param user 用户对象 + */ + @PostMapping("/user/insertUserPost") + public void insertUserPost (@RequestBody SysUser user); + + /** + * 注册用户 + */ + @PostMapping("/user") + public Result addUser (@RequestBody SysUser user); } diff --git a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java index 6f52a69..e754b9d 100644 --- a/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java +++ b/cloud-common/cloud-common-system/src/main/java/com/muyu/common/system/remote/factory/RemoteUserFallbackFactory.java @@ -2,11 +2,8 @@ package com.muyu.common.system.remote.factory; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.common.system.domain.SysEnt; -import com.muyu.common.system.domain.SysFirmUser; +import com.muyu.common.system.domain.*; import com.muyu.common.system.remote.RemoteUserService; -import com.muyu.common.system.domain.SysUser; -import com.muyu.common.system.domain.LoginUser; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -54,6 +51,26 @@ public class RemoteUserFallbackFactory implements FallbackFactory selectDeptById(Long deptId) { + return Result.error(); + } + + @Override + public void insertUserRole(SysUser user) { + log.warn("新增用户角色失败!"); + } + + @Override + public void insertUserPost(SysUser user) { + log.warn("新增用户权限失败!"); + } + + @Override + public Result addUser(SysUser user) { + return Result.error(throwable); + } + }; } } diff --git a/cloud-gateway/src/main/java/com/muyu/gateway/CloudGatewayApplication.java b/cloud-gateway/src/main/java/com/muyu/gateway/CloudGatewayApplication.java index 43c7ed9..f962432 100644 --- a/cloud-gateway/src/main/java/com/muyu/gateway/CloudGatewayApplication.java +++ b/cloud-gateway/src/main/java/com/muyu/gateway/CloudGatewayApplication.java @@ -13,5 +13,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class CloudGatewayApplication { public static void main (String[] args) { SpringApplication.run(CloudGatewayApplication.class, args); + System.out.println("CloudGateway 模块启动成功!"); } } diff --git a/cloud-gateway/src/main/resources/bootstrap.yml b/cloud-gateway/src/main/resources/bootstrap.yml index 1c20d8f..fbabcb7 100644 --- a/cloud-gateway/src/main/resources/bootstrap.yml +++ b/cloud-gateway/src/main/resources/bootstrap.yml @@ -22,29 +22,29 @@ spring: discovery: # 服务注册地址 server-addr: ${nacos.addr} - # nacos用户名 - username: ${nacos.user-name} - # nacos密码 - password: ${nacos.password} +# # nacos用户名 +# username: ${nacos.user-name} +# # nacos密码 +# password: ${nacos.password} # 命名空间 namespace: ${nacos.namespace} config: # 服务注册地址 server-addr: ${nacos.addr} - # nacos用户名 - username: ${nacos.user-name} - # nacos密码 - password: ${nacos.password} +# # nacos用户名 +# username: ${nacos.user-name} +# # nacos密码 +# password: ${nacos.password} # 命名空间 namespace: ${nacos.namespace} # 配置文件格式 file-extension: yml # 共享配置 shared-configs: - # 系统共享配置 - - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} # 系统环境Config共享配置 - application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + # 系统共享配置 + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} sentinel: # 取消控制台懒加载 eager: true diff --git a/cloud-modules/cloud-modules-file/src/main/java/com/muyu/file/CloudFileApplication.java b/cloud-modules/cloud-modules-file/src/main/java/com/muyu/file/CloudFileApplication.java index 4e1c628..a7b6fcc 100644 --- a/cloud-modules/cloud-modules-file/src/main/java/com/muyu/file/CloudFileApplication.java +++ b/cloud-modules/cloud-modules-file/src/main/java/com/muyu/file/CloudFileApplication.java @@ -13,5 +13,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class CloudFileApplication { public static void main (String[] args) { SpringApplication.run(CloudFileApplication.class, args); + System.out.println("CloudFile 模块启动成功!"); } } diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/controller/SysUserController.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/controller/SysUserController.java index 6f98288..8f48cb7 100644 --- a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/controller/SysUserController.java @@ -3,18 +3,25 @@ package com.muyu.system.saas.controller; import com.muyu.cloud.common.many.datasource.holder.DynamicDataSourceHolder; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.StringUtils; +import com.muyu.common.core.web.controller.BaseController; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.InnerAuth; +import com.muyu.common.security.annotation.RequiresPermissions; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.remote.RemoteUserService; import com.muyu.system.saas.service.SysUserService; import javax.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import lombok.extern.slf4j.Slf4j; + /** * @Author: 胡杨 * @Name: SysUser @@ -25,7 +32,9 @@ import lombok.extern.slf4j.Slf4j; @Slf4j @RestController @RequestMapping("/user") -public class SysUserController { +public class SysUserController extends BaseController { + @Resource + private RemoteUserService remoteUserService; @Resource private SysUserService userService; @@ -37,8 +46,45 @@ public class SysUserController { DynamicDataSourceHolder.setDynamicDataSourceKey(firmCode); SysUser sysUser = userService.selectUserByUserName(userName); if (StringUtils.isNull(sysUser)) { - return Result.error("用户名或密码错误"); + return error("用户名或密码错误"); } return Result.success(sysUser); } + + + /** + * 新增用户 + */ + @RequiresPermissions("system:user:add") + @Log(title = "用户管理", businessType = BusinessType.INSERT) + @PostMapping + public Result add (@Validated @RequestBody SysUser user) { + SysUser checked = userService.checkUserNameUnique(user); + if (ObjectUtils.isNotEmpty(checked)) { + if (checked.getUserName().equals(user.getUserName())) { + return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在"); + } else if (StringUtils.isNotEmpty(user.getPhonenumber()) && checked.getPhonenumber().equals(user.getPhonenumber())) { + return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在"); + } else if (StringUtils.isNotEmpty(user.getEmail()) && checked.getEmail().equals(user.getEmail())) { + return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在"); + } + } + user.setCreateBy(SecurityUtils.getUsername()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + + String saasKey = SecurityUtils.getSaasKey(); + if ("FIRM".equals(saasKey)) { + SysDept sysDept = remoteUserService.selectDeptById(user.getDeptId()).getData(); + if (ObjectUtils.isEmpty(sysDept)){ + return error("部门不存在!"); + } + user.setFirmCode(sysDept.getFirmCode()); + }else { + user.setFirmCode(saasKey); + } + userService.save(user); + userService.insertUserPost(user); + userService.insertUserRole(user); + return remoteUserService.addUser(user); + } } diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserMapper.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserMapper.java index a835961..62c3965 100644 --- a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserMapper.java +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserMapper.java @@ -19,4 +19,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface SysUserMapper extends BaseMapper { SysUser selectUserByUserName(@Param("userName") String userName); + } diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserPostMapper.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserPostMapper.java new file mode 100644 index 0000000..806f76d --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserPostMapper.java @@ -0,0 +1,49 @@ +package com.muyu.system.saas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.common.system.domain.SysUserPost; + +import java.util.List; + +/** + * 用户与岗位关联表 数据层 + * + * @author muyu + */ +public interface SysUserPostMapper extends BaseMapper { + /** + * 通过用户ID删除用户和岗位关联 + * + * @param userId 用户ID + * + * @return 结果 + */ + public int deleteUserPostByUserId (Long userId); + + /** + * 通过岗位ID查询岗位使用数量 + * + * @param postId 岗位ID + * + * @return 结果 + */ + public int countUserPostById (Long postId); + + /** + * 批量删除用户和岗位关联 + * + * @param ids 需要删除的数据ID + * + * @return 结果 + */ + public int deleteUserPost (Long[] ids); + + /** + * 批量新增用户岗位信息 + * + * @param userPostList 用户角色列表 + * + * @return 结果 + */ + public int batchUserPost (List userPostList); +} diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserRoleMapper.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserRoleMapper.java new file mode 100644 index 0000000..d5c8072 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/mapper/SysUserRoleMapper.java @@ -0,0 +1,69 @@ +package com.muyu.system.saas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.common.system.domain.SysUserRole; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 用户与角色关联表 数据层 + * + * @author muyu + */ +public interface SysUserRoleMapper extends BaseMapper { + /** + * 通过用户ID删除用户和角色关联 + * + * @param userId 用户ID + * + * @return 结果 + */ + public int deleteUserRoleByUserId (Long userId); + + /** + * 批量删除用户和角色关联 + * + * @param ids 需要删除的数据ID + * + * @return 结果 + */ + public int deleteUserRole (Long[] ids); + + /** + * 通过角色ID查询角色使用数量 + * + * @param roleId 角色ID + * + * @return 结果 + */ + public int countUserRoleByRoleId (Long roleId); + + /** + * 批量新增用户角色信息 + * + * @param userRoleList 用户角色列表 + * + * @return 结果 + */ + public int batchUserRole (List userRoleList); + + /** + * 删除用户和角色关联信息 + * + * @param userRole 用户和角色关联信息 + * + * @return 结果 + */ + public int deleteUserRoleInfo (SysUserRole userRole); + + /** + * 批量取消授权用户角色 + * + * @param roleId 角色ID + * @param userIds 需要删除的用户数据ID + * + * @return 结果 + */ + public int deleteUserRoleInfos (@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); +} diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/SysUserService.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/SysUserService.java index 8397088..6dab258 100644 --- a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/SysUserService.java +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/SysUserService.java @@ -15,4 +15,27 @@ import com.muyu.common.system.domain.SysUser; public interface SysUserService extends IService { SysUser selectUserByUserName(String userName); + + /** + * 校验用户名称是否唯一 + * + * @param user 用户信息 + * + * @return 结果 + */ + public SysUser checkUserNameUnique (SysUser user); + + /** + * 新增用户岗位信息 + * + * @param user 用户对象 + */ + public void insertUserPost (SysUser user); + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserRole (SysUser user); } diff --git a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/impl/SysUserServiceImpl.java index f2422a4..559cf9b 100644 --- a/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system-saas/src/main/java/com/muyu/system/saas/service/impl/SysUserServiceImpl.java @@ -4,12 +4,23 @@ package com.muyu.system.saas.service.impl; import javax.annotation.Resource; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.muyu.common.core.constant.UserConstants; +import com.muyu.common.core.utils.StringUtils; import com.muyu.common.system.domain.SysUser; +import com.muyu.common.system.domain.SysUserPost; +import com.muyu.common.system.domain.SysUserRole; +import com.muyu.common.system.remote.RemoteUserService; +import com.muyu.system.saas.mapper.SysUserPostMapper; +import com.muyu.system.saas.mapper.SysUserRoleMapper; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.system.saas.mapper.SysUserMapper; import com.muyu.system.saas.service.SysUserService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; /** * @Author: 胡杨 @@ -24,10 +35,96 @@ import com.muyu.system.saas.service.SysUserService; public class SysUserServiceImpl extends ServiceImpl implements SysUserService { @Resource + private RemoteUserService remoteUserService; + @Resource private SysUserMapper userMapper; + @Resource + private SysUserPostMapper userPostMapper; + @Resource + private SysUserRoleMapper userRoleMapper; @Override public SysUser selectUserByUserName(String userName) { return userMapper.selectUserByUserName(userName); } + + /** + * 校验用户名称/手机号/邮箱是否唯一 + * + * @param user 用户信息 + * + * @return 结果 + */ + @Override + public SysUser checkUserNameUnique (SysUser user) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper + .eq( + StringUtils.isNotNull(user.getUserId()), + SysUser::getUserId, user.getUserId() + ) + .eq(SysUser::getUserName, user.getUserName()) + .or() + .eq(SysUser::getPhonenumber, user.getPhonenumber()) + .or() + .eq(SysUser::getEmail, user.getEmail()) + .last("LIMIT 1"); + return this.getOne(queryWrapper); + } + + /** + * 新增用户岗位信息 + * + * @param user 用户对象 + */ + @Override + public void insertUserPost (SysUser user) { + Long[] posts = user.getPostIds(); + if (StringUtils.isNotEmpty(posts)) { + // 新增用户与岗位管理 + List list = new ArrayList(); + for (Long postId : posts) { + SysUserPost up = new SysUserPost(); + up.setUserId(user.getUserId()); + up.setPostId(postId); + list.add(up); + } + userPostMapper.batchUserPost(list); + } + } + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + @Override + public void insertUserRole (SysUser user) { + this.insertUserRole(user.getUserId(), user.getRoleIds()); + } + + /** + * 新增用户角色信息 + * + * @param userId 用户ID + * @param roleIds 角色组 + */ + public void insertUserRole (Long userId, Long[] roleIds) { + if (StringUtils.isNotEmpty(roleIds)) { + // 新增用户与角色管理 + List list = new ArrayList(); + for (Long roleId : roleIds) { + SysUserRole ur = new SysUserRole(); + ur.setUserId(userId); + ur.setRoleId(roleId); + list.add(ur); + } + userRoleMapper.batchUserRole(list); + } + } + + + + + } diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserPostMapper.xml b/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserPostMapper.xml new file mode 100644 index 0000000..f6bf547 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserPostMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + delete + from sys_user_post + where user_id = #{userId} + + + + + + delete from sys_user_post where user_id in + + #{userId} + + + + + insert into sys_user_post(user_id, post_id) values + + (#{item.userId},#{item.postId}) + + + + diff --git a/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserRoleMapper.xml b/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserRoleMapper.xml new file mode 100644 index 0000000..b352741 --- /dev/null +++ b/cloud-modules/cloud-modules-system-saas/src/main/resources/mapper/saas/SysUserRoleMapper.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + delete + from sys_user_role + where user_id = #{userId} + + + + + + delete from sys_user_role where user_id in + + #{userId} + + + + + insert into sys_user_role(user_id, role_id) values + + (#{item.userId},#{item.roleId}) + + + + + delete + from sys_user_role + where user_id = #{userId} + and role_id = #{roleId} + + + + delete from sys_user_role where role_id=#{roleId} and user_id in + + #{userId} + + + diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java index 6be5706..ecf18c3 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/CloudSystemApplication.java @@ -27,5 +27,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class CloudSystemApplication { public static void main (String[] args) { SpringApplication.run(CloudSystemApplication.class, args); + System.out.println("CloudSystem 模块启动成功!"); } } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java index 47f7432..652ede4 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysRoleController.java @@ -11,7 +11,7 @@ import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; -import com.muyu.system.domain.SysUserRole; +import com.muyu.common.system.domain.SysUserRole; import com.muyu.system.domain.resp.DeptTreeResp; import com.muyu.system.service.SysDeptService; import com.muyu.system.service.SysRoleService; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java index bec830c..6512edc 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -214,6 +214,26 @@ public class SysUserController extends BaseController { return toAjax(userService.insertUser(user)); } + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + @PostMapping("/insertUserRole") + public void insertUserRole (@RequestBody SysUser user) { + userService.insertUserRole(user); + } + + /** + * 新增用户岗位信息 + * + * @param user 用户对象 + */ + @PostMapping("/insertUserPost") + public void insertUserPost (@RequestBody SysUser user) { + userService.insertUserPost(user); + } + /** * 修改用户 */ diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java index 8d09a47..c040aa0 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserPostMapper.java @@ -1,7 +1,7 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.system.domain.SysUserPost; +import com.muyu.common.system.domain.SysUserPost; import java.util.List; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java index 512adb8..e1e7943 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/mapper/SysUserRoleMapper.java @@ -1,7 +1,7 @@ package com.muyu.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.system.domain.SysUserRole; +import com.muyu.common.system.domain.SysUserRole; import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java index 2b707a8..2a32ffa 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysRoleService.java @@ -2,7 +2,7 @@ package com.muyu.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.system.domain.SysRole; -import com.muyu.system.domain.SysUserRole; +import com.muyu.common.system.domain.SysUserRole; import java.util.List; import java.util.Set; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java index d22f393..04367ad 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/SysUserService.java @@ -228,4 +228,9 @@ public interface SysUserService extends IService { public String importUser (List userList, Boolean isUpdateSupport, String operName); List selectCompanyList(); + + void insertUserPost(SysUser user); + + void insertUserRole(SysUser user); + } diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java index 39b4275..293e3de 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysRoleServiceImpl.java @@ -11,7 +11,7 @@ import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; import com.muyu.system.domain.SysRoleDept; import com.muyu.system.domain.SysRoleMenu; -import com.muyu.system.domain.SysUserRole; +import com.muyu.common.system.domain.SysUserRole; import com.muyu.system.mapper.SysRoleDeptMapper; import com.muyu.system.mapper.SysRoleMapper; import com.muyu.system.mapper.SysRoleMenuMapper; diff --git a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index d6be470..960f029 100644 --- a/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/cloud-modules/cloud-modules-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -3,7 +3,6 @@ package com.muyu.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.constant.UserConstants; import com.muyu.common.core.exception.ServiceException; -import com.muyu.common.core.utils.ServletUtils; import com.muyu.common.core.utils.SpringUtils; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.bean.BeanValidators; @@ -12,12 +11,11 @@ import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; import com.muyu.system.domain.SysPost; -import com.muyu.system.domain.SysUserPost; -import com.muyu.system.domain.SysUserRole; +import com.muyu.common.system.domain.SysUserPost; +import com.muyu.common.system.domain.SysUserRole; import com.muyu.system.mapper.*; import com.muyu.system.service.SysUserService; import com.muyu.system.service.SysConfigService; -import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Validator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -361,6 +359,7 @@ public class SysUserServiceImpl extends ServiceImpl impl * * @param user 用户对象 */ + @Override public void insertUserRole (SysUser user) { this.insertUserRole(user.getUserId(), user.getRoleIds()); } @@ -370,6 +369,7 @@ public class SysUserServiceImpl extends ServiceImpl impl * * @param user 用户对象 */ + @Override public void insertUserPost (SysUser user) { Long[] posts = user.getPostIds(); if (StringUtils.isNotEmpty(posts)) { diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml index 30e4f06..9374372 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserPostMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + diff --git a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml index b93bc72..549cc7e 100644 --- a/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml +++ b/cloud-modules/cloud-modules-system/src/main/resources/mapper/system/SysUserRoleMapper.xml @@ -4,7 +4,7 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -35,7 +35,7 @@ - + delete from sys_user_role where user_id = #{userId}