合并冲突

pull/3/head
liuhanqing 2021-02-03 21:00:33 +08:00
commit 58903b66f0
41 changed files with 630 additions and 396 deletions

View File

@ -1,6 +1,6 @@
package cn.stylefeng.roses.kernel.system; package cn.stylefeng.roses.kernel.system;
import cn.stylefeng.roses.kernel.system.pojo.loginlog.request.SysLoginLogRequest; import cn.stylefeng.roses.kernel.system.pojo.SysLoginLogRequest;
/** /**
* api * api

View File

@ -27,7 +27,12 @@ public enum SysUserOrgExceptionEnum implements AbstractExceptionEnum {
/** /**
* *
*/ */
EMPLOYEE_NOT_OR_MANY(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "23", "用户未设置主部门,或主部门信息为多个"); EMPLOYEE_NOT_OR_MANY(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "23", "用户未设置主部门,或主部门信息为多个"),
/**
*
*/
USER_ORG_NOT_EXIST(RuleConstants.USER_OPERATION_ERROR_TYPE_CODE + SystemConstants.SYSTEM_EXCEPTION_STEP_CODE + "24", "用户组织或部门不存在用户组织id{}");
/** /**
* *

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.organization; package cn.stylefeng.roses.kernel.system.pojo;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.validators.status.StatusValue; import cn.stylefeng.roses.kernel.validator.validators.status.StatusValue;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.app.request; package cn.stylefeng.roses.kernel.system.pojo;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.validators.status.StatusValue; import cn.stylefeng.roses.kernel.validator.validators.status.StatusValue;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.loginlog.request; package cn.stylefeng.roses.kernel.system.pojo;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import lombok.Data; import lombok.Data;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.menu; package cn.stylefeng.roses.kernel.system.pojo;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue; import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue;

View File

@ -1,4 +1,4 @@
package cn.stylefeng.roses.kernel.system.pojo.menu; package cn.stylefeng.roses.kernel.system.pojo;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.validator.validators.flag.FlagValue; import cn.stylefeng.roses.kernel.validator.validators.flag.FlagValue;

View File

@ -0,0 +1,29 @@
package cn.stylefeng.roses.kernel.system.pojo;
import lombok.Data;
/**
*
*
* @author chenjinlong
* @date 2021/2/3 15:35
*/
@Data
public class UserDataScopeRequest {
/**
*
*/
private Long userDataScopeId;
/**
* id
*/
private Long userId;
/**
* id
*/
private Long orgId;
}

View File

@ -0,0 +1,33 @@
package cn.stylefeng.roses.kernel.system.pojo;
import lombok.Data;
/**
*
*
* @author chenjinlong
* @date 2021/2/3 10:51
*/
@Data
public class UserOrgRequest {
/**
*
*/
private Long userOrgId;
/**
* id
*/
private Long userId;
/**
* id
*/
private Long orgId;
/**
* id
*/
private Long positionId;
}

View File

@ -0,0 +1,29 @@
package cn.stylefeng.roses.kernel.system.pojo;
import lombok.Data;
/**
*
*
* @author chenjinlong
* @date 2021/2/3 14:53
*/
@Data
public class UserRoleRequest {
/**
*
*/
private Long userRoleId;
/**
* id
*/
private Long userId;
/**
* id
*/
private Long roleId;
}

View File

@ -1,67 +0,0 @@
package cn.stylefeng.roses.kernel.system.pojo.app.response;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*
*
* @author fengshuonan
* @date 2020/11/24 21:05
*/
@Data
public class SysAppResponse implements Serializable {
/**
* id
*/
private Long appId;
/**
*
*/
private String appName;
/**
*
*/
private String appCode;
/**
* Y-N-
*/
private String activeFlag;
/**
* 1 2
*/
private Integer statusFlag;
/**
* Y-N-
*/
private String delFlag;
/**
*
*/
private Date createTime;
/**
*
*/
private Long createUser;
/**
*
*/
private Date updateTime;
/**
*
*/
private Long updateUser;
}

View File

@ -1,46 +0,0 @@
package cn.stylefeng.roses.kernel.system.pojo.loginlog.response;
import lombok.Data;
import java.io.Serializable;
/**
*
*
* @author chenjinlong
* @date 2021/1/13 11:06
*/
@Data
public class SysLoginLogResponse implements Serializable {
/**
* id
*/
private Long llgId;
/**
*
*/
private String llgName;
/**
*
*/
private String llgSucceed;
/**
*
*/
private String llgMessage;
/**
* ip
*/
private String llgIpAddress;
/**
* id
*/
private Long userId;
}

View File

@ -3,6 +3,7 @@ package cn.stylefeng.roses.kernel.system.pojo.user;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* *
@ -78,4 +79,9 @@ public class SysUserResponse {
*/ */
private Integer statusFlag; private Integer statusFlag;
/**
* id
*/
private List<Long> grantRoleIdList;
} }

View File

@ -6,7 +6,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.pojo.app.request.SysAppRequest; import cn.stylefeng.roses.kernel.system.pojo.SysAppRequest;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

View File

@ -26,7 +26,7 @@ package cn.stylefeng.roses.kernel.app.modular.service;
import cn.stylefeng.roses.kernel.app.modular.entity.SysApp; import cn.stylefeng.roses.kernel.app.modular.entity.SysApp;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.system.pojo.app.request.SysAppRequest; import cn.stylefeng.roses.kernel.system.pojo.SysAppRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;

View File

