feat: 完善后端架构和service层实现

- 创建完整的entity实体类体系,包括所有业务实体
- 实现BaseEntity基类,统一管理公共字段
- 创建雪花算法ID生成器和自动填充处理器
- 简化所有mapper接口,只继承BaseMapper
- 重构service层,使用LambdaQueryWrapper进行数据库操作
- 创建BasePageRequest分页查询基类
- 完善用户上下文管理和JWT认证
- 新增WebSocket聊天功能和相关控制器
- 更新前端配置和组件,完善用户认证流程
- 同步数据库建表脚本
This commit is contained in:
2025-07-24 00:37:23 +08:00
parent 645036fcd2
commit 880e0e3c88
87 changed files with 8114 additions and 1106 deletions
@@ -0,0 +1,93 @@
package com.emotion.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.emotion.common.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 成长课题实体类
*
* @author emotion-museum
* @date 2025-07-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("growth_topic")
public class GrowthTopic extends BaseEntity {
/**
* 课题标题
*/
@TableField("title")
private String title;
/**
* 分类
*/
@TableField("category")
private String category;
/**
* 难度: easy-简单, medium-中等, hard-困难
*/
@TableField("difficulty")
private String difficulty;
/**
* 描述
*/
@TableField("description")
private String description;
/**
* 内容
*/
@TableField("content")
private String content;
/**
* 持续天数
*/
@TableField("duration_days")
private Integer durationDays;
/**
* 解锁条件
*/
@TableField("unlock_conditions")
private String unlockConditions;
/**
* 是否解锁
*/
@TableField("is_unlocked")
private Integer isUnlocked;
/**
* 进度百分比
*/
@TableField("progress")
private BigDecimal progress;
/**
* 完成时间
*/
@TableField("completed_time")
private LocalDateTime completedTime;
/**
* 奖励
*/
@TableField("rewards")
private String rewards;
}