1. 添加防护对象文件上传下载配置

2. 修改SqlSessionWrapper,添加注释
This commit is contained in:
松岳 陈
2024-01-07 17:54:28 +08:00
parent 0fb8dd87fe
commit db02907f0a
8 changed files with 85 additions and 33 deletions

View File

@@ -1,5 +1,7 @@
package com.realtime.protection.configuration.entity.defense.object;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
@@ -10,42 +12,53 @@ import lombok.Data;
@Data
public class ProtectObject {
@JsonProperty("proobj_id")
@ExcelIgnore
private Integer protectObjectId;
@JsonProperty("proobj_name")
@NotNull(message = "proobj_name should not be empty.")
@ExcelProperty("名称")
private String protectObjectName;
@JsonProperty("proobj_system_name")
@ExcelProperty("操作系统名称")
private String protectObjectSystemName;
@JsonProperty("proobj_ip_address")
@Pattern(regexp = "^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$", message = "Invalid IPv4 Address")
@ExcelProperty("IP地址")
private String protectObjectIPAddress;
@JsonProperty("proobj_port")
@NotNull(message = "proobj_port should not be empty.")
@Max(value = 65535, message = "port should not be more than 65535")
@Min(value = 1, message = "port should not be less than 1")
@ExcelProperty("端口")
private Integer protectObjectPort;
@JsonProperty("proobj_url")
@NotNull(message = "proobj_url should not be empty.")
@ExcelProperty("URL")
private String protectObjectURL;
@JsonProperty("proobj_protocol")
@NotNull(message = "proobj_protocol should not be empty.")
@ExcelProperty("协议")
private String protectObjectProtocol;
@JsonProperty("proobj_audit_status")
@ExcelIgnore
private Integer protectObjectAuditStatus;
@JsonProperty("proobj_create_username")
@ExcelIgnore
private String protectObjectCreateUsername;
@JsonProperty("proobj_create_depart")
@ExcelIgnore
private String protectObjectCreateDepart;
@JsonProperty("proobj_create_userid")
@ExcelIgnore
private Integer protectObjectCreateUserId;
}

View File

@@ -16,13 +16,22 @@ public class SqlSessionWrapper {
this.sqlSessionFactory = sqlSessionFactory;
}
/** 启动批量SQL会话
* @param mapperClass MyBatis Mapper类型
* @param batchFunction 批量函数(批量添加、批量删除、批量更新等)
* @param arguments 函数附带的所有参数可以使用Map进行包装
* @param <M> Mapper class
* @param <I> Function input
* @param <O> Function output
* @return 被包装的批量函数返回值
*/
public <M, I, O> O startBatchSession(Class<M> mapperClass,
Function<M, Function<I, O>> wrappedFunction,
Function<M, Function<I, O>> batchFunction,
I arguments) {
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
M mapper = sqlSession.getMapper(mapperClass);
try {
O result = wrappedFunction.apply(mapper).apply(arguments);
O result = batchFunction.apply(mapper).apply(arguments);
sqlSession.commit();
sqlSession.clearCache();