@ -16,7 +16,7 @@ import cn.stylefeng.roses.kernel.system.AppServiceApi;
import cn.stylefeng.roses.kernel.system.MenuServiceApi; import cn.stylefeng.roses.kernel.system.MenuServiceApi;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.AppExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.AppExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.app.request.SysAppRequest; import cn.stylefeng.roses.kernel.system.pojo.SysAppRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

View File

@ -5,7 +5,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.pojo.loginlog.request.SysLoginLogRequest; import cn.stylefeng.roses.kernel.system.pojo.SysLoginLogRequest;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

View File

@ -27,7 +27,7 @@ package cn.stylefeng.roses.kernel.loginlog.modular.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.loginlog.modular.entity.SysLoginLog; import cn.stylefeng.roses.kernel.loginlog.modular.entity.SysLoginLog;
import cn.stylefeng.roses.kernel.system.LoginLogServiceApi; import cn.stylefeng.roses.kernel.system.LoginLogServiceApi;
import cn.stylefeng.roses.kernel.system.pojo.loginlog.request.SysLoginLogRequest; import cn.stylefeng.roses.kernel.system.pojo.SysLoginLogRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**

View File

@ -13,7 +13,7 @@ import cn.stylefeng.roses.kernel.loginlog.modular.service.SysLoginLogService;
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil; import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
import cn.stylefeng.roses.kernel.system.exception.enums.AppExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.AppExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.loginlog.request.SysLoginLogRequest; import cn.stylefeng.roses.kernel.system.pojo.SysLoginLogRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@ -8,7 +8,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource; import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuButtonRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuButtonRequest;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

View File

@ -9,7 +9,7 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode; import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse; import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiMenuAndButtonTreeResponse; import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiMenuAndButtonTreeResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest; import cn.stylefeng.roses.kernel.system.pojo.role.request.SysRoleRequest;

View File

@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.menu.modular.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenuButton; import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenuButton;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuButtonRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuButtonRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
/** /**

View File

@ -26,7 +26,7 @@ package cn.stylefeng.roses.kernel.menu.modular.service;
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu; import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu;
import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode; import cn.stylefeng.roses.kernel.rule.pojo.ztree.ZTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode; import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse; import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus; import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus;

View File

@ -14,7 +14,7 @@ import cn.stylefeng.roses.kernel.menu.modular.service.SysMenuService;
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuButtonExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuButtonExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuButtonRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuButtonRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@ -53,7 +53,7 @@ import cn.stylefeng.roses.kernel.system.constants.SymbolConstant;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.SysMenuExceptionEnum;
import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum; import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum;
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest; import cn.stylefeng.roses.kernel.system.pojo.SysMenuRequest;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode; import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdIndexMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse; import cn.stylefeng.roses.kernel.system.pojo.menu.antd.AntdSysMenuResponse;
import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus; import cn.stylefeng.roses.kernel.system.pojo.menu.layui.LayuiAppIndexMenus;

View File

@ -7,7 +7,7 @@ import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrPositionService; import cn.stylefeng.roses.kernel.system.modular.organization.service.HrPositionService;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrPositionRequest; import cn.stylefeng.roses.kernel.system.pojo.HrPositionRequest;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

View File

@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.system.modular.organization.service;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition; import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrPositionRequest; import cn.stylefeng.roses.kernel.system.pojo.HrPositionRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;

View File

@ -14,7 +14,7 @@ import cn.stylefeng.roses.kernel.system.exception.enums.PositionExceptionEnum;
import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition; import cn.stylefeng.roses.kernel.system.modular.organization.entity.HrPosition;
import cn.stylefeng.roses.kernel.system.modular.organization.mapper.HrPositionMapper; import cn.stylefeng.roses.kernel.system.modular.organization.mapper.HrPositionMapper;
import cn.stylefeng.roses.kernel.system.modular.organization.service.HrPositionService; import cn.stylefeng.roses.kernel.system.modular.organization.service.HrPositionService;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrPositionRequest; import cn.stylefeng.roses.kernel.system.pojo.HrPositionRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

View File

@ -8,8 +8,6 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
@ -19,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -202,12 +199,7 @@ public class SysUserController {
@GetResource(name = "系统用户_获取用户的角色列表", path = "/sysUser/getUserRoles") @GetResource(name = "系统用户_获取用户的角色列表", path = "/sysUser/getUserRoles")
public ResponseData ownRole(@Validated(SysUserRequest.detail.class) SysUserRequest sysUserRequest) { public ResponseData ownRole(@Validated(SysUserRequest.detail.class) SysUserRequest sysUserRequest) {
Long userId = sysUserRequest.getUserId(); Long userId = sysUserRequest.getUserId();
try { return new SuccessResponseData(sysUserRoleService.findListByUserId(userId));
List<SysUserRole> userRoles = sysUserRoleService.getUserRoles(userId);
return new SuccessResponseData(userRoles);
} catch (SystemModularException e) {
return new SuccessResponseData(new ArrayList<>());
}
} }
/** /**

View File

@ -1,10 +1,10 @@
package cn.stylefeng.roses.kernel.system.modular.user.mapper; package cn.stylefeng.roses.kernel.system.modular.user.mapper;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -3,7 +3,7 @@
<mapper namespace="cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper"> <mapper namespace="cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper">
<!--获取用户分页列表--> <!--获取用户分页列表-->
<select id="findUserPage" resultType="cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse"> <select id="findUserPage" resultType="cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse">
select select
suser.user_id as userId, suser.user_id as userId,
suser.account as account, suser.account as account,
@ -31,7 +31,8 @@
and suser.status_flag like concat('%',#{sysUserRequest.statusFlag},'%') and suser.status_flag like concat('%',#{sysUserRequest.statusFlag},'%')
</if> </if>
<if test="sysUserRequest.orgId != null and sysUserRequest.orgId != ''"> <if test="sysUserRequest.orgId != null and sysUserRequest.orgId != ''">
and suorg.org_id in(select org_id from hr_organization where org_pids like CONCAT('%[',#{sysUserRequest.orgId},']%') or org_id=#{sysUserRequest.orgId}) and suorg.org_id in(select org_id from hr_organization where org_pids like CONCAT('%[',#{sysUserRequest.orgId},']%') or
org_id=#{sysUserRequest.orgId})
</if> </if>
and suser.del_flag = 'N' and suser.del_flag = 'N'
order by suser.create_time desc order by suser.create_time desc
@ -40,7 +41,7 @@
</select> </select>
<!--获取用户列表--> <!--获取用户列表-->
<select id="findUserList" resultType="cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse"> <select id="findUserList" resultType="cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse">
select select
suser.user_id as userId, suser.user_id as userId,
suser.account as account, suser.account as account,
@ -68,7 +69,8 @@
and suser.status_flag like concat('%',#{sysUserRequest.statusFlag},'%') and suser.status_flag like concat('%',#{sysUserRequest.statusFlag},'%')
</if> </if>
<if test="sysUserRequest.orgId != null and sysUserRequest.orgId != ''"> <if test="sysUserRequest.orgId != null and sysUserRequest.orgId != ''">
and suorg.org_id in(select org_id from hr_organization where org_pids like CONCAT('%[',#{sysUserRequest.orgId},']%') or org_id=#{sysUserRequest.orgId}) and suorg.org_id in(select org_id from hr_organization where org_pids like CONCAT('%[',#{sysUserRequest.orgId},']%') or
org_id=#{sysUserRequest.orgId})
</if> </if>
and suser.del_flag = 'N' and suser.del_flag = 'N'
order by suser.create_time desc order by suser.create_time desc

View File

@ -1,88 +0,0 @@
package cn.stylefeng.roses.kernel.system.modular.user.pojo.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
*
*
* @author fengshuonan
* @date 2020/4/2 9:19
*/
@Data
public class SysUserResponse {
/**
*
*/
private Long userId;
/**
*
*/
private String account;
/**
*
*/
private String nickName;
/**
*
*/
private String realName;
/**
*
*/
private Long avatar;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
/**
* M-F-
*/
private String sex;
/**
*
*/
private String email;
/**
*
*/
private String phone;
/**
*
*/
private String tel;
/**
*
*/
private Long orgId;
/**
*
*/
private Long positionId;
/**
*
*/
private Integer statusFlag;
/**
* id
*/
private List<Long> grantRoleIdList;
}

