feat(REQ-2864): 添加单位、部门、协同关系、部门人员操作日志相关的枚举,扩展接口支持operatorId为空的情况
This commit is contained in:
parent
b3341bfa38
commit
e7fb5dd8d8
@ -29,10 +29,12 @@ public class PermissionOperateLogReq implements Serializable {
|
|||||||
@NotBlank(message = "表名不能为空")
|
@NotBlank(message = "表名不能为空")
|
||||||
private String tableName;
|
private String tableName;
|
||||||
|
|
||||||
@NotNull(message = "操作人ID不能为空")
|
// @NotNull(message = "操作人ID不能为空")
|
||||||
@Min(value = 1, message = "操作人ID有误")
|
// @Min(value = 1, message = "操作人ID有误")
|
||||||
private Long operatorId;
|
private Long operatorId;
|
||||||
|
|
||||||
|
private String operatorName;
|
||||||
|
|
||||||
@NotBlank(message = "场景不能为空")
|
@NotBlank(message = "场景不能为空")
|
||||||
private String scene;
|
private String scene;
|
||||||
|
|
||||||
@ -41,4 +43,6 @@ public class PermissionOperateLogReq implements Serializable {
|
|||||||
private Object requestData;
|
private Object requestData;
|
||||||
|
|
||||||
private Object operateData;
|
private Object operateData;
|
||||||
|
|
||||||
|
private JSONObject ext;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,10 @@ package cn.axzo.tyr.server.repository.entity;
|
|||||||
|
|
||||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||||
import cn.axzo.tyr.client.common.enums.PermissionRelationOperateLogSceneEnum;
|
import cn.axzo.tyr.client.common.enums.PermissionRelationOperateLogSceneEnum;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -15,7 +18,7 @@ import lombok.*;
|
|||||||
@Builder
|
@Builder
|
||||||
@ToString
|
@ToString
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@TableName("saas_pgroup_permission_relation_operate_log")
|
@TableName(value = "saas_pgroup_permission_relation_operate_log", autoResultMap = true)
|
||||||
public class SaasPgroupPermissionRelationOperateLog extends BaseEntity<SaasPgroupPermissionRelationOperateLog> {
|
public class SaasPgroupPermissionRelationOperateLog extends BaseEntity<SaasPgroupPermissionRelationOperateLog> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -63,4 +66,7 @@ public class SaasPgroupPermissionRelationOperateLog extends BaseEntity<SaasPgrou
|
|||||||
* 操作人角色
|
* 操作人角色
|
||||||
*/
|
*/
|
||||||
private String createByRole;
|
private String createByRole;
|
||||||
|
|
||||||
|
@TableField(typeHandler = FastjsonTypeHandler.class)
|
||||||
|
private JSONObject ext;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,12 +23,15 @@ import com.google.common.collect.Lists;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.slf4j.MDC;
|
import org.slf4j.MDC;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,20 +86,26 @@ public class SaasPgroupPermissionRelationOperateLogServiceImpl implements SaasPg
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void save(PermissionOperateLogReq req) {
|
public void save(PermissionOperateLogReq req) {
|
||||||
List<PersonProfileDto> personProfileDtos = RpcInternalUtil.rpcListProcessor(() -> userProfileServiceApi.getPersonProfiles(Lists.newArrayList(req.getOperatorId())), "查询用户信息", req.getOperatorId()).getData();
|
String realName = req.getOperatorId() == null ? "" : Optional.ofNullable(getPersonProfileDto(req)).map(PersonProfileDto::getRealName).orElse("");
|
||||||
PersonProfileDto operator = CollectionUtils.isEmpty(personProfileDtos) ? null : personProfileDtos.get(0);
|
|
||||||
|
|
||||||
SaasPgroupPermissionRelationOperateLog operateLog = SaasPgroupPermissionRelationOperateLog.builder()
|
SaasPgroupPermissionRelationOperateLog operateLog = SaasPgroupPermissionRelationOperateLog.builder()
|
||||||
.tableName(req.getTableName())
|
.tableName(req.getTableName())
|
||||||
.scene(req.getScene())
|
.scene(req.getScene())
|
||||||
.sceneId(req.getSceneId())
|
.sceneId(req.getSceneId())
|
||||||
.createBy(req.getOperatorId())
|
.createBy(ObjectUtils.firstNonNull(req.getOperatorId(), 0L))
|
||||||
.createByName(Objects.isNull(operator) ? "" : operator.getRealName())
|
.createByName(StringUtils.firstNonBlank(realName, req.getOperatorName(), ""))
|
||||||
.traceId(MDC.get(Constants.CTX_LOG_ID_MDC))
|
.traceId(MDC.get(Constants.CTX_LOG_ID_MDC))
|
||||||
.requestData(Objects.nonNull(req.getRequestData()) ? JSONObject.toJSONString(req.getRequestData()) : null)
|
.requestData(Objects.nonNull(req.getRequestData()) ? JSONObject.toJSONString(req.getRequestData()) : null)
|
||||||
.operateData(Objects.nonNull(req.getOperateData()) ? JSONObject.toJSONString(req.getOperateData()) : null)
|
.operateData(Objects.nonNull(req.getOperateData()) ? JSONObject.toJSONString(req.getOperateData()) : null)
|
||||||
.createByRole(JSONObject.toJSONString(getPersonBasicRoles(req.getOperatorId())))
|
.createByRole(JSONObject.toJSONString(getPersonBasicRoles(req.getOperatorId())))
|
||||||
|
.ext(req.getExt())
|
||||||
.build();
|
.build();
|
||||||
batchSave(Lists.newArrayList(operateLog));
|
batchSave(Lists.newArrayList(operateLog));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private PersonProfileDto getPersonProfileDto(PermissionOperateLogReq req) {
|
||||||
|
List<PersonProfileDto> personProfileDtos = RpcInternalUtil.rpcListProcessor(() -> userProfileServiceApi.getPersonProfiles(Lists.newArrayList(req.getOperatorId())), "查询用户信息", req.getOperatorId()).getData();
|
||||||
|
PersonProfileDto operator = CollectionUtils.isEmpty(personProfileDtos) ? null : personProfileDtos.get(0);
|
||||||
|
return operator;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user