Commit 02be8110 authored by kang.nie@inzymeits.com's avatar kang.nie@inzymeits.com
Browse files

初始化代码

parent e9f88257
Pipeline #3111 failed with stages
in 0 seconds
<?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.cusc.nirvana.user.eiam.dao.UserRoleDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.cusc.nirvana.user.eiam.dao.entity.UserRolePO">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="role_id" property="roleId"/>
<result column="tenant_no" property="tenantNo"/>
<result column="application_id" property="applicationId"/>
<result column="is_delete" property="isDelete" />
<result column="create_time" property="createTime" />
<result column="update_time" property="updateTime" />
<result column="creator" property="creator" />
<result property="operator" column="operator" jdbcType="VARCHAR"/>
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id
, user_id, role_id, tenant_no,application_id, creator, is_delete, create_time, update_time
</sql>
<select id="queryRoleListByUserId" resultType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from eiam_user_role
where is_delete = 0
and user_id = #{userId,jdbcType=VARCHAR}
and tenant_no = #{tenantNo,jdbcType=VARCHAR}
<if test="appId != null">
and application_id = #{appId,jdbcType=VARCHAR}
</if>
</select>
</mapper>
package com.cusc.nirvana.user.eiam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* Description: 短信发送响应
* <br />
* CreateDate 2021-11-02 19:33:22
*
* @author yuyi
**/
@ApiModel(value = "短信发送响应", description = "短信发送响应")
@Data
public class SmsResponseDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("短信发送的id")
private String messageId;
}
package com.cusc.nirvana.user.eiam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* Description: 短信发送dto
* <br />
* CreateDate 2021-11-02 19:33:22
*
* @author yuyi
**/
@ApiModel(value = "短信发送dto", description = "短信发送dto")
@Data
public class SmsSendDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("请求key,短信网关提供")
private String accesskey;
@ApiModelProperty("短信推送,透传字段")
private String callbackParam;
@ApiModelProperty("手机号码集合")
private List<String> phoneNumbers;
@ApiModelProperty("短信签名Code")
private String signatureCode;
@ApiModelProperty("推送策略Code")
private String strategyCode;
@ApiModelProperty("短信模板Code")
private String templateCode;
@ApiModelProperty("短信模板参数")
private List<String> templateParams;
@ApiModelProperty("短信推送透传字段")
private String upstreamCallbackParam;
}
package com.cusc.nirvana.user.eiam.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* Description: 用户令牌list对象
* <br />
* CreateDate 2021-11-02 19:33:22
*
* @author yuyi
**/
@ApiModel(value = "用户令牌list对象", description = "用户令牌list对象")
@Data
public class UserTokenListDTO implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("刷新token")
private String refresh;
@ApiModelProperty("访问token")
private String access;
@ApiModelProperty("应用id")
private String appId;
}
package com.cusc.nirvana.user.eiam.handler;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.exception.CuscUserException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.ResponseStatus;
/**
* Description: 异常处理
* <br />
* CreateDate 2021-11-10 10:00
*
* @author yuyi
**/
@ControllerAdvice
@Order(0)
public class UserEiamExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(UserEiamExceptionHandler.class);
@ExceptionHandler(CuscUserException.class)
@ResponseBody
@ResponseStatus(HttpStatus.OK)
public Response<?> cuscUserHandler(CuscUserException e) {
LOGGER.warn("cuscUserHandler Handler code: {}, msg: {}", e.getCode(), e.getMessage());
return Response.createError(e.getMessage(), e.getCode());
}
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.ApplicationPO;
import com.cusc.nirvana.user.eiam.dto.ApplicationDTO;
import java.util.List;
/**
* (Application)表服务接口
*
* @author yuy336
* @since 2022-01-11 17:09:07
*/
public interface IApplicationService extends IService<ApplicationPO> {
/**
* 通过UUID查询单条数据
*
* @param application
* @return 实例对象
*/
ApplicationDTO getById(ApplicationDTO application);
/**
* 通过查询条件查询集合数据
*
* @param application
* @return 集合对象
*/
List<ApplicationDTO> queryByList(ApplicationDTO application);
/**
* 分页查询
*
* @param application 筛选条件
* @return 查询结果
*/
PageResult<ApplicationDTO> queryByPage(ApplicationDTO application);
/**
* 新增数据
*
* @param application 实例对象
* @return 实例对象
*/
ApplicationDTO insert(ApplicationDTO application);
/**
* 修改数据
*
* @param application 实例对象
* @return 实例对象
*/
ApplicationDTO update(ApplicationDTO application);
/**
* 通过主键删除数据
*
* @param application
* @return 是否成功
*/
boolean deleteById(ApplicationDTO application);
/**
* Description: 冻结
*
* @param application
* @return 是否成功
**/
boolean frozen(ApplicationDTO application);
/**
* Description: 解冻
* <br />
* CreateDate 2021-10-29 15:36:34
*
* @author yuyi
**/
boolean unfreeze(ApplicationDTO application);
/**
* 通过应用code查询缓存
*
* @param appCode
* @return 实例对象
*/
ApplicationDTO getCacheByCode(String appCode);
/**
* 通过应用code刷新缓存
*
* @param appCode
* @return 实例对象
*/
ApplicationDTO refreshCacheByCode(String appCode);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.DataOperationLogPO;
import com.cusc.nirvana.user.eiam.dto.DataOperationLogDTO;
import java.util.List;
/**
* eiam数据操作历史(DataOperationLog)表服务接口
*
* @author yuy336
* @since 2022-01-12 15:02:10
*/
public interface IDataOperationLogService extends IService<DataOperationLogPO> {
/**
* 通过UUID查询单条数据
*
* @param dataOperationLog
* @return 实例对象
*/
DataOperationLogDTO getByUuid(DataOperationLogDTO dataOperationLog);
/**
* 通过查询条件查询集合数据
*
* @param dataOperationLog
* @return 集合对象
*/
List<DataOperationLogDTO> queryByList(DataOperationLogDTO dataOperationLog);
/**
* 分页查询
*
* @param dataOperationLog 筛选条件
* @return 查询结果
*/
PageResult<DataOperationLogDTO> queryByPage(DataOperationLogDTO dataOperationLog);
/**
* 新增数据
*
* @param dataOperationLog 实例对象
* @return 实例对象
*/
DataOperationLogDTO insert(DataOperationLogDTO dataOperationLog);
/**
* 修改数据
*
* @param dataOperationLog 实例对象
* @return 实例对象
*/
DataOperationLogDTO update(DataOperationLogDTO dataOperationLog);
/**
* 通过主键删除数据
*
* @param dataOperationLog
* @return 是否成功
*/
boolean deleteById(DataOperationLogDTO dataOperationLog);
}
package com.cusc.nirvana.user.eiam.service;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dto.ApplicationDTO;
import com.cusc.nirvana.user.eiam.dto.SmsResponseDTO;
import com.cusc.nirvana.user.eiam.dto.SmsSendConfig;
import java.util.List;
/**
* Description: 短信service
* <br />
* CreateDate 2021-11-02 20:25:19
*
* @author yuyi
**/
public interface IEiamSmsService {
/**
* Description: 发送短信-多个参数
* <br />
* CreateDate 2021-12-03 14:53:06
*
* @author yuyi
**/
SmsResponseDTO sendSms(String phone, List<String> paramterList, SmsSendConfig config);
/**
* Description: 发送短信-单个参数
* <br />
* CreateDate 2021-12-03 14:53:06
*
* @author yuyi
**/
SmsResponseDTO sendSms(String phone, String paramter, SmsSendConfig config);
/**
* Description: 检查短信配置是否为空
* <br />
* CreateDate 2022-01-27 14:43:41
*
* @author yuyi
**/
boolean checkSmsConfigNotNull(SmsSendConfig bean);
/**
* Description: 短信发送限制检查
* <br />
* CreateDate 2022-01-27 14:43:41
*
* @author yuyi
**/
void checkSmsSendLimit(String phone, SmsSendConfig bean);
/**
* Description: 从应用配置转短信配置
* <br />
* CreateDate 2022-01-27 14:43:41
*
* @author yuyi
**/
void convertToSmsConfig(ApplicationDTO fromBean, SmsSendConfig toBean);
/**
* Description: 检查短信验证码
* <br />
* CreateDate 2021-11-04 19:53:41
*
* @author yuyi
**/
Response<Boolean> checkSmsCaptcha(String phone, String tenantNo, String appId, String smsCode);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.OrganizationPO;
import com.cusc.nirvana.user.eiam.dto.OrganizationDTO;
import com.cusc.nirvana.user.eiam.dto.UserOrganDTO;
import java.util.List;
/**
* 组织机构(Organization)表服务接口
*
* @author yuy336
* @since 2022-01-12 14:59:30
*/
public interface IOrganizationService extends IService<OrganizationPO> {
/**
* 通过UUID查询单条数据
*
* @param organization
* @return 实例对象
*/
OrganizationDTO getByUuid(OrganizationDTO organization);
/**
* 通过查询条件查询集合数据
*
* @param organization
* @return 集合对象
*/
List<OrganizationDTO> queryByList(OrganizationDTO organization);
/**
* 分页查询
*
* @param organization 筛选条件
* @return 查询结果
*/
PageResult<OrganizationDTO> queryByPage(OrganizationDTO organization);
/**
* 新增数据
*
* @param organization 实例对象
* @return 实例对象
*/
OrganizationDTO insert(OrganizationDTO organization);
/**
* 修改数据
*
* @param organization 实例对象
* @return 实例对象
*/
OrganizationDTO update(OrganizationDTO organization);
/**
* 通过主键删除数据
*
* @param organization
* @return 是否成功
*/
boolean deleteById(OrganizationDTO organization);
/**
* 冻结数据
*
* @param bean 实体
* @return 删除是否成功
*/
boolean frozen(OrganizationDTO bean);
/**
* 解冻数据
*
* @param bean 实体
* @return 删除是否成功
*/
boolean unfreeze(OrganizationDTO bean);
/**
* 通过用户id查询组织集合信息
*
* @param bean 实体
* @return 删除是否成功
*/
List<OrganizationDTO> getOrganListByUserId(UserOrganDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dao.entity.ResourcePO;
import com.cusc.nirvana.user.eiam.dto.*;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author auto-generator
* @since 2021-10-20
*/
public interface IResourceService extends IService<ResourcePO> {
/**
* Description: 通过角色id查询资源信息
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
List<ResourceDTO> queryResourceByRoleId(RoleResourceDTO entity);
/**
* Description:查询资源所有信息
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
Response<List<ResourceSimpleDTO>> query(ResourceDTO entity);
/**
* Description:资源批量新增
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
Response addList(ResourceBatchDTO resourceBatch);
/**
* Description: 通过用户id查询资源信息
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
List<ResourceSimpleDTO> queryResourceByUserId(UserRoleDTO entity);
/**
* Description: 通过角色code查询资源信息
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
ResourcePO getResourceDOByCode(ResourceDTO entity);
/**
* Description:根据资源编码和应用id删除资源信息
* <br />
* CreateDate 2021-10-26 17:40:39
*
* @author yuyi
**/
Integer deleteByCode(List<String> codeList, String appId);
/**
* Description: 比对输入的数据和数据库中的资源
* <br />
* CreateDate 2021-12-08 20:52:26
*
* @author yuyi
**/
void compareResource(List<ResourceTreeDTO> resourceList);
/**
* 分页查询
*
* @param bean 筛选条件
* @return 查询结果
*/
PageResult<ResourceDTO> queryByPage(ResourceDTO bean);
/**
* 通过主键查询单条数据
*
* @param bean 实体
* @return 单条数据
*/
ResourceDTO getByUuid(ResourceDTO bean);
/**
* 新增数据
*
* @param resource 实体
* @return 新增结果
*/
ResourceDTO add(ResourceDTO resource);
/**
* 编辑数据
*
* @param resource 实体
* @return 编辑结果
*/
ResourceDTO update(ResourceDTO resource);
/**
* 删除数据
*
* @param resource 实体
* @return 删除是否成功
*/
boolean deleteById(ResourceDTO resource);
/**
* 冻结数据
*
* @param resource 实体
* @return 删除是否成功
*/
boolean frozen(ResourceDTO resource);
/**
* 解冻数据
*
* @param resource 实体
* @return 删除是否成功
*/
boolean unfreeze(ResourceDTO resource);
/**
* 生成资源sql
*
* @param bean 实体
* @return sql集合
*/
Response<List<String>> generateResSql(ResourceDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.ResourceTempaltePO;
import com.cusc.nirvana.user.eiam.dto.ResourceTempalteDTO;
import java.util.List;
/**
* (ResourceTempalte)表服务接口
*
* @author yuy336
* @since 2022-01-11 17:34:45
*/
public interface IResourceTempalteService extends IService<ResourceTempaltePO> {
/**
* 通过UUID查询单条数据
*
* @param resourceTempalte
* @return 实例对象
*/
ResourceTempalteDTO getByUuid(ResourceTempalteDTO resourceTempalte);
/**
* 通过查询条件查询集合数据
*
* @param resourceTempalte
* @return 集合对象
*/
List<ResourceTempalteDTO> queryByList(ResourceTempalteDTO resourceTempalte);
/**
* 分页查询
*
* @param resourceTempalte 筛选条件
* @return 查询结果
*/
PageResult<ResourceTempalteDTO> queryByPage(ResourceTempalteDTO resourceTempalte);
/**
* 新增数据
*
* @param resourceTempalte 实例对象
* @return 实例对象
*/
ResourceTempalteDTO insert(ResourceTempalteDTO resourceTempalte);
/**
* 修改数据
*
* @param resourceTempalte 实例对象
* @return 实例对象
*/
ResourceTempalteDTO update(ResourceTempalteDTO resourceTempalte);
/**
* 通过主键删除数据
*
* @param resourceTempalte
* @return 是否成功
*/
boolean deleteById(ResourceTempalteDTO resourceTempalte);
/**
* Description: 通过租户编号和应用id查询资源id集合
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
List<String> queryResourceIdList(ResourceTempalteDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.user.eiam.dao.entity.RoleResourcePO;
import com.cusc.nirvana.user.eiam.dto.RoleResourceDTO;
import java.util.List;
/**
* <p>
* 角色资源服务
* </p>
*
* @author auto-generator
* @since 2021-10-20
*/
public interface IRoleResourceService extends IService<RoleResourcePO> {
/**
* Description:新增角色
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
RoleResourceDTO add(RoleResourceDTO entity);
/**
* Description: 新增角色与资源的关系(先删除后新增)
* <br />
* CreateDate 2021-11-01 19:57:34
*
* @author yuyi
**/
Integer addBatchResource(RoleResourceDTO entity);
/**
* Description: 通过角色删除角色资源关系
* <br />
* CreateDate 2021-11-01 19:57:34
*
* @author yuyi
**/
boolean deleteByRoleId(RoleResourceDTO bean);
/**
* Description: 通过资源批量删除角色与资源的关系
* <br />
* CreateDate 2021-11-01 19:57:34
*
* @author yuyi
**/
boolean deleteBatchRole(RoleResourceDTO bean);
/**
* 通过查询条件查询集合数据
*
* @param bean
* @return 集合对象
*/
List<RoleResourceDTO> queryByList(RoleResourceDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dao.entity.RolePO;
import com.cusc.nirvana.user.eiam.dto.RoleDTO;
import com.cusc.nirvana.user.eiam.dto.RoleSimpleDTO;
import com.cusc.nirvana.user.eiam.dto.UserRoleDTO;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author auto-generator
* @since 2021-10-20
*/
public interface IRoleService extends IService<RolePO> {
/**
* Description:新增角色
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
RoleDTO add(RoleDTO entity);
/**
* Description:更新角色信息
* <br />
* CreateDate 2021-10-26 17:40:39
*
* @author yuyi
**/
RoleDTO update(RoleDTO entity);
/**
* Description:删除角色信息
* <br />
* CreateDate 2021-10-26 17:40:39
*
* @author yuyi
**/
RoleDTO delete(RoleDTO entity);
/**
* Description:通过id查询角色详情
* <br />
* CreateDate 2021-10-26 17:40:54
*
* @author yuyi
**/
RoleDTO get(RoleDTO entity);
/**
* Description:分页查询角色信息
* <br />
* CreateDate 2021-10-26 17:41:59
*
* @author yuyi
**/
PageResult<RoleDTO> page(RoleDTO entity);
/**
* Description:查询角色所有信息
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
List<RoleSimpleDTO> query(RoleDTO entity);
/**
* Description:通过id查询角色详情
* <br />
* CreateDate 2021-10-26 17:41:12
*
* @author yuyi
**/
RoleDTO getByUuid(RoleDTO entity);
/**
* Description:通过id集合查询角色详情
* <br />
* CreateDate 2021-10-26 17:41:29
*
* @author yuyi
**/
List<RoleSimpleDTO> getByUuids(RoleDTO entity);
/**
* Description: 通过用户id查询角色信息
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
List<RoleDTO> queryRoleByUserId(UserRoleDTO entity);
/**
* Description: 通过角色名称查询角色信息
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
List<RoleSimpleDTO> queryRoleByName(RoleDTO entity);
/**
* 冻结数据
*
* @param bean 实体
* @return 删除是否成功
*/
RoleDTO frozen(RoleDTO bean);
/**
* 解冻数据
*
* @param bean 实体
* @return 删除是否成功
*/
RoleDTO unfreeze(RoleDTO bean);
/**
* Description: 通过用户id查询是否脱敏 false 脱敏, true 不脱敏
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
Response<Boolean> queryHideSensitiveByUserId(UserRoleDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dao.entity.UrlPO;
import com.cusc.nirvana.user.eiam.dto.EiamUrlDTO;
import com.cusc.nirvana.user.eiam.dto.ResourceUrlSimpleDTO;
import java.util.List;
/**
* <p>
* 资源url服务类
* </p>
*
* @author auto-generator
* @since 2021-10-20
*/
public interface IUrlService extends IService<UrlPO> {
/**
* Description:查询所有资源url
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
Response<List<ResourceUrlSimpleDTO>> queryAll(Integer isAuth);
/**
* Description:资源url批量新增
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
Response addList(List<EiamUrlDTO> resourceUrlList);
/**
* Description:通过url 和 应用id 查询url对应的id
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
Long queryByUrl(EiamUrlDTO bean);
/**
* Description: 白名单信息刷新到redis
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
Integer whiteListToRedis();
/**
* Description:新增url
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
Long add(EiamUrlDTO bean);
/**
* Description: 将用户授权的url写入redis-区分租户管理和普通用户
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void userRelUrlToRedis(String userId, String tenantNo, String appId);
/**
* Description: 将用户授权的角色url写入redis-区分租户管理和普通用户
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void userRelRolUrlToRedis(String userId, String tenantNo, String appId);
/**
* Description: 将用户授权的角色url写入redis-不区分租户管理员,直接刷新用户角色到redis
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void userRoleResUrlToRedis(String userId, String tenantNo, String appId);
/**
* Description: 将用户授权应用的所有url写入redis
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void userRelAppUrlToRedis(String userId, String tenantNo);
/**
* Description: 删除redis中用户对应的资源集合
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void delUserRelUrlRedis(String userId, String tenantNo, String appId);
/**
* Description: 将角色对应的所有用户url写入redis
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void roleRelUrlToRedis(String roleId, Integer roleScene, String tenantNo, String appId);
/**
* Description: 将用户集合授权的url写入redis
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void userListRelUrlToRedis(List<String> userIdList, String tenantNo, String appId);
/**
* Description: 将租户授权的url写入redis
* <br />
* CreateDate 2022-01-20 17:13:48
*
* @author yuyi
**/
void tenantRelUrlToRedis(String tenantNo, String appId);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.UserOrganPO;
import com.cusc.nirvana.user.eiam.dto.UserOrganDTO;
import java.util.List;
/**
* 用户组织信息(UserOrgan)表服务接口
*
* @author yuy336
* @since 2022-01-12 15:00:02
*/
public interface IUserOrganService extends IService<UserOrganPO> {
/**
* 通过UUID查询单条数据
*
* @param userOrgan
* @return 实例对象
*/
UserOrganDTO getByUuid(UserOrganDTO userOrgan);
/**
* 通过查询条件查询集合数据
*
* @param userOrgan
* @return 集合对象
*/
List<UserOrganDTO> queryByList(UserOrganDTO userOrgan);
/**
* 分页查询
*
* @param userOrgan 筛选条件
* @return 查询结果
*/
PageResult<UserOrganDTO> queryByPage(UserOrganDTO userOrgan);
/**
* 新增数据
*
* @param userOrgan 实例对象
* @return 实例对象
*/
UserOrganDTO insert(UserOrganDTO userOrgan);
/**
* 修改数据
*
* @param userOrgan 实例对象
* @return 实例对象
*/
UserOrganDTO update(UserOrganDTO userOrgan);
/**
* 通过主键删除数据
*
* @param userOrgan
* @return 是否成功
*/
boolean deleteById(UserOrganDTO userOrgan);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.user.eiam.dao.entity.UserResourcePO;
import com.cusc.nirvana.user.eiam.dto.UserResourceDTO;
import java.util.List;
/**
* 用户资源关系(UserResource)表服务接口
*
* @author yuy336
* @since 2022-01-19 13:41:03
*/
public interface IUserResourceService extends IService<UserResourcePO> {
/**
* 通过查询条件查询集合数据
*
* @param bean
* @return 集合对象
*/
List<UserResourceDTO> queryByList(UserResourceDTO bean);
/**
* 新增数据
*
* @param bean 实例对象
* @return 实例对象
*/
UserResourceDTO insert(UserResourceDTO bean);
/**
* 批量新增用户资源数据
*
* @param bean 实例对象
* @return 实例对象
*/
Integer insertBatchResource(UserResourceDTO bean);
/**
* 根据用户id删除用户资源信息
*
* @param bean 实例对象
* @return 实例对象
*/
boolean deleteByUserId(UserResourceDTO bean);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dao.entity.UserRolePO;
import com.cusc.nirvana.user.eiam.dto.UserRoleDTO;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* <p>
* 用户角色服务类
* </p>
*
* @author yuy336
* @since 2021-10-20
*/
public interface IUserRoleService extends IService<UserRolePO> {
/**
* Description:新增用户角色信息
* <br />
* CreateDate 2021-10-29 16:47:08
*
* @author yuyi
**/
UserRoleDTO add(UserRoleDTO entity);
/**
* Description:批量新增用户角色信息
* <br />
* CreateDate 2021-10-29 16:47:08
*
* @author yuyi
**/
Response addBatchRole(UserRoleDTO entity);
/**
* Description:通过用户id删除用户角色信息
* <br />
* CreateDate 2021-10-29 16:47:08
*
* @author yuyi
**/
Response deleteByUser(UserRoleDTO entity);
/**
* Description:通过角色id删除用户角色信息
* <br />
* CreateDate 2021-10-29 16:47:08
*
* @author yuyi
**/
Response deleteByRole(UserRoleDTO entity);
/**
* Description: 通过用户id查询角色集合
* <br />
* CreateDate 2021-10-29 22:24:25
*
* @author yuyi
**/
Map<String, Set<String>> queryRoleListByUserId(String userId, String tenantNo, String appId);
/**
* Description:通过角色id删除用户角色信息
*
* @param entity 必填:roleId,tenantNo 可选:applicationId
* @return 删除结果
* CreateDate 2021-10-29 16:47:08
* @author yuyi
**/
boolean delBatchUser(UserRoleDTO entity);
/**
* 通过用户更新
* @param dto
*/
void updateByUserId(UserRoleDTO dto);
/**
* 根据userIdList查询列表
* @param dto
* @return
*/
List<UserRoleDTO> queryListByUserIdList(UserRoleDTO dto);
/**
* 通过查询条件查询集合数据
*
* @param userRole
* @return 集合对象
*/
List<UserRoleDTO> queryByList(UserRoleDTO userRole);
}
package com.cusc.nirvana.user.eiam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.user.eiam.dao.entity.UserPO;
import com.cusc.nirvana.user.eiam.dto.UserDTO;
import com.cusc.nirvana.user.eiam.dto.UserPasswordDTO;
import com.cusc.nirvana.user.eiam.dto.UserRoleDTO;
import com.cusc.nirvana.user.eiam.dto.UserSimpleDTO;
import java.util.List;
/**
* <p>
* 针对内部员工、生态合作伙伴、分级线下店铺等企业内部用户 服务类
* </p>
*
* @author yuy336
* @since 2021-10-20
*/
public interface IUserService extends IService<UserPO> {
/**
* Description:新增用户
* <br />
* CreateDate 2021-10-26 17:40:21
*
* @author yuyi
**/
UserDTO addUser(UserDTO entity);
/**
* Description:更新用户信息
* <br />
* CreateDate 2021-10-26 17:40:39
*
* @author yuyi
**/
UserDTO updateUser(UserDTO entity);
/**
* Description:删除用户信息
* <br />
* CreateDate 2021-10-26 17:40:39
*
* @author yuyi
**/
boolean deleteUser(UserDTO entity);
/**
* Description:通过id查询用户详情
* <br />
* CreateDate 2021-10-26 17:40:54
*
* @author yuyi
**/
UserDTO getUser(UserDTO entity);
/**
* Description:分页查询用户信息
* <br />
* CreateDate 2021-10-26 17:41:59
*
* @author yuyi
**/
PageResult<UserDTO> pageListUser(UserDTO entity);
/**
* Description:查询用户所有信息
* <br />
* CreateDate 2021-10-26 17:42:09
*
* @author yuyi
**/
List<UserSimpleDTO> queryListUser(UserDTO entity);
/**
* Description: 冻结用户
* <br />
* CreateDate 2021-10-29 15:36:34
*
* @author yuyi
**/
boolean frozen(UserDTO entity);
/**
* Description: 解冻用户
* <br />
* CreateDate 2021-10-29 15:36:34
*
* @author yuyi
**/
boolean unfreeze(UserDTO entity);
/**
* Description:通过id查询用户详情
* <br />
* CreateDate 2021-10-26 17:41:12
*
* @author yuyi
**/
UserDTO getByUuid(UserDTO entity);
/**
* Description:通过id集合查询用户详情
* <br />
* CreateDate 2021-10-26 17:41:29
*
* @author yuyi
**/
List<UserSimpleDTO> getByUuids(UserDTO entity);
/**
* Description: 通过角色id查询用户信息
* <br />
* CreateDate 2021-10-29 17:09:57
*
* @author yuyi
**/
List<UserDTO> queryUserByRoleId(UserRoleDTO entity);
/**
* Description: 更换租户管理员账号
* <br />
* CreateDate 2022-01-20 11:48:36
*
* @author yuyi
**/
boolean changeTenantAdmin(UserDTO bean);
/**
* Description: 将租户下的所有用户对应的url写入redis
* <br />
* CreateDate 2022-01-20 11:48:36
*
* @author yuyi
**/
void allUserRelUrlToRedis(UserDTO bean);
/**
* Description: 修改密码
* <br />
* CreateDate 2022-01-21 15:36:34
*
* @author yuyi
**/
boolean changePassword(UserDTO bean);
/**
* Description: 重置密码
* <br />
* CreateDate 2022-01-21 15:36:34
*
* @author yuyi
**/
boolean resetPassword(UserPasswordDTO bean);
/**
* Description: 查询用户是否在线
* <br />
* CreateDate 2022-01-21 15:36:34
*
* @author yuyi
**/
boolean getUserOnline(UserDTO bean);
/**
* 查询管理员
* @param userIdList userIdList
* @param tenantAdmin 是否租户管理员
* @return
*/
List<UserDTO> queryAdminUserListByUserIdList(List<String> userIdList,boolean tenantAdmin);
List<UserDTO> queryAdminUserListByUserIdListNew(List<String> userIdList,boolean tenantAdmin);
}
package com.cusc.nirvana.user.eiam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cache.CacheFactory;
import com.cache.exception.CacheException;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.rds.mybatis.PageHelper;
import com.cusc.nirvana.user.eiam.constants.CommonStatusEnum;
import com.cusc.nirvana.user.eiam.constants.RedisConstant;
import com.cusc.nirvana.user.eiam.constants.ResponseCode;
import com.cusc.nirvana.user.eiam.converter.ApplicationConverter;
import com.cusc.nirvana.user.eiam.dao.ApplicationDao;
import com.cusc.nirvana.user.eiam.dao.entity.ApplicationPO;
import com.cusc.nirvana.user.eiam.dto.ApplicationDTO;
import com.cusc.nirvana.user.eiam.service.IApplicationService;
import com.cusc.nirvana.user.exception.CuscUserException;
import com.cusc.nirvana.user.util.CuscStringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* (Application)表服务实现类
*
* @author yuy336
* @since 2022-01-11 17:09:07
*/
@Service
public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, ApplicationPO> implements IApplicationService {
@Autowired
private CacheFactory cacheFactory;
/**
* 通过UUID查询单条数据
*
* @param application
* @return 实例对象
*/
@Override
public ApplicationDTO getById(ApplicationDTO application) {
ApplicationPO record = getPoById(application.getId());
return ApplicationConverter.INSTANCE.poToDto(record);
}
/**
* 通过查询条件查询集合数据
*
* @param application
* @return 集合对象
*/
@Override
public List<ApplicationDTO> queryByList(ApplicationDTO application) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("create_time");
List<ApplicationPO> record = this.list(queryWrapper);
return ApplicationConverter.INSTANCE.poListToDtoList(record);
}
/**
* 分页查询
*
* @param application 筛选条件
* @return 查询结果
*/
@Override
public PageResult<ApplicationDTO> queryByPage(ApplicationDTO application) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("create_time");
queryWrapper.eq("is_delete", 0);
queryWrapper.like(CuscStringUtils.isNotEmpty(application.getApplicationCode()), "application_code",
application.getApplicationCode());
queryWrapper.like(CuscStringUtils.isNotEmpty(application.getApplicationName()), "application_name",
application.getApplicationName());
Page<ApplicationPO> page =
this.page(new Page<>(application.getCurrPage(), application.getPageSize()), queryWrapper);
return PageHelper.convert(page, ApplicationDTO.class);
}
/**
* 新增数据
*
* @param application 实例对象
* @return 实例对象
*/
@Override
@Transactional
public ApplicationDTO insert(ApplicationDTO application) {
ApplicationPO applicationPO = ApplicationConverter.INSTANCE.dtoToPo(application);
this.save(applicationPO);
return application;
}
/**
* 修改数据
*
* @param application 实例对象
* @return 实例对象
*/
@Override
@Transactional
public ApplicationDTO update(ApplicationDTO application) {
ApplicationPO applicationPO = this.getPoById(application.getId());
if (applicationPO == null) {
return null;
}
ApplicationPO tmpBean = ApplicationConverter.INSTANCE.dtoToPo(application);
this.updateById(tmpBean);
return application;
}
/**
* 通过主键删除数据
*
* @param application 实例对象
* @return 是否成功
*/
@Override
@Transactional
public boolean deleteById(ApplicationDTO application) {
ApplicationPO applicationPO = this.getPoById(application.getId());
if (applicationPO == null) {
return false;
}
return this.updateById(applicationPO);
}
/**
* 冻结
*
* @param application 实例对象
* @return 是否成功
*/
@Override
@Transactional
public boolean frozen(ApplicationDTO application) {
ApplicationPO applicationPO = this.getPoById(application.getId());
if (applicationPO == null) {
return false;
}
ApplicationPO tmpApp = new ApplicationPO();
tmpApp.setId(applicationPO.getId());
tmpApp.setStatus(CommonStatusEnum.DISABLE.getCode());
return this.updateById(tmpApp);
}
/**
* 解冻
*
* @param application 实例对象
* @return 是否成功
*/
@Override
@Transactional
public boolean unfreeze(ApplicationDTO application) {
ApplicationPO applicationPO = this.getPoById(application.getId());
if (applicationPO == null) {
return false;
}
ApplicationPO tmpApp = new ApplicationPO();
tmpApp.setId(applicationPO.getId());
tmpApp.setStatus(CommonStatusEnum.ENABLE.getCode());
return this.updateById(tmpApp);
}
/**
* 通过应用code查询缓存
*
* @param appCode
* @return 实例对象
*/
@Override
public ApplicationDTO getCacheByCode(String appCode) {
//去缓存获取
try {
ApplicationDTO appBean = cacheFactory.getExpireStringService()
.getValue(RedisConstant.APP_CODE_CONFIG + appCode, ApplicationDTO.class);
if (appBean == null || CuscStringUtils.isEmpty(appBean.getApplicationCode())) {
//查询数据库
appBean = ApplicationConverter.INSTANCE.poToDto(getPoByCode(appCode));
if (appBean == null) {
throw new CuscUserException(ResponseCode.APP_CONFIG_INVALID.getCode() + "",
ResponseCode.APP_CONFIG_INVALID.getMsg());
}
cacheFactory.getExpireStringService()
.setExpireValue(RedisConstant.APP_CODE_CONFIG + appCode, appBean,
RedisConstant.APP_CODE_CONFIG_TIME);
}
return appBean;
} catch (CacheException e) {
throw new CuscUserException(ResponseCode.REDIS_OPT_FAIL.getCode() + "",
ResponseCode.REDIS_OPT_FAIL.getMsg());
}
}
@Override
public ApplicationDTO refreshCacheByCode(String appCode) {
ApplicationDTO appBean = ApplicationConverter.INSTANCE.poToDto(getPoByCode(appCode));
if (appBean == null) {
throw new CuscUserException(ResponseCode.APP_CONFIG_INVALID.getCode() + "",
ResponseCode.APP_CONFIG_INVALID.getMsg());
}
try {
cacheFactory.getExpireStringService()
.setExpireValue(RedisConstant.APP_CODE_CONFIG + appCode, appBean,
RedisConstant.APP_CODE_CONFIG_TIME);
} catch (CacheException e) {
throw new CuscUserException(ResponseCode.REDIS_OPT_FAIL.getCode() + "",
ResponseCode.REDIS_OPT_FAIL.getMsg());
}
return appBean;
}
//-----------私有方法区------------------------
/**
* 通过UUID查询单条数据
*
* @param id
* @return 实例对象
*/
private ApplicationPO getPoById(Long id) {
return this.getById(id);
}
/**
* 通过UUID查询单条数据
*
* @param code
* @return 实例对象
*/
private ApplicationPO getPoByCode(String code) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("application_code", code);
queryWrapper.eq("is_delete", 0);
return this.getOne(queryWrapper);
}
}
package com.cusc.nirvana.user.eiam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.rds.mybatis.PageHelper;
import com.cusc.nirvana.user.eiam.converter.DataOperationLogConverter;
import com.cusc.nirvana.user.eiam.dao.DataOperationLogDao;
import com.cusc.nirvana.user.eiam.dao.entity.DataOperationLogPO;
import com.cusc.nirvana.user.eiam.dto.DataOperationLogDTO;
import com.cusc.nirvana.user.eiam.service.IDataOperationLogService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* eiam数据操作历史(DataOperationLog)表服务实现类
*
* @author yuy336
* @since 2022-01-12 15:02:10
*/
@Service
public class DataOperationLogServiceImpl extends ServiceImpl<DataOperationLogDao, DataOperationLogPO> implements IDataOperationLogService {
/**
* 通过UUID查询单条数据
*
* @param dataOperationLog
* @return 实例对象
*/
@Override
public DataOperationLogDTO getByUuid(DataOperationLogDTO dataOperationLog) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("uuid", dataOperationLog.getUuid());
queryWrapper.eq("is_delete", 0);
DataOperationLogPO record = this.getOne(queryWrapper);
return DataOperationLogConverter.INSTANCE.poToDto(record);
}
/**
* 通过查询条件查询集合数据
*
* @param dataOperationLog
* @return 集合对象
*/
@Override
public List<DataOperationLogDTO> queryByList(DataOperationLogDTO dataOperationLog) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("create_time");
List<DataOperationLogPO> record = this.list(queryWrapper);
return DataOperationLogConverter.INSTANCE.poListToDtoList(record);
}
/**
* 分页查询
*
* @param dataOperationLog 筛选条件
* @return 查询结果
*/
@Override
public PageResult<DataOperationLogDTO> queryByPage(DataOperationLogDTO dataOperationLog) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.orderByDesc("create_time");
queryWrapper.eq("is_delete", 0);
Page<DataOperationLogPO> page =
this.page(new Page<>(dataOperationLog.getCurrPage(), dataOperationLog.getPageSize()), queryWrapper);
return PageHelper.convert(page, DataOperationLogDTO.class);
}
/**
* 新增数据
*
* @param dataOperationLog 实例对象
* @return 实例对象
*/
@Override
@Transactional
public DataOperationLogDTO insert(DataOperationLogDTO dataOperationLog) {
DataOperationLogPO dataOperationLogPO = DataOperationLogConverter.INSTANCE.dtoToPo(dataOperationLog);
this.save(dataOperationLogPO);
return dataOperationLog;
}
/**
* 修改数据
*
* @param dataOperationLog 实例对象
* @return 实例对象
*/
@Override
@Transactional
public DataOperationLogDTO update(DataOperationLogDTO dataOperationLog) {
DataOperationLogPO dataOperationLogPO = this.getPoByUuid(dataOperationLog.getUuid());
this.updateById(dataOperationLogPO);
return dataOperationLog;
}
/**
* 通过主键删除数据
* @param dataOperationLog 实例对象
* @return 是否成功
*/
@Override
@Transactional
public boolean deleteById(DataOperationLogDTO dataOperationLog) {
DataOperationLogPO dataOperationLogPO = this.getPoByUuid(dataOperationLog.getUuid());
return this.updateById(dataOperationLogPO);
}
/**
* 通过UUID查询单条数据
*
* @param uuid
* @return 实例对象
*/
private DataOperationLogPO getPoByUuid(String uuid) {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("uuid", uuid);
queryWrapper.eq("is_delete", 0);
return this.getOne(queryWrapper);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment