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,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.Achievement;
import org.apache.ibatis.annotations.Mapper;
/**
* 成就Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface AchievementMapper extends BaseMapper<Achievement> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.Comment;
import org.apache.ibatis.annotations.Mapper;
/**
* 评论Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface CommentMapper extends BaseMapper<Comment> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.CommunityPost;
import org.apache.ibatis.annotations.Mapper;
/**
* 社区帖子Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface CommunityPostMapper extends BaseMapper<CommunityPost> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.Conversation;
import org.apache.ibatis.annotations.Mapper;
/**
* 会话Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface ConversationMapper extends BaseMapper<Conversation> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.CozeApiCall;
import org.apache.ibatis.annotations.Mapper;
/**
* Coze API调用记录Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface CozeApiCallMapper extends BaseMapper<CozeApiCall> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.EmotionAnalysis;
import org.apache.ibatis.annotations.Mapper;
/**
* 情绪分析Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface EmotionAnalysisMapper extends BaseMapper<EmotionAnalysis> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.EmotionRecord;
import org.apache.ibatis.annotations.Mapper;
/**
* 情绪记录Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface EmotionRecordMapper extends BaseMapper<EmotionRecord> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.GrowthTopic;
import org.apache.ibatis.annotations.Mapper;
/**
* 成长课题Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface GrowthTopicMapper extends BaseMapper<GrowthTopic> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.GuestUser;
import org.apache.ibatis.annotations.Mapper;
/**
* 访客用户Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface GuestUserMapper extends BaseMapper<GuestUser> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.LocationPin;
import org.apache.ibatis.annotations.Mapper;
/**
* 地点标记Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface LocationPinMapper extends BaseMapper<LocationPin> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.Message;
import org.apache.ibatis.annotations.Mapper;
/**
* 消息Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface MessageMapper extends BaseMapper<Message> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.TopicInteraction;
import org.apache.ibatis.annotations.Mapper;
/**
* 课题互动Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface TopicInteractionMapper extends BaseMapper<TopicInteraction> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.User;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
@@ -0,0 +1,15 @@
package com.emotion.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.emotion.entity.UserStats;
import org.apache.ibatis.annotations.Mapper;
/**
* 用户统计Mapper接口
*
* @author emotion-museum
* @date 2025-07-23
*/
@Mapper
public interface UserStatsMapper extends BaseMapper<UserStats> {
}