合并redis到haskafka branch
This commit is contained in:
@@ -17,6 +17,11 @@ public class ProtectObject {
|
||||
@Schema(description = "防护对象ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private Integer protectObjectId;
|
||||
|
||||
@JsonProperty("proobj_display_id")
|
||||
@ExcelProperty("ID")
|
||||
@Schema(description = "防护对象显示ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String protectObjectDisplayId;
|
||||
|
||||
@JsonProperty("proobj_name")
|
||||
@NotNull(message = "proobj_name字段不能为空。")
|
||||
@ExcelProperty("名称")
|
||||
|
||||
@@ -22,6 +22,10 @@ public class DynamicRuleObject {
|
||||
@Schema(description = "动态规则ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private Integer dynamicRuleId;
|
||||
|
||||
@JsonProperty("dynamic_rule_display_id")
|
||||
@Schema(description = "动态规则显示ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String dynamicRuleDisplayId;
|
||||
|
||||
@NotNull
|
||||
@JsonProperty("dynamic_rule_name")
|
||||
@Schema(description = "动态规则名称", example = "动态规则测试", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@@ -38,8 +42,6 @@ public class DynamicRuleObject {
|
||||
@Schema(description = "动态规则创建用户名称", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String dynamicRuleCreateUsername;
|
||||
|
||||
// @JsonProperty("dynamic_rule_audit_status")
|
||||
// private Integer dynamicRuleAuditStatus;
|
||||
@JsonProperty("dynamic_rule_create_depart")
|
||||
@Schema(description = "动态规则创建用户所属部门", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String dynamicRuleCreateDepart;
|
||||
@@ -99,7 +101,6 @@ public class DynamicRuleObject {
|
||||
@Schema(description = "筛选条件-日志规则id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long logRuleId;
|
||||
|
||||
|
||||
@JsonProperty("dynamic_rule_audit_status")
|
||||
@ExcelIgnore
|
||||
@Schema(description = "动态规则审核状态(0为未审核,1为已退回,2为审核通过)", example = "2", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
|
||||
@@ -28,6 +28,11 @@ public class StaticRuleObject {
|
||||
@Schema(description = "静态规则ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private Integer staticRuleId;
|
||||
|
||||
@JsonProperty("static_rule_display_id")
|
||||
@ExcelProperty("ID")
|
||||
@Schema(description = "静态规则显示ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String staticRuleDisplayId;
|
||||
|
||||
@NotNull
|
||||
@JsonProperty("static_rule_name")
|
||||
@ExcelProperty("名称")
|
||||
|
||||
@@ -16,6 +16,10 @@ public class Task {
|
||||
@Schema(description = "任务ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private Long taskId;
|
||||
|
||||
@JsonProperty("task_display_id")
|
||||
@Schema(description = "任务显示ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String taskDisplayId;
|
||||
|
||||
@JsonProperty("task_name")
|
||||
@NotNull(message = "task_name字段不能为空。")
|
||||
@Schema(description = "任务名称", example = "静态任务")
|
||||
|
||||
@@ -17,6 +17,10 @@ public class TaskCommandInfo {
|
||||
@JsonProperty("task_id")
|
||||
private Long taskId;
|
||||
|
||||
@Schema(description = "任务显示ID", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
@JsonProperty("task_display_id")
|
||||
private String taskDisplayId;
|
||||
|
||||
@Schema(description = "规则ID", hidden = true)
|
||||
@JsonProperty("rule_id")
|
||||
private Long ruleId;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.realtime.protection.configuration.utils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.redis.core.BoundValueOperations;
|
||||
import org.springframework.data.redis.core.Cursor;
|
||||
import org.springframework.data.redis.core.ScanOptions;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
public class Counter {
|
||||
private final StringRedisTemplate stringRedisTemplate;
|
||||
|
||||
public Counter(StringRedisTemplate stringRedisTemplate) {
|
||||
this.stringRedisTemplate = stringRedisTemplate;
|
||||
}
|
||||
|
||||
public Long generateId(String typeName) {
|
||||
String key = String.format("counter::%s", typeName.toLowerCase());
|
||||
BoundValueOperations<String, String> op = stringRedisTemplate.boundValueOps(key);
|
||||
return op.increment();
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 0 0 * * ?")
|
||||
public void resetId() {
|
||||
Cursor<String> cursor = stringRedisTemplate.scan(ScanOptions.scanOptions().build());
|
||||
while (cursor.hasNext()) {
|
||||
String key = cursor.next();
|
||||
if (key.startsWith("counter::")) {
|
||||
stringRedisTemplate.delete(key);
|
||||
log.debug("删除计时器key: {}", key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user