feat: 字典实时同步和 websocket 重构优化
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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 = "备注")
|
||||
|
||||
Reference in New Issue
Block a user