feat: 字典实时同步和 websocket 重构优化

This commit is contained in:
Ray.Hao
2025-04-22 20:49:49 +08:00
parent f06fe3ee01
commit 5aff74d36f
21 changed files with 770 additions and 329 deletions

View File

@@ -0,0 +1,37 @@
package com.youlai.boot.system.model.dto;
import lombok.Data;
import java.util.HashSet;
import java.util.Set;
/**
* 用户会话DTO
*
* @author Ray.Hao
* @since 3.0.0
*/
@Data
public class UserSessionDTO {
/**
* 用户名
*/
private String username;
/**
* 用户会话ID集合
*/
private Set<String> sessionIds;
/**
* 最后活动时间
*/
private long lastActiveTime;
public UserSessionDTO(String username) {
this.username = username;
this.sessionIds = new HashSet<>();
this.lastActiveTime = System.currentTimeMillis();
}
}

View File

@@ -0,0 +1,27 @@
package com.youlai.boot.system.model.event;
import lombok.Data;
/**
* 字典更新事件
*
* @author Ray.Hao
* @since 3.0.0
*/
@Data
public class DictEvent {
/**
* 字典编码
*/
private String dictCode;
/**
* 时间戳
*/
private long timestamp;
public DictEvent(String dictCode) {
this.dictCode = dictCode;
this.timestamp = System.currentTimeMillis();
}
}

View File

@@ -2,6 +2,7 @@ package com.youlai.boot.system.model.form;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@@ -26,6 +27,7 @@ public class DictForm {
private String name;
@Schema(description = "字典编码", example ="gender")
@NotBlank(message = "字典编码不能为空")
private String dictCode;
@Schema(description = "备注")