View File

@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.system.modular.user.service; package cn.stylefeng.roses.kernel.system.modular.user.service;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope;
import cn.stylefeng.roses.kernel.system.pojo.UserDataScopeRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -14,14 +15,51 @@ import java.util.List;
*/ */
public interface SysUserDataScopeService extends IService<SysUserDataScope> { public interface SysUserDataScopeService extends IService<SysUserDataScope> {
/** /**
* id *
* *
* @param sysUserRequest * @param userDataScopeRequest
* @author fengshuonan * @author chenjinlong
* @date 2020/11/21 14:49 * @date 2021/1/26 12:52
*/ */
void grantData(SysUserRequest sysUserRequest); void add(UserDataScopeRequest userDataScopeRequest);
/**
*
*
* @param userDataScopeRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void del(UserDataScopeRequest userDataScopeRequest);
/**
* id
*
* @param userId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void delByUserId(Long userId);
/**
*
*
* @param userDataScopeRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void edit(UserDataScopeRequest userDataScopeRequest);
/**
* --id
*
* @param userDataScopeRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
SysUserDataScope detail(UserDataScopeRequest userDataScopeRequest);
/** /**
* id * id
@ -31,14 +69,23 @@ public interface SysUserDataScopeService extends IService<SysUserDataScope> {
* @author luojie * @author luojie
* @date 2020/11/6 15:01 * @date 2020/11/6 15:01
*/ */
List<Long> getUserDataScopeIdList(Long uerId); List<Long> findOrgIdsByUserId(Long uerId);
/** /**
* id- * --
* *
* @param userId id * @param userDataScopeRequest
* @author luojie * @author chenjinlong
* @date 2020/11/6 15:01 * @date 2021/1/26 12:52
*/ */
void deleteUserDataScopeListByUserId(Long userId); List<SysUserDataScope> findList(UserDataScopeRequest userDataScopeRequest);
/**
*
*
* @author chenjinlong
* @date 2021/2/3 15:49
*/
void assignData(SysUserRequest sysUserRequest);
} }

View File

@ -2,8 +2,11 @@ package cn.stylefeng.roses.kernel.system.modular.user.service;
import cn.stylefeng.roses.kernel.system.UserOrgServiceApi; import cn.stylefeng.roses.kernel.system.UserOrgServiceApi;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg;
import cn.stylefeng.roses.kernel.system.pojo.UserOrgRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* *
* *
@ -13,19 +16,80 @@ import com.baomidou.mybatisplus.extension.service.IService;
public interface SysUserOrgService extends IService<SysUserOrg>, UserOrgServiceApi { public interface SysUserOrgService extends IService<SysUserOrg>, UserOrgServiceApi {
/** /**
* *
* *
* @author fengshuonan * @param userOrgResponse
* @date 2020/12/19 22:29 * @author chenjinlong
* @date 2021/1/26 12:52
*/ */
void updateUserOrg(Long userId, Long orgId, Long positionId); void add(UserOrgRequest userOrgResponse);
/** /**
* *
* *
* @author fengshuonan * @param userId id
* @date 2020/12/19 22:38 * @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/ */
void deleteUserOrg(Long userId); void add(Long userId, Long orgId, Long positionId);
/**
*
*
* @param userOrgResponse
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void del(UserOrgRequest userOrgResponse);
/**
*
*
* @param userId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void delByUserId(Long userId);
/**
*
*
* @param userOrgResponse
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void edit(UserOrgRequest userOrgResponse);
/**
*
*
* @param userId id
* @param orgId id
* @param positionId id
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void edit(Long userId, Long orgId, Long positionId);
/**
*
*
* @param userOrgResponse
* @author chenjinlong
* @date 2021/1/26 12:52
*/
SysUserOrg detail(UserOrgRequest userOrgResponse);
/**
* -
*
* @param userOrgResponse
* @author chenjinlong
* @date 2021/1/26 12:52
*/
List<SysUserOrg> findList(UserOrgRequest userOrgResponse);
} }

