拆分用户模块为saas用户模块
parent
99b4f3bb16
commit
7540b931c5
|
@ -25,5 +25,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
public class CloudAuthApplication {
|
public class CloudAuthApplication {
|
||||||
public static void main (String[] args) {
|
public static void main (String[] args) {
|
||||||
SpringApplication.run(CloudAuthApplication.class, args);
|
SpringApplication.run(CloudAuthApplication.class, args);
|
||||||
|
System.out.println("CloudAuth 模块启动成功!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,8 +40,8 @@ spring:
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
shared-configs:
|
shared-configs:
|
||||||
# 系统共享配置
|
|
||||||
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
|
||||||
# 系统环境Config共享配置
|
# 系统环境Config共享配置
|
||||||
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
|
# 系统共享配置
|
||||||
|
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
package com.muyu.common.system.domain;
|
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;
|
||||||
import com.muyu.common.core.annotation.Excel.ColumnType;
|
import com.muyu.common.core.annotation.Excel.ColumnType;
|
||||||
import com.muyu.common.core.annotation.Excel.Type;
|
import com.muyu.common.core.annotation.Excel.Type;
|
||||||
|
@ -28,6 +31,7 @@ import java.util.List;
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@TableName("sys_user")
|
||||||
public class SysUser extends BaseEntity {
|
public class SysUser extends BaseEntity {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -35,6 +39,7 @@ public class SysUser extends BaseEntity {
|
||||||
* 用户ID
|
* 用户ID
|
||||||
*/
|
*/
|
||||||
@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
|
@Excel(name = "用户序号", cellType = ColumnType.NUMERIC, prompt = "用户编号")
|
||||||
|
@TableId(type = IdType.AUTO)
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
private Integer isAdmin;
|
private Integer isAdmin;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.system.domain;
|
package com.muyu.common.system.domain;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.system.domain;
|
package com.muyu.common.system.domain;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
|
@ -4,12 +4,10 @@ import com.muyu.common.core.constant.SecurityConstants;
|
||||||
import com.muyu.common.core.constant.ServiceNameConstants;
|
import com.muyu.common.core.constant.ServiceNameConstants;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.web.page.TableDataInfo;
|
import com.muyu.common.core.web.page.TableDataInfo;
|
||||||
import com.muyu.common.system.domain.SysEnt;
|
import com.muyu.common.system.domain.*;
|
||||||
import com.muyu.common.system.domain.SysFirmUser;
|
|
||||||
import com.muyu.common.system.domain.SysUser;
|
|
||||||
import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
|
import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
|
||||||
import com.muyu.common.system.domain.LoginUser;
|
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -59,4 +57,35 @@ public interface RemoteUserService {
|
||||||
*/
|
*/
|
||||||
@PostMapping("/permission/getMenu")
|
@PostMapping("/permission/getMenu")
|
||||||
public Set<String> getMenuPermission (@RequestBody SysUser user);
|
public Set<String> getMenuPermission (@RequestBody SysUser user);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据部门编号获取详细信息
|
||||||
|
*/
|
||||||
|
@GetMapping(value = "/dept/{deptId}")
|
||||||
|
public Result<SysDept> 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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,11 +2,8 @@ package com.muyu.common.system.remote.factory;
|
||||||
|
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.web.page.TableDataInfo;
|
import com.muyu.common.core.web.page.TableDataInfo;
|
||||||
import com.muyu.common.system.domain.SysEnt;
|
import com.muyu.common.system.domain.*;
|
||||||
import com.muyu.common.system.domain.SysFirmUser;
|
|
||||||
import com.muyu.common.system.remote.RemoteUserService;
|
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.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.cloud.openfeign.FallbackFactory;
|
import org.springframework.cloud.openfeign.FallbackFactory;
|
||||||
|
@ -54,6 +51,26 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
|
||||||
return Set.of();
|
return Set.of();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Result<SysDept> 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);
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,5 +13,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
public class CloudGatewayApplication {
|
public class CloudGatewayApplication {
|
||||||
public static void main (String[] args) {
|
public static void main (String[] args) {
|
||||||
SpringApplication.run(CloudGatewayApplication.class, args);
|
SpringApplication.run(CloudGatewayApplication.class, args);
|
||||||
|
System.out.println("CloudGateway 模块启动成功!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,29 +22,29 @@ spring:
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: ${nacos.addr}
|
server-addr: ${nacos.addr}
|
||||||
# nacos用户名
|
# # nacos用户名
|
||||||
username: ${nacos.user-name}
|
# username: ${nacos.user-name}
|
||||||
# nacos密码
|
# # nacos密码
|
||||||
password: ${nacos.password}
|
# password: ${nacos.password}
|
||||||
# 命名空间
|
# 命名空间
|
||||||
namespace: ${nacos.namespace}
|
namespace: ${nacos.namespace}
|
||||||
config:
|
config:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: ${nacos.addr}
|
server-addr: ${nacos.addr}
|
||||||
# nacos用户名
|
# # nacos用户名
|
||||||
username: ${nacos.user-name}
|
# username: ${nacos.user-name}
|
||||||
# nacos密码
|
# # nacos密码
|
||||||
password: ${nacos.password}
|
# password: ${nacos.password}
|
||||||
# 命名空间
|
# 命名空间
|
||||||
namespace: ${nacos.namespace}
|
namespace: ${nacos.namespace}
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
shared-configs:
|
shared-configs:
|
||||||
# 系统共享配置
|
|
||||||
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
|
||||||
# 系统环境Config共享配置
|
# 系统环境Config共享配置
|
||||||
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
- application-config-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
|
# 系统共享配置
|
||||||
|
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
|
||||||
sentinel:
|
sentinel:
|
||||||
# 取消控制台懒加载
|
# 取消控制台懒加载
|
||||||
eager: true
|
eager: true
|
||||||
|
|
|
@ -13,5 +13,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
public class CloudFileApplication {
|
public class CloudFileApplication {
|
||||||
public static void main (String[] args) {
|
public static void main (String[] args) {
|
||||||
SpringApplication.run(CloudFileApplication.class, args);
|
SpringApplication.run(CloudFileApplication.class, args);
|
||||||
|
System.out.println("CloudFile 模块启动成功!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,18 +3,25 @@ package com.muyu.system.saas.controller;
|
||||||
import com.muyu.cloud.common.many.datasource.holder.DynamicDataSourceHolder;
|
import com.muyu.cloud.common.many.datasource.holder.DynamicDataSourceHolder;
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
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.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.domain.SysUser;
|
||||||
|
import com.muyu.common.system.remote.RemoteUserService;
|
||||||
import com.muyu.system.saas.service.SysUserService;
|
import com.muyu.system.saas.service.SysUserService;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: 胡杨
|
* @Author: 胡杨
|
||||||
* @Name: SysUser
|
* @Name: SysUser
|
||||||
|
@ -25,7 +32,9 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/user")
|
@RequestMapping("/user")
|
||||||
public class SysUserController {
|
public class SysUserController extends BaseController {
|
||||||
|
@Resource
|
||||||
|
private RemoteUserService remoteUserService;
|
||||||
@Resource
|
@Resource
|
||||||
private SysUserService userService;
|
private SysUserService userService;
|
||||||
|
|
||||||
|
@ -37,8 +46,45 @@ public class SysUserController {
|
||||||
DynamicDataSourceHolder.setDynamicDataSourceKey(firmCode);
|
DynamicDataSourceHolder.setDynamicDataSourceKey(firmCode);
|
||||||
SysUser sysUser = userService.selectUserByUserName(userName);
|
SysUser sysUser = userService.selectUserByUserName(userName);
|
||||||
if (StringUtils.isNull(sysUser)) {
|
if (StringUtils.isNull(sysUser)) {
|
||||||
return Result.error("用户名或密码错误");
|
return error("用户名或密码错误");
|
||||||
}
|
}
|
||||||
return Result.success(sysUser);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,4 +19,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface SysUserMapper extends BaseMapper<SysUser> {
|
public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||||
SysUser selectUserByUserName(@Param("userName") String userName);
|
SysUser selectUserByUserName(@Param("userName") String userName);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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<SysUserPost> {
|
||||||
|
/**
|
||||||
|
* 通过用户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<SysUserPost> userPostList);
|
||||||
|
}
|
|
@ -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<SysUserRole> {
|
||||||
|
/**
|
||||||
|
* 通过用户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<SysUserRole> 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);
|
||||||
|
}
|
|
@ -15,4 +15,27 @@ import com.muyu.common.system.domain.SysUser;
|
||||||
|
|
||||||
public interface SysUserService extends IService<SysUser> {
|
public interface SysUserService extends IService<SysUser> {
|
||||||
SysUser selectUserByUserName(String userName);
|
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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,23 @@ package com.muyu.system.saas.service.impl;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.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 org.springframework.stereotype.Service;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.system.saas.mapper.SysUserMapper;
|
import com.muyu.system.saas.mapper.SysUserMapper;
|
||||||
import com.muyu.system.saas.service.SysUserService;
|
import com.muyu.system.saas.service.SysUserService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: 胡杨
|
* @Author: 胡杨
|
||||||
|
@ -24,10 +35,96 @@ import com.muyu.system.saas.service.SysUserService;
|
||||||
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
||||||
implements SysUserService {
|
implements SysUserService {
|
||||||
@Resource
|
@Resource
|
||||||
|
private RemoteUserService remoteUserService;
|
||||||
|
@Resource
|
||||||
private SysUserMapper userMapper;
|
private SysUserMapper userMapper;
|
||||||
|
@Resource
|
||||||
|
private SysUserPostMapper userPostMapper;
|
||||||
|
@Resource
|
||||||
|
private SysUserRoleMapper userRoleMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SysUser selectUserByUserName(String userName) {
|
public SysUser selectUserByUserName(String userName) {
|
||||||
return userMapper.selectUserByUserName(userName);
|
return userMapper.selectUserByUserName(userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验用户名称/手机号/邮箱是否唯一
|
||||||
|
*
|
||||||
|
* @param user 用户信息
|
||||||
|
*
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public SysUser checkUserNameUnique (SysUser user) {
|
||||||
|
LambdaQueryWrapper<SysUser> 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<SysUserPost> list = new ArrayList<SysUserPost>();
|
||||||
|
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<SysUserRole> list = new ArrayList<SysUserRole>();
|
||||||
|
for (Long roleId : roleIds) {
|
||||||
|
SysUserRole ur = new SysUserRole();
|
||||||
|
ur.setUserId(userId);
|
||||||
|
ur.setRoleId(roleId);
|
||||||
|
list.add(ur);
|
||||||
|
}
|
||||||
|
userRoleMapper.batchUserRole(list);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.muyu.system.saas.mapper.SysUserPostMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.muyu.common.system.domain.SysUserPost" id="SysUserPostResult">
|
||||||
|
<result property="userId" column="user_id"/>
|
||||||
|
<result property="postId" column="post_id"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<delete id="deleteUserPostByUserId" parameterType="Long">
|
||||||
|
delete
|
||||||
|
from sys_user_post
|
||||||
|
where user_id = #{userId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="countUserPostById" resultType="Integer">
|
||||||
|
select count(1)
|
||||||
|
from sys_user_post
|
||||||
|
where post_id = #{postId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteUserPost" parameterType="Long">
|
||||||
|
delete from sys_user_post where user_id in
|
||||||
|
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||||
|
#{userId}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<insert id="batchUserPost">
|
||||||
|
insert into sys_user_post(user_id, post_id) values
|
||||||
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
|
(#{item.userId},#{item.postId})
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,51 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.muyu.system.saas.mapper.SysUserRoleMapper">
|
||||||
|
|
||||||
|
<resultMap type="com.muyu.common.system.domain.SysUserRole" id="SysUserRoleResult">
|
||||||
|
<result property="userId" column="user_id"/>
|
||||||
|
<result property="roleId" column="role_id"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<delete id="deleteUserRoleByUserId" parameterType="Long">
|
||||||
|
delete
|
||||||
|
from sys_user_role
|
||||||
|
where user_id = #{userId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="countUserRoleByRoleId" resultType="Integer">
|
||||||
|
select count(1)
|
||||||
|
from sys_user_role
|
||||||
|
where role_id = #{roleId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteUserRole" parameterType="Long">
|
||||||
|
delete from sys_user_role where user_id in
|
||||||
|
<foreach collection="array" item="userId" open="(" separator="," close=")">
|
||||||
|
#{userId}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<insert id="batchUserRole">
|
||||||
|
insert into sys_user_role(user_id, role_id) values
|
||||||
|
<foreach item="item" index="index" collection="list" separator=",">
|
||||||
|
(#{item.userId},#{item.roleId})
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<delete id="deleteUserRoleInfo" parameterType="com.muyu.common.system.domain.SysUserRole">
|
||||||
|
delete
|
||||||
|
from sys_user_role
|
||||||
|
where user_id = #{userId}
|
||||||
|
and role_id = #{roleId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteUserRoleInfos">
|
||||||
|
delete from sys_user_role where role_id=#{roleId} and user_id in
|
||||||
|
<foreach collection="userIds" item="userId" open="(" separator="," close=")">
|
||||||
|
#{userId}
|
||||||
|
</foreach>
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
|
@ -27,5 +27,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||||
public class CloudSystemApplication {
|
public class CloudSystemApplication {
|
||||||
public static void main (String[] args) {
|
public static void main (String[] args) {
|
||||||
SpringApplication.run(CloudSystemApplication.class, args);
|
SpringApplication.run(CloudSystemApplication.class, args);
|
||||||
|
System.out.println("CloudSystem 模块启动成功!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import com.muyu.common.security.utils.SecurityUtils;
|
||||||
import com.muyu.common.system.domain.SysDept;
|
import com.muyu.common.system.domain.SysDept;
|
||||||
import com.muyu.common.system.domain.SysRole;
|
import com.muyu.common.system.domain.SysRole;
|
||||||
import com.muyu.common.system.domain.SysUser;
|
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.domain.resp.DeptTreeResp;
|
||||||
import com.muyu.system.service.SysDeptService;
|
import com.muyu.system.service.SysDeptService;
|
||||||
import com.muyu.system.service.SysRoleService;
|
import com.muyu.system.service.SysRoleService;
|
||||||
|
|
|
@ -214,6 +214,26 @@ public class SysUserController extends BaseController {
|
||||||
return toAjax(userService.insertUser(user));
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改用户
|
* 修改用户
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.muyu.system.mapper;
|
package com.muyu.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.muyu.system.domain.SysUserPost;
|
import com.muyu.common.system.domain.SysUserPost;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.muyu.system.mapper;
|
package com.muyu.system.mapper;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
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 org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -2,7 +2,7 @@ package com.muyu.system.service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.muyu.common.system.domain.SysRole;
|
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.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
|
@ -228,4 +228,9 @@ public interface SysUserService extends IService<SysUser> {
|
||||||
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
public String importUser (List<SysUser> userList, Boolean isUpdateSupport, String operName);
|
||||||
|
|
||||||
List<SysUser> selectCompanyList();
|
List<SysUser> selectCompanyList();
|
||||||
|
|
||||||
|
void insertUserPost(SysUser user);
|
||||||
|
|
||||||
|
void insertUserRole(SysUser user);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import com.muyu.common.system.domain.SysRole;
|
||||||
import com.muyu.common.system.domain.SysUser;
|
import com.muyu.common.system.domain.SysUser;
|
||||||
import com.muyu.system.domain.SysRoleDept;
|
import com.muyu.system.domain.SysRoleDept;
|
||||||
import com.muyu.system.domain.SysRoleMenu;
|
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.SysRoleDeptMapper;
|
||||||
import com.muyu.system.mapper.SysRoleMapper;
|
import com.muyu.system.mapper.SysRoleMapper;
|
||||||
import com.muyu.system.mapper.SysRoleMenuMapper;
|
import com.muyu.system.mapper.SysRoleMenuMapper;
|
||||||
|
|
|
@ -3,7 +3,6 @@ package com.muyu.system.service.impl;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.muyu.common.core.constant.UserConstants;
|
import com.muyu.common.core.constant.UserConstants;
|
||||||
import com.muyu.common.core.exception.ServiceException;
|
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.SpringUtils;
|
||||||
import com.muyu.common.core.utils.StringUtils;
|
import com.muyu.common.core.utils.StringUtils;
|
||||||
import com.muyu.common.core.utils.bean.BeanValidators;
|
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.SysRole;
|
||||||
import com.muyu.common.system.domain.SysUser;
|
import com.muyu.common.system.domain.SysUser;
|
||||||
import com.muyu.system.domain.SysPost;
|
import com.muyu.system.domain.SysPost;
|
||||||
import com.muyu.system.domain.SysUserPost;
|
import com.muyu.common.system.domain.SysUserPost;
|
||||||
import com.muyu.system.domain.SysUserRole;
|
import com.muyu.common.system.domain.SysUserRole;
|
||||||
import com.muyu.system.mapper.*;
|
import com.muyu.system.mapper.*;
|
||||||
import com.muyu.system.service.SysUserService;
|
import com.muyu.system.service.SysUserService;
|
||||||
import com.muyu.system.service.SysConfigService;
|
import com.muyu.system.service.SysConfigService;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
|
||||||
import jakarta.validation.Validator;
|
import jakarta.validation.Validator;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -361,6 +359,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
*
|
*
|
||||||
* @param user 用户对象
|
* @param user 用户对象
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void insertUserRole (SysUser user) {
|
public void insertUserRole (SysUser user) {
|
||||||
this.insertUserRole(user.getUserId(), user.getRoleIds());
|
this.insertUserRole(user.getUserId(), user.getRoleIds());
|
||||||
}
|
}
|
||||||
|
@ -370,6 +369,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
*
|
*
|
||||||
* @param user 用户对象
|
* @param user 用户对象
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void insertUserPost (SysUser user) {
|
public void insertUserPost (SysUser user) {
|
||||||
Long[] posts = user.getPostIds();
|
Long[] posts = user.getPostIds();
|
||||||
if (StringUtils.isNotEmpty(posts)) {
|
if (StringUtils.isNotEmpty(posts)) {
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.muyu.system.mapper.SysUserPostMapper">
|
<mapper namespace="com.muyu.system.mapper.SysUserPostMapper">
|
||||||
|
|
||||||
<resultMap type="com.muyu.system.domain.SysUserPost" id="SysUserPostResult">
|
<resultMap type="com.muyu.common.system.domain.SysUserPost" id="SysUserPostResult">
|
||||||
<result property="userId" column="user_id"/>
|
<result property="userId" column="user_id"/>
|
||||||
<result property="postId" column="post_id"/>
|
<result property="postId" column="post_id"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.muyu.system.mapper.SysUserRoleMapper">
|
<mapper namespace="com.muyu.system.mapper.SysUserRoleMapper">
|
||||||
|
|
||||||
<resultMap type="com.muyu.system.domain.SysUserRole" id="SysUserRoleResult">
|
<resultMap type="com.muyu.common.system.domain.SysUserRole" id="SysUserRoleResult">
|
||||||
<result property="userId" column="user_id"/>
|
<result property="userId" column="user_id"/>
|
||||||
<result property="roleId" column="role_id"/>
|
<result property="roleId" column="role_id"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<delete id="deleteUserRoleInfo" parameterType="com.muyu.system.domain.SysUserRole">
|
<delete id="deleteUserRoleInfo" parameterType="com.muyu.common.system.domain.SysUserRole">
|
||||||
delete
|
delete
|
||||||
from sys_user_role
|
from sys_user_role
|
||||||
where user_id = #{userId}
|
where user_id = #{userId}
|
||||||
|
|
Loading…
Reference in New Issue