Merge branch 'feature/REQ-2864' into 'master'
feat(REQ-2864): 添加单位、部门、协同关系、部门人员操作日志相关的枚举,扩展接口支持operatorId为空的情况 See merge request universal/infrastructure/backend/tyr!125
This commit is contained in:
commit
85bfb2ab1b
@ -29,10 +29,12 @@ public class PermissionOperateLogReq implements Serializable {
|
||||
@NotBlank(message = "表名不能为空")
|
||||
private String tableName;
|
||||
|
||||
@NotNull(message = "操作人ID不能为空")
|
||||
@Min(value = 1, message = "操作人ID有误")
|
||||
// @NotNull(message = "操作人ID不能为空")
|
||||
// @Min(value = 1, message = "操作人ID有误")
|
||||
private Long operatorId;
|
||||
|
||||
private String operatorName;
|
||||
|
||||
@NotBlank(message = "场景不能为空")
|
||||
private String scene;
|
||||
|
||||
@ -41,4 +43,6 @@ public class PermissionOperateLogReq implements Serializable {
|
||||
private Object requestData;
|
||||
|
||||
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.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.extension.handlers.FastjsonTypeHandler;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
@ -15,7 +18,7 @@ import lombok.*;
|
||||
@Builder
|
||||
@ToString
|
||||
@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> {
|
||||
|
||||
/**
|
||||
@ -63,4 +66,7 @@ public class SaasPgroupPermissionRelationOperateLog extends BaseEntity<SaasPgrou
|
||||
* 操作人角色
|
||||
*/
|
||||
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.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.MDC;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -83,20 +86,26 @@ public class SaasPgroupPermissionRelationOperateLogServiceImpl implements SaasPg
|
||||
|
||||
@Override
|
||||
public void save(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);
|
||||
String realName = req.getOperatorId() == null ? "" : Optional.ofNullable(getPersonProfileDto(req)).map(PersonProfileDto::getRealName).orElse("");
|
||||
|
||||
SaasPgroupPermissionRelationOperateLog operateLog = SaasPgroupPermissionRelationOperateLog.builder()
|
||||
.tableName(req.getTableName())
|
||||
.scene(req.getScene())
|
||||
.sceneId(req.getSceneId())
|
||||
.createBy(req.getOperatorId())
|
||||
.createByName(Objects.isNull(operator) ? "" : operator.getRealName())
|
||||
.createBy(ObjectUtils.firstNonNull(req.getOperatorId(), 0L))
|
||||
.createByName(StringUtils.firstNonBlank(realName, req.getOperatorName(), ""))
|
||||
.traceId(MDC.get(Constants.CTX_LOG_ID_MDC))
|
||||
.requestData(Objects.nonNull(req.getRequestData()) ? JSONObject.toJSONString(req.getRequestData()) : null)
|
||||
.operateData(Objects.nonNull(req.getOperateData()) ? JSONObject.toJSONString(req.getOperateData()) : null)
|
||||
.createByRole(JSONObject.toJSONString(getPersonBasicRoles(req.getOperatorId())))
|
||||
.ext(req.getExt())
|
||||
.build();
|
||||
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