View File

@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.system.modular.user.service; package cn.stylefeng.roses.kernel.system.modular.user.service;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
import cn.stylefeng.roses.kernel.system.pojo.UserRoleRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -9,46 +10,94 @@ import java.util.List;
/** /**
* service * service
* *
* @author luojie * @author chenjinlong
* @date 2020/11/6 10:28 * @date 2021/2/3 15:23
*/ */
public interface SysUserRoleService extends IService<SysUserRole> { public interface SysUserRoleService extends IService<SysUserRole> {
/**
*
*
* @param userId id
* @author fengshuonan
* @date 2020/12/22 16:52
*/
List<SysUserRole> getUserRoles(Long userId);
/** /**
* id *
* *
* @param userId id * @param userRoleRequest
* @return id
* @author chenjinlong * @author chenjinlong
* @date 2021/1/12 19:42 * @date 2021/1/26 12:52
*/ */
List<Long> getUserRoleIds(Long userId); void add(UserRoleRequest userRoleRequest);
/** /**
* *
* *
* @param sysUserRequest id * @param userRoleRequest
* @author fengshuonan * @author chenjinlong
* @date 2020/11/21 14:44 * @date 2021/1/26 12:52
*/ */
void grantRole(SysUserRequest sysUserRequest); void del(UserRoleRequest userRoleRequest);
/** /**
* id- * id
* *
* @param userId id * @param userId id
* @author luojie * @author chenjinlong
* @date 2020/11/6 15:03 * @date 2021/1/26 12:52
*/ */
void deleteUserRoleListByUserId(Long userId); void delByUserId(Long userId);
/**
*
*
* @param userRoleRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
void edit(UserRoleRequest userRoleRequest);
/**
* -
*
* @param userRoleRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
SysUserRole detail(UserRoleRequest userRoleRequest);
/**
* -
*
* @param userRoleRequest
* @author chenjinlong
* @date 2021/1/26 12:52
*/
List<SysUserRole> findList(UserRoleRequest userRoleRequest);
/**
* userId
*
* @param userId id
* @return
* @author chenjinlong
* @date 2021/2/3 15:06
*/
List<SysUserRole> findListByUserId(Long userId);
/**
* userId
*
* @param userId id
* @return
* @author chenjinlong
* @date 2021/2/3 15:09
*/
List<Long> findRoleIdsByUserId(Long userId);
/**
*
*
* @param sysUserRequest
* @return
* @author chenjinlong
* @date 2021/2/3 15:16
*/
void assignRoles(SysUserRequest sysUserRequest);
} }

View File

@ -5,7 +5,7 @@ import cn.stylefeng.roses.kernel.rule.pojo.dict.SimpleDict;
import cn.stylefeng.roses.kernel.rule.pojo.tree.UserSelectTreeNode; import cn.stylefeng.roses.kernel.rule.pojo.tree.UserSelectTreeNode;
import cn.stylefeng.roses.kernel.system.UserServiceApi; import cn.stylefeng.roses.kernel.system.UserServiceApi;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse; import cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;

View File

