feat: 子卷送到待检区任务
This commit is contained in:
@@ -15,7 +15,8 @@ import java.util.Arrays;
|
||||
public enum UserTypeEnum implements ArrayValuable<Integer> {
|
||||
|
||||
MEMBER(1, "会员"), // 面向 c 端,普通用户
|
||||
ADMIN(2, "管理员"); // 面向 b 端,管理后台
|
||||
ADMIN(2, "管理员"), // 面向 b 端,管理后台
|
||||
;
|
||||
|
||||
public static final Integer[] ARRAYS = Arrays.stream(values()).map(UserTypeEnum::getValue).toArray(Integer[]::new);
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package cn.code.nl.framework.mybatis.core.handler;
|
||||
|
||||
import cn.code.nl.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.code.nl.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
|
||||
@@ -37,27 +38,33 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
|
||||
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人
|
||||
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
|
||||
baseDO.setCreator(userId.toString());
|
||||
} else {
|
||||
baseDO.setCreator("0");
|
||||
}
|
||||
// 当前登录用户不为空,更新人为空,则当前登录用户为更新人
|
||||
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getUpdater())) {
|
||||
baseDO.setUpdater(userId.toString());
|
||||
} else {
|
||||
baseDO.setUpdater("0");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
// 更新时间为空,则以当前时间为更新时间
|
||||
Object modifyTime = getFieldValByName("updateTime", metaObject);
|
||||
if (Objects.isNull(modifyTime)) {
|
||||
setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
||||
}
|
||||
// 以当前时间为更新时间
|
||||
setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
|
||||
|
||||
// 当前登录用户不为空,更新人为空,则当前登录用户为更新人
|
||||
Object modifier = getFieldValByName("updater", metaObject);
|
||||
Long userId = SecurityFrameworkUtils.getLoginUserId();
|
||||
if (Objects.nonNull(userId) && Objects.isNull(modifier)) {
|
||||
setFieldValByName("updater", userId.toString(), metaObject);
|
||||
Object updater = getFieldValByName("updater", metaObject);
|
||||
Long loginUserId = SecurityFrameworkUtils.getLoginUserId();
|
||||
|
||||
if (Objects.nonNull(loginUserId)) {
|
||||
// 优先使用当前登录用户
|
||||
setFieldValByName("updater", loginUserId.toString(), metaObject);
|
||||
} else if (ObjectUtil.isEmpty(updater)) {
|
||||
// 没有登录用户,并且实体也未设置更新人时,使用系统默认值
|
||||
setFieldValByName("updater", "0", metaObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package cn.code.nl.framework.operatelog.core.service;
|
||||
|
||||
import cn.code.nl.framework.common.biz.system.logger.OperateLogCommonApi;
|
||||
import cn.code.nl.framework.common.enums.UserTypeEnum;
|
||||
import cn.code.nl.framework.common.util.monitor.TracerUtils;
|
||||
import cn.code.nl.framework.common.util.servlet.ServletUtils;
|
||||
import cn.code.nl.framework.security.core.LoginUser;
|
||||
import cn.code.nl.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.code.nl.framework.common.biz.system.logger.dto.OperateLogCreateReqDTO;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.mzt.logapi.beans.LogRecord;
|
||||
import com.mzt.logapi.service.ILogRecordService;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -34,7 +36,7 @@ public class LogRecordServiceImpl implements ILogRecordService {
|
||||
try {
|
||||
reqDTO.setTraceId(TracerUtils.getTraceId());
|
||||
// 补充用户信息
|
||||
fillUserFields(reqDTO);
|
||||
fillUserFields(reqDTO, logRecord);
|
||||
// 补全模块信息
|
||||
fillModuleFields(reqDTO, logRecord);
|
||||
// 补全请求信息
|
||||
@@ -48,10 +50,14 @@ public class LogRecordServiceImpl implements ILogRecordService {
|
||||
}
|
||||
}
|
||||
|
||||
private static void fillUserFields(OperateLogCreateReqDTO reqDTO) {
|
||||
private static void fillUserFields(OperateLogCreateReqDTO reqDTO, LogRecord logRecord) {
|
||||
// 使用 SecurityFrameworkUtils。因为要考虑,rpc、mq、job,它其实不是 web;
|
||||
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
|
||||
if (loginUser == null) {
|
||||
if (ObjectUtil.isNotEmpty(logRecord.getOperator())) {
|
||||
reqDTO.setUserId(Long.valueOf(logRecord.getOperator()));
|
||||
reqDTO.setUserType(UserTypeEnum.ADMIN.getValue());
|
||||
}
|
||||
return;
|
||||
}
|
||||
reqDTO.setUserId(loginUser.getId());
|
||||
|
||||
Reference in New Issue
Block a user