实体增加 mac
This commit is contained in:
parent
4f346371af
commit
d1134fe40f
@ -1,9 +1,19 @@
|
||||
package com.cisd.tms;
|
||||
|
||||
import com.cisd.tms.common.crypto.config.ConfigCryptoCli;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||
import com.cisd.tms.modules.log.dto.OperationAuditCommand;
|
||||
import com.cisd.tms.modules.log.enums.ActionType;
|
||||
import com.cisd.tms.modules.log.enums.AuthLevel;
|
||||
import com.cisd.tms.modules.log.enums.ModuleCode;
|
||||
import com.cisd.tms.modules.log.enums.OperationResult;
|
||||
import com.cisd.tms.modules.log.enums.OperatorRoleCode;
|
||||
import com.cisd.tms.modules.log.service.OperationAuditService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
|
||||
@SpringBootApplication
|
||||
@ -11,6 +21,8 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
@EnableScheduling
|
||||
public class TmsApplication {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(TmsApplication.class);
|
||||
|
||||
public static void main(String[] args) {
|
||||
if (ConfigCryptoCli.shouldHandle(args)) {
|
||||
int exitCode = ConfigCryptoCli.run(args, System.in, System.out, System.err);
|
||||
@ -19,6 +31,19 @@ public class TmsApplication {
|
||||
}
|
||||
return;
|
||||
}
|
||||
SpringApplication.run(TmsApplication.class, args);
|
||||
ConfigurableApplicationContext context = SpringApplication.run(TmsApplication.class, args);
|
||||
|
||||
log.error("=== 临时测试:调用 OperationAuditService record 方法 ===");
|
||||
OperationAuditService auditService = context.getBean(OperationAuditService.class);
|
||||
OperationAuditCommand command = new OperationAuditCommand()
|
||||
.setOperatorRoleCode(OperatorRoleCode.SUPER_ADMIN)
|
||||
.setOperatorAuthLevel(AuthLevel.FULL)
|
||||
.setModuleCode(ModuleCode.SYSTEM)
|
||||
.setActionType(ActionType.EXECUTE)
|
||||
.setRemoteIp("127.0.0.1")
|
||||
.setOperationResult(OperationResult.SUCCESS)
|
||||
.setSummary("系统启动测试 - OperationAuditService 功能验证");
|
||||
auditService.record(command, false);
|
||||
log.error("=== 临时测试完成:审计日志已记录 ===");
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,20 +2,38 @@ package com.cisd.tms.infrastructure.persistence.mybatis;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.cisd.tms.modules.datamac.helper.Sm3MacCalculator;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
@Primary
|
||||
public class CommonMetaObjectHandler implements MetaObjectHandler {
|
||||
|
||||
@Override
|
||||
public void insertFill(MetaObject metaObject) {
|
||||
this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
|
||||
this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
|
||||
if ( metaObject.hasSetter("createTime") ) {
|
||||
this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
|
||||
}
|
||||
|
||||
if ( metaObject.hasSetter("updateTime") ) {
|
||||
this.strictInsertFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
|
||||
}
|
||||
|
||||
// 插入时,直接基于当前实体对象计算 MAC
|
||||
if (metaObject.hasSetter("mac")) {
|
||||
Object entity = metaObject.getOriginalObject();
|
||||
String mac = Sm3MacCalculator.calculateForEntity(entity);
|
||||
this.strictInsertFill(metaObject, "mac", String.class, mac);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
|
||||
if ( metaObject.hasSetter("updateTime") ) {
|
||||
this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.cisd.tms.modules.cert.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.cisd.tms.infrastructure.persistence.entity.BaseEntity;
|
||||
import lombok.Data;
|
||||
@ -26,4 +28,8 @@ public class KeyEntity extends BaseEntity {
|
||||
private String allowIps;
|
||||
private String signData;
|
||||
private String createBy;
|
||||
|
||||
// 标记此字段在插入和更新时都需要自动填充
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE)
|
||||
private String mac;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.cisd.tms.modules.log.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.cisd.tms.modules.datamac.entity.DataMacEntity;
|
||||
|
||||
@ -63,7 +63,7 @@ public class OperationAuditService {
|
||||
.setAuditStatus(AuditStatus.PENDING);
|
||||
|
||||
//todo 后续测试签名
|
||||
auditSigner.signEntity(entity);
|
||||
// auditSigner.signEntity(entity);
|
||||
|
||||
operationAuditLogRepository.add(entity);
|
||||
|
||||
|
||||
@ -708,4 +708,5 @@ INSERT IGNORE INTO tms_master_key_activate (
|
||||
) VALUES (1, true, true);
|
||||
|
||||
|
||||
ALTER TABLE TMS.tms_auth_audit_log ADD mac varchar(100) NULL COMMENT '完整性校验值';
|
||||
ALTER TABLE TMS.tms_operation_audit_log ADD mac varchar(100) NULL COMMENT '完整性校验值';
|
||||
ALTER TABLE TMS.tms_key_entity ADD mac varchar(100) NULL COMMENT '完整性校验值';
|
||||
|
||||
Loading…
Reference in New Issue
Block a user