@ -1,14 +1,18 @@
package cn.stylefeng.roses.kernel.system.modular.user.service.impl; package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope;
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserDataScopeMapper; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserDataScopeMapper;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService;
import cn.stylefeng.roses.kernel.system.pojo.UserDataScopeRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -22,44 +26,107 @@ import java.util.stream.Collectors;
public class SysUserDataScopeServiceImpl extends ServiceImpl<SysUserDataScopeMapper, SysUserDataScope> implements SysUserDataScopeService { public class SysUserDataScopeServiceImpl extends ServiceImpl<SysUserDataScopeMapper, SysUserDataScope> implements SysUserDataScopeService {
@Override @Override
public void grantData(SysUserRequest sysUserRequest) { @Transactional(rollbackFor = Exception.class)
public void assignData(SysUserRequest sysUserRequest) {
// 获取用户id // 获取用户id
Long userId = sysUserRequest.getUserId(); Long userId = sysUserRequest.getUserId();
// 删除该用户的数据范围集合sys_user_data_scope表中 // 删除用户所有授权范围
LambdaQueryWrapper<SysUserDataScope> queryWrapper = new LambdaQueryWrapper<>(); this.delByUserId(userId);
queryWrapper.eq(SysUserDataScope::getUserId, userId);
this.remove(queryWrapper);
List<Long> orgIdList = sysUserRequest.getGrantOrgIdList(); List<Long> orgIds = sysUserRequest.getGrantOrgIdList();
// 授权组织机构数据范围给用户 // 授权组织机构数据范围给用户
ArrayList<SysUserDataScope> sysUserDataScopes = new ArrayList<>(); List<SysUserDataScope> sysUserDataScopeList = CollUtil.newArrayList();
for (Long orgId : orgIdList) {
// 批量添加数据范围
orgIds.forEach(orgId -> {
SysUserDataScope sysUserDataScope = new SysUserDataScope(); SysUserDataScope sysUserDataScope = new SysUserDataScope();
sysUserDataScope.setUserId(userId); sysUserDataScope.setUserId(userId);
sysUserDataScope.setOrgId(orgId); sysUserDataScope.setOrgId(orgId);
sysUserDataScopes.add(sysUserDataScope); sysUserDataScopeList.add(sysUserDataScope);
});
this.saveBatch(sysUserDataScopeList);
} }
this.saveBatch(sysUserDataScopes);
@Override
public void add(UserDataScopeRequest userDataScopeRequest) {
SysUserDataScope sysUserDataScope = new SysUserDataScope();
BeanUtil.copyProperties(userDataScopeRequest, sysUserDataScope);
this.save(sysUserDataScope);
} }
@Override @Override
public List<Long> getUserDataScopeIdList(Long uerId) { public void del(UserDataScopeRequest userDataScopeRequest) {
LambdaQueryWrapper<SysUserDataScope> queryWrapper = new LambdaQueryWrapper<>(); SysUserDataScope sysUserDataScope = this.querySysUserRoleById(userDataScopeRequest);
queryWrapper.eq(SysUserDataScope::getUserId, uerId); this.removeById(sysUserDataScope.getUserDataScopeId());
queryWrapper.select(SysUserDataScope::getOrgId);
List<SysUserDataScope> list = this.list(queryWrapper);
return list.stream().map(SysUserDataScope::getOrgId).collect(Collectors.toList());
} }
@Override @Override
public void deleteUserDataScopeListByUserId(Long userId) { public void delByUserId(Long userId) {
LambdaQueryWrapper<SysUserDataScope> queryWrapper = new LambdaQueryWrapper<>(); UserDataScopeRequest userDataScopeRequest = new UserDataScopeRequest();
queryWrapper.eq(SysUserDataScope::getUserId, userId); userDataScopeRequest.setUserId(userId);
LambdaQueryWrapper<SysUserDataScope> queryWrapper = this.createQueryWrapper(userDataScopeRequest);
this.remove(queryWrapper); this.remove(queryWrapper);
} }
@Override
public void edit(UserDataScopeRequest userDataScopeRequest) {
SysUserDataScope sysUserDataScope = this.querySysUserRoleById(userDataScopeRequest);
BeanUtil.copyProperties(sysUserDataScope, userDataScopeRequest);
this.updateById(sysUserDataScope);
}
@Override
public SysUserDataScope detail(UserDataScopeRequest userDataScopeRequest) {
LambdaQueryWrapper<SysUserDataScope> queryWrapper = this.createQueryWrapper(userDataScopeRequest);
return this.getOne(queryWrapper, false);
}
@Override
public List<Long> findOrgIdsByUserId(Long uerId) {
UserDataScopeRequest userDataScopeRequest = new UserDataScopeRequest();
userDataScopeRequest.setUserId(uerId);
List<SysUserDataScope> sysUserDataScopeList = this.findList(userDataScopeRequest);
return sysUserDataScopeList.stream().map(SysUserDataScope::getOrgId).collect(Collectors.toList());
}
@Override
public List<SysUserDataScope> findList(UserDataScopeRequest userDataScopeRequest) {
LambdaQueryWrapper<SysUserDataScope> queryWrapper = this.createQueryWrapper(userDataScopeRequest);
return this.list(queryWrapper);
}
/**
*
*
* @param userDataScopeRequest dto
* @author chenjinlong
* @date 2021/2/3 15:02
*/
private SysUserDataScope querySysUserRoleById(UserDataScopeRequest userDataScopeRequest) {
return this.getById(userDataScopeRequest.getUserDataScopeId());
}
/**
* QueryWrapper
*
* @param userDataScopeRequest dto
* @author chenjinlong
* @date 2021/2/3 14:54
*/
private LambdaQueryWrapper<SysUserDataScope> createQueryWrapper(UserDataScopeRequest userDataScopeRequest) {
LambdaQueryWrapper<SysUserDataScope> queryWrapper = new LambdaQueryWrapper<>();
// SQL拼接
queryWrapper.eq(ObjectUtil.isNotNull(userDataScopeRequest.getOrgId()), SysUserDataScope::getOrgId, userDataScopeRequest.getOrgId());
queryWrapper.eq(ObjectUtil.isNotNull(userDataScopeRequest.getUserId()), SysUserDataScope::getUserId, userDataScopeRequest.getUserId());
queryWrapper.eq(ObjectUtil.isNotNull(userDataScopeRequest.getUserDataScopeId()), SysUserDataScope::getUserDataScopeId, userDataScopeRequest.getUserDataScopeId());
return queryWrapper;
}
} }

View File

