重构项目结构:迁移到单体架构并优化代码组织

- 删除分布式架构相关文件和配置
- 将backend-distributed重命名为backend保留分布式代码作为参考
- 优化backend-single单体架构实现
- 添加Coze API集成相关文档和测试
- 清理项目根目录的部署脚本和配置文件
- 更新WebSocket和消息服务实现
- 完善认证服务和密码加密功能
This commit is contained in:
2025-07-24 22:16:27 +08:00
parent 847f5126cf
commit ca42a7d9a4
308 changed files with 1263 additions and 13496 deletions
@@ -0,0 +1,55 @@
package com.emotionmuseum.common.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
/**
* 基础分页请求类
*
* @author emotion-museum
* @since 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "基础分页请求")
public abstract class BasePageRequest extends BaseRequest {
private static final long serialVersionUID = 1L;
/**
* 页码,从1开始
*/
@Schema(description = "页码,从1开始", example = "1", minimum = "1")
@Min(value = 1, message = "页码必须大于0")
private Integer pageNum = 1;
/**
* 每页大小
*/
@Schema(description = "每页大小", example = "20", minimum = "1", maximum = "100")
@Min(value = 1, message = "每页大小必须大于0")
@Max(value = 100, message = "每页大小不能超过100")
private Integer pageSize = 20;
/**
* 排序字段
*/
@Schema(description = "排序字段", example = "create_time")
private String sortField;
/**
* 排序方向
*/
@Schema(description = "排序方向", example = "DESC", allowableValues = {"ASC", "DESC"})
private String sortOrder = "DESC";
/**
* 搜索关键词
*/
@Schema(description = "搜索关键词", example = "关键词")
private String keyword;
}
@@ -0,0 +1,60 @@
package com.emotionmuseum.common.request;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 基础请求类
*
* @author emotion-museum
* @since 2025-07-24
*/
@Data
@Schema(description = "基础请求")
public abstract class BaseRequest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 请求ID,用于链路追踪
*/
@Schema(description = "请求ID", example = "req_123456789")
private String requestId;
/**
* 客户端IP地址
*/
@Schema(description = "客户端IP地址", example = "192.168.1.100")
private String clientIp;
/**
* 用户代理信息
*/
@Schema(description = "用户代理信息", example = "Mozilla/5.0...")
private String userAgent;
/**
* 请求时间戳
*/
@Schema(description = "请求时间戳", example = "1721808000000")
private Long timestamp;
/**
* 设备类型
*/
@Schema(description = "设备类型", example = "WEB", allowableValues = {"WEB", "MOBILE", "APP"})
private String deviceType;
/**
* 应用版本
*/
@Schema(description = "应用版本", example = "1.0.0")
private String appVersion;
public BaseRequest() {
this.timestamp = System.currentTimeMillis();
}
}