diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PermissionOperateLogReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PermissionOperateLogReq.java index dfa5c3a4..1d67e8a5 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PermissionOperateLogReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/req/PermissionOperateLogReq.java @@ -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; } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPgroupPermissionRelationOperateLog.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPgroupPermissionRelationOperateLog.java index ddf61fbd..a8feb86e 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPgroupPermissionRelationOperateLog.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/entity/SaasPgroupPermissionRelationOperateLog.java @@ -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 { /** @@ -63,4 +66,7 @@ public class SaasPgroupPermissionRelationOperateLog extends BaseEntity 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 personProfileDtos = RpcInternalUtil.rpcListProcessor(() -> userProfileServiceApi.getPersonProfiles(Lists.newArrayList(req.getOperatorId())), "查询用户信息", req.getOperatorId()).getData(); + PersonProfileDto operator = CollectionUtils.isEmpty(personProfileDtos) ? null : personProfileDtos.get(0); + return operator; + } }