@ -3,12 +3,13 @@ package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.exception.SystemModularException;
import cn.stylefeng.roses.kernel.system.exception.enums.SysUserOrgExceptionEnum;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg;
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserOrgMapper; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserOrgMapper;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService;
import cn.stylefeng.roses.kernel.system.pojo.UserOrgRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse; import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -26,23 +27,6 @@ import static cn.stylefeng.roses.kernel.system.exception.enums.SysUserOrgExcepti
@Service @Service
public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUserOrg> implements SysUserOrgService { public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper, SysUserOrg> implements SysUserOrgService {
@Override
@Transactional(rollbackFor = Exception.class)
public void updateUserOrg(Long userId, Long orgId, Long positionId) {
// 删除旧的绑定信息
LambdaUpdateWrapper<SysUserOrg> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(SysUserOrg::getUserId, userId);
this.remove(updateWrapper);
// 新增新的绑定信息
SysUserOrg sysUserOrg = new SysUserOrg();
sysUserOrg.setUserId(userId);
sysUserOrg.setOrgId(orgId);
sysUserOrg.setPositionId(positionId);
this.save(sysUserOrg);
}
@Override @Override
public SysUserOrgResponse getUserOrgInfo(Long userId) { public SysUserOrgResponse getUserOrgInfo(Long userId) {
@ -60,13 +44,71 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper,
} }
} }
@Override @Override
public void deleteUserOrg(Long userId) { public void add(UserOrgRequest userOrgResponse) {
LambdaUpdateWrapper<SysUserOrg> updateWrapper = new LambdaUpdateWrapper<>(); SysUserOrg sysUserOrg = new SysUserOrg();
updateWrapper.eq(SysUserOrg::getUserId, userId); BeanUtil.copyProperties(userOrgResponse, sysUserOrg);
this.remove(updateWrapper); this.save(sysUserOrg);
} }
@Override
public void add(Long userId, Long orgId, Long positionId) {
SysUserOrg sysUserOrg = new SysUserOrg();
sysUserOrg.setUserId(userId);
sysUserOrg.setOrgId(orgId);
sysUserOrg.setPositionId(positionId);
this.save(sysUserOrg);
}
@Override
public void del(UserOrgRequest userOrgResponse) {
SysUserOrg sysUserOrg = this.querySysUserOrgById(userOrgResponse);
this.removeById(sysUserOrg.getUserOrgId());
}
@Override
public void delByUserId(Long userId) {
LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysUserOrg::getUserId, userId);
this.remove(queryWrapper);
}
@Override
public void edit(UserOrgRequest userOrgResponse) {
SysUserOrg sysUserOrg = this.querySysUserOrgById(userOrgResponse);
BeanUtil.copyProperties(userOrgResponse, sysUserOrg);
this.updateById(sysUserOrg);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void edit(Long userId, Long orgId, Long positionId) {
UserOrgRequest userOrgResponse = new UserOrgRequest();
userOrgResponse.setUserId(userId);
userOrgResponse.setOrgId(orgId);
userOrgResponse.setPositionId(positionId);
// 删除已有
this.delByUserId(userId);
this.add(userId, orgId, positionId);
}
@Override
public SysUserOrg detail(UserOrgRequest userOrgResponse) {
LambdaQueryWrapper<SysUserOrg> queryWrapper = this.createWrapper(userOrgResponse);
return this.getOne(queryWrapper, false);
}
@Override
public List<SysUserOrg> findList(UserOrgRequest userOrgResponse) {
LambdaQueryWrapper<SysUserOrg> queryWrapper = this.createWrapper(userOrgResponse);
return this.list(queryWrapper);
}
@Override @Override
public Boolean getUserOrgFlag(Long orgId, Long positionId) { public Boolean getUserOrgFlag(Long orgId, Long positionId) {
LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
@ -75,4 +117,34 @@ public class SysUserOrgServiceServiceImpl extends ServiceImpl<SysUserOrgMapper,
return this.list(queryWrapper).size() > 0; return this.list(queryWrapper).size() > 0;
} }
/**
* id
*
* @author chenjinlong
* @date 2021/1/26 13:28
*/
private SysUserOrg querySysUserOrgById(UserOrgRequest userOrgResponse) {
SysUserOrg sysUserOrg = this.getById(userOrgResponse.getUserOrgId());
if (ObjectUtil.isEmpty(sysUserOrg)) {
throw new SystemModularException(SysUserOrgExceptionEnum.USER_ORG_NOT_EXIST, sysUserOrg.getOrgId());
}
return sysUserOrg;
}
/**
* queryWrapper
*
* @author fengshuonan
* @date 2021/1/24 22:03
*/
private LambdaQueryWrapper<SysUserOrg> createWrapper(UserOrgRequest userOrgResponse) {
LambdaQueryWrapper<SysUserOrg> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ObjectUtil.isNotEmpty(userOrgResponse.getUserOrgId()), SysUserOrg::getUserOrgId, userOrgResponse.getUserOrgId());
queryWrapper.eq(ObjectUtil.isNotEmpty(userOrgResponse.getUserId()), SysUserOrg::getUserId, userOrgResponse.getUserId());
queryWrapper.eq(ObjectUtil.isNotEmpty(userOrgResponse.getOrgId()), SysUserOrg::getOrgId, userOrgResponse.getOrgId());
queryWrapper.eq(ObjectUtil.isNotEmpty(userOrgResponse.getPositionId()), SysUserOrg::getPositionId, userOrgResponse.getPositionId());
return queryWrapper;
}
} }

View File

@ -1,17 +1,18 @@
package cn.stylefeng.roses.kernel.system.modular.user.service.impl; package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
import cn.stylefeng.roses.kernel.system.exception.SystemModularException; import cn.hutool.core.bean.BeanUtil;
import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserRoleMapper; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserRoleMapper;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
import cn.stylefeng.roses.kernel.system.pojo.UserRoleRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -24,58 +25,114 @@ import java.util.stream.Collectors;
@Service @Service
public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService { public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements SysUserRoleService {
@Override @Override
public List<SysUserRole> getUserRoles(Long userId) { public void add(UserRoleRequest userRoleRequest) {
LambdaQueryWrapper<SysUserRole> wrapper = new LambdaQueryWrapper<>(); SysUserRole sysUserRole = new SysUserRole();
wrapper.eq(SysUserRole::getUserId, userId); BeanUtil.copyProperties(userRoleRequest, sysUserRole);
List<SysUserRole> list = this.list(wrapper); this.save(sysUserRole);
// 账号下没有绑定角色
if (list.isEmpty()) {
throw new SystemModularException(SysUserExceptionEnum.USER_NOT_BIND_ROLE);
}
return list;
} }
@Override @Override
public List<Long> getUserRoleIds(Long userId) { public void del(UserRoleRequest userRoleRequest) {
LambdaQueryWrapper<SysUserRole> wrapper = new LambdaQueryWrapper<>(); SysUserRole sysUserRole = querySysUserRoleById(userRoleRequest);
wrapper.eq(SysUserRole::getUserId, userId); this.removeById(sysUserRole.getUserRoleId());
List<SysUserRole> list = this.list(wrapper);
return list.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
} }
@Override
public void delByUserId(Long userId) {
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysUserRole::getUserId, userId);
this.remove(queryWrapper);
}
@Override
public void edit(UserRoleRequest userRoleRequest) {
SysUserRole sysUserRole = this.querySysUserRoleById(userRoleRequest);
BeanUtil.copyProperties(userRoleRequest, sysUserRole);
this.updateById(sysUserRole);
}
@Override
public SysUserRole detail(UserRoleRequest userRoleRequest) {
LambdaQueryWrapper<SysUserRole> queryWrapper = this.createQueryWrapper(userRoleRequest);
return this.getOne(queryWrapper, false);
}
@Override
public List<SysUserRole> findList(UserRoleRequest userRoleRequest) {
LambdaQueryWrapper<SysUserRole> queryWrapper = this.createQueryWrapper(userRoleRequest);
return this.list(queryWrapper);
}
@Override
public List<SysUserRole> findListByUserId(Long userId) {
UserRoleRequest userRoleRequest = new UserRoleRequest();
userRoleRequest.setUserId(userId);
return this.findList(userRoleRequest);
}
@Override
public List<Long> findRoleIdsByUserId(Long userId) {
UserRoleRequest userRoleRequest = new UserRoleRequest();
userRoleRequest.setUserId(userId);
List<SysUserRole> sysUserRoleList = this.findList(userRoleRequest);
return sysUserRoleList.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void grantRole(SysUserRequest sysUserRequest) { public void assignRoles(SysUserRequest sysUserRequest) {
// 获取用户id // 获取用户id
Long userId = sysUserRequest.getUserId(); Long userId = sysUserRequest.getUserId();
// 删除该用户的所有角色 // 删除已有角色
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>(); this.delByUserId(userId);
queryWrapper.eq(SysUserRole::getUserId, userId);
this.remove(queryWrapper);
// 为该用户授权角色 // 为该用户授权角色
List<Long> roleIdList = sysUserRequest.getGrantRoleIdList(); List<Long> rileIds = sysUserRequest.getGrantRoleIdList();
ArrayList<SysUserRole> sysUserRoles = new ArrayList<>(); // 批量添加角色
for (Long roleId : roleIdList) { List<SysUserRole> sysUserRoleList = CollUtil.newArrayList();
rileIds.forEach(roleId -> {
SysUserRole sysUserRole = new SysUserRole(); SysUserRole sysUserRole = new SysUserRole();
sysUserRole.setUserId(userId); sysUserRole.setUserId(userId);
sysUserRole.setRoleId(roleId); sysUserRole.setRoleId(roleId);
sysUserRoles.add(sysUserRole); sysUserRoleList.add(sysUserRole);
} });
this.saveBatch(sysUserRoles);
this.saveBatch(sysUserRoleList);
} }
@Override /**
public void deleteUserRoleListByUserId(Long userId) { *
*
* @param userRoleRequest dto
* @return
* @author chenjinlong
* @date 2021/2/3 15:02
*/
private SysUserRole querySysUserRoleById(UserRoleRequest userRoleRequest) {
return this.getById(userRoleRequest.getUserRoleId());
}
/**
* QueryWrapper
*
* @param userRoleRequest dto
* @author chenjinlong
* @date 2021/2/3 14:54
*/
private LambdaQueryWrapper<SysUserRole> createQueryWrapper(UserRoleRequest userRoleRequest) {
LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysUserRole::getUserId, userId); // SQL拼接
queryWrapper.eq(ObjectUtil.isNotNull(userRoleRequest.getUserRoleId()), SysUserRole::getUserRoleId, userRoleRequest.getUserRoleId());
queryWrapper.eq(ObjectUtil.isNotNull(userRoleRequest.getUserId()), SysUserRole::getUserId, userRoleRequest.getUserId());
queryWrapper.eq(ObjectUtil.isNotNull(userRoleRequest.getRoleId()), SysUserRole::getRoleId, userRoleRequest.getRoleId());
this.remove(queryWrapper); return queryWrapper;
} }
} }

View File

@ -36,7 +36,6 @@ import cn.stylefeng.roses.kernel.system.modular.user.factory.OnlineUserCreateFac
import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory; import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory;
import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory; import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory;
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper; import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper;
import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
@ -44,10 +43,7 @@ import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
import cn.stylefeng.roses.kernel.system.pojo.organization.DataScopeResponse; import cn.stylefeng.roses.kernel.system.pojo.organization.DataScopeResponse;
import cn.stylefeng.roses.kernel.system.pojo.organization.HrOrganizationResponse; import cn.stylefeng.roses.kernel.system.pojo.organization.HrOrganizationResponse;
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse; import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
import cn.stylefeng.roses.kernel.system.pojo.user.OnlineUserResponse; import cn.stylefeng.roses.kernel.system.pojo.user.*;
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO;
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
import cn.stylefeng.roses.kernel.system.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.OnlineUserRequest;
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest; import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
import cn.stylefeng.roses.kernel.system.util.DataScopeUtil; import cn.stylefeng.roses.kernel.system.util.DataScopeUtil;
@ -141,7 +137,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
this.save(sysUser); this.save(sysUser);
// 更新用户员工信息 // 更新用户员工信息
sysUserOrgService.updateUserOrg(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId()); sysUserOrgService.add(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
} }
@Override @Override
@ -165,7 +161,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Long sysUserId = sysUser.getUserId(); Long sysUserId = sysUser.getUserId();
// 更新用户员工信息 // 更新用户员工信息
sysUserOrgService.updateUserOrg(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId()); sysUserOrgService.edit(sysUser.getUserId(), sysUserRequest.getOrgId(), sysUserRequest.getPositionId());
} }
@Override @Override
@ -273,7 +269,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
DataScopeUtil.quickValidateDataScope(organizationId); DataScopeUtil.quickValidateDataScope(organizationId);
// 给用户授权角色 // 给用户授权角色
sysUserRoleService.grantRole(sysUserRequest); sysUserRoleService.assignRoles(sysUserRequest);
} }
@Override @Override
@ -288,7 +284,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
// 判断当前用户有无该用户的权限 // 判断当前用户有无该用户的权限
DataScopeUtil.quickValidateDataScope(organizationId); DataScopeUtil.quickValidateDataScope(organizationId);
sysUserDataScopeService.grantData(sysUserRequest); sysUserDataScopeService.assignData(sysUserRequest);
} }
@Override @Override
@ -315,13 +311,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Long userId = sysUser.getUserId(); Long userId = sysUser.getUserId();
// 删除该用户对应的员工表信息 // 删除该用户对应的员工表信息
sysUserOrgService.deleteUserOrg(userId); sysUserOrgService.delByUserId(userId);
// 删除该用户对应的用户-角色表关联信息 // 删除该用户对应的用户-角色表关联信息
sysUserRoleService.deleteUserRoleListByUserId(userId); sysUserRoleService.delByUserId(userId);
// 删除该用户对应的用户-数据范围表关联信息 // 删除该用户对应的用户-数据范围表关联信息
sysUserDataScopeService.deleteUserDataScopeListByUserId(userId); sysUserDataScopeService.delByUserId(userId);
} }
@Override @Override
@ -338,7 +334,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
sysUserResponse.setPositionId(userOrgInfo.getPositionId()); sysUserResponse.setPositionId(userOrgInfo.getPositionId());
// 获取用户角色信息 // 获取用户角色信息
sysUserResponse.setGrantRoleIdList(sysUserRoleService.getUserRoleIds(sysUser.getUserId())); sysUserResponse.setGrantRoleIdList(sysUserRoleService.findRoleIdsByUserId(sysUser.getUserId()));
return sysUserResponse; return sysUserResponse;
} }
@ -433,8 +429,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
Long userId = sysUser.getUserId(); Long userId = sysUser.getUserId();
// 2. 获取用户角色信息 // 2. 获取用户角色信息
List<SysUserRole> userRoles = sysUserRoleService.getUserRoles(userId); List<Long> roleIds = sysUserRoleService.findRoleIdsByUserId(userId);
List<Long> roleIds = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
List<SysRoleResponse> roleResponseList = roleServiceApi.getRolesByIds(roleIds); List<SysRoleResponse> roleResponseList = roleServiceApi.getRolesByIds(roleIds);
// 3. 获取用户的数据范围 // 3. 获取用户的数据范围
@ -505,7 +500,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@Override @Override
public List<Long> getUserBindDataScope(Long userId) { public List<Long> getUserBindDataScope(Long userId) {
return sysUserDataScopeService.getUserDataScopeIdList(userId); return sysUserDataScopeService.findOrgIdsByUserId(userId);
} }
@Override @Override
@ -651,23 +646,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
*/ */
private LambdaQueryWrapper<SysUser> createWrapper(SysUserRequest sysUserRequest) { private LambdaQueryWrapper<SysUser> createWrapper(SysUserRequest sysUserRequest) {
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isNotNull(sysUserRequest)) {
// 组装账号的查询条件 // SQL拼接
if (ObjectUtil.isNotEmpty(sysUserRequest.getUserId())) { queryWrapper.eq(ObjectUtil.isNotEmpty(sysUserRequest.getUserId()), SysUser::getUserId, sysUserRequest.getUserId());
queryWrapper.eq(SysUser::getUserId, sysUserRequest.getUserId()); queryWrapper.like(ObjectUtil.isNotEmpty(sysUserRequest.getAccount()), SysUser::getAccount, sysUserRequest.getAccount());
} queryWrapper.eq(ObjectUtil.isNotEmpty(sysUserRequest.getRealName()), SysUser::getRealName, sysUserRequest.getRealName());
// 组装账号的查询条件
if (ObjectUtil.isNotEmpty(sysUserRequest.getAccount())) {
queryWrapper.like(SysUser::getAccount, sysUserRequest.getAccount());
}
// 组装用户姓名的查询条件
if (ObjectUtil.isNotEmpty(sysUserRequest.getRealName())) {
queryWrapper.eq(SysUser::getRealName, sysUserRequest.getRealName());
}
}
// 查询未删除状态的 // 查询未删除状态的
queryWrapper.eq(SysUser::getDelFlag, YesOrNotEnum.N.getCode()); queryWrapper.eq(SysUser::getDelFlag, YesOrNotEnum.N.getCode());