增加后台管理模块

This commit is contained in:
2025-10-27 23:57:31 +08:00
parent 3c1ba8e801
commit 0016453f20
420 changed files with 5650 additions and 1449 deletions
@@ -9,7 +9,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
/**
* AI对话服务启动类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@SpringBootApplication(scanBasePackages = {"com.emotionmuseum"})
@@ -9,7 +9,7 @@ import org.springframework.web.reactive.function.client.WebClient;
* AI配置类
* 配置Coze平台HTTP客户端
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Configuration
@@ -7,7 +7,7 @@ import org.springframework.stereotype.Component;
/**
* 功能开关配置
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -25,7 +25,7 @@ import java.util.List;
/**
* AI聊天控制器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -25,7 +25,7 @@ import java.util.List;
* 访客聊天控制器
* 提供访客模式下的聊天功能
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Slf4j
@@ -10,7 +10,7 @@ import java.util.List;
/**
* 聊天请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -11,7 +11,7 @@ import java.util.Map;
/**
* 聊天响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -10,7 +10,7 @@ import java.time.LocalDateTime;
/**
* 会话列表响应DTO
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -8,7 +8,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 创建会话请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -10,7 +10,7 @@ import java.util.Map;
/**
* 创建会话响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -9,7 +9,7 @@ import jakarta.validation.constraints.Size;
/**
* 情绪分析请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -11,7 +11,7 @@ import java.util.Map;
/**
* 情绪分析响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -5,7 +5,7 @@ import lombok.Data;
/**
* 访客聊天请求DTO
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -10,7 +10,7 @@ import java.time.LocalDateTime;
/**
* 访客聊天响应DTO
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -10,7 +10,7 @@ import java.time.LocalDateTime;
/**
* 访客用户信息DTO
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
/**
* 消息列表响应DTO
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -16,7 +16,7 @@ import java.util.List;
/**
* 对话实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -15,7 +15,7 @@ import java.util.Map;
/**
* Coze API调用记录实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -16,7 +16,7 @@ import java.util.Map;
/**
* 情绪分析实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
/**
* 访客用户实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Data
@@ -15,7 +15,7 @@ import java.util.Map;
/**
* 消息实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -13,7 +13,7 @@ import java.util.List;
/**
* 对话Mapper
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Mapper
@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
/**
* Coze API调用记录 Mapper 接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Mapper
@@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Update;
/**
* 访客用户Mapper
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Mapper
@@ -12,7 +12,7 @@ import java.util.List;
/**
* 消息Mapper
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Mapper
@@ -12,7 +12,7 @@ import java.util.List;
/**
* AI聊天请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
/**
* 会话列表请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 创建会话请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -11,7 +11,7 @@ import jakarta.validation.constraints.Size;
/**
* 情绪分析请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -11,7 +11,7 @@ import jakarta.validation.constraints.Size;
/**
* 访客聊天请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import java.util.Map;
/**
* AI聊天响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
/**
* 会话列表响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -12,7 +12,7 @@ import java.util.Map;
/**
* 创建会话响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import java.util.Map;
/**
* 情绪分析响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
/**
* 访客聊天响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -8,7 +8,7 @@ import java.util.List;
/**
* AI聊天服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
public interface AiChatService {
@@ -10,7 +10,7 @@ import java.util.List;
/**
* 会话数据库服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
public interface ConversationDbService {
@@ -8,7 +8,7 @@ import java.util.List;
/**
* 访客聊天服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
public interface GuestChatService {
@@ -5,7 +5,7 @@ import com.emotionmuseum.ai.dto.GuestUserInfo;
/**
* 访客用户服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
public interface GuestUserService {
@@ -20,7 +20,7 @@ import java.util.*;
/**
* AI聊天服务实现类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -27,7 +27,7 @@ import java.util.List;
/**
* 会话数据库服务实现类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -22,7 +22,7 @@ import java.util.stream.Collectors;
/**
* 访客聊天服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Slf4j
@@ -17,7 +17,7 @@ import java.util.Random;
/**
* 访客用户服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Slf4j
@@ -8,7 +8,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* 认证服务启动类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@SpringBootApplication(scanBasePackages = {"com.emotionmuseum"})
@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
/**
* 验证码配置
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Configuration
@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
/**
* 第三方登录配置
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Configuration
@@ -10,7 +10,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Redis配置类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Configuration
@@ -28,7 +28,7 @@ import java.util.Collections;
/**
* Spring Security配置类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Configuration
@@ -21,7 +21,7 @@ import jakarta.validation.Valid;
/**
* 认证控制器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@Slf4j
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.*;
/**
* 验证码控制器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -16,7 +16,7 @@ import jakarta.validation.Valid;
/**
* 第三方登录控制器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
/**
* 验证码响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Data
@@ -8,7 +8,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 用户登录请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -8,7 +8,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 第三方登录请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Data
@@ -9,7 +9,7 @@ import java.time.LocalDate;
/**
* 用户注册请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
/**
* 滑块验证码响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Data
@@ -9,7 +9,7 @@ import jakarta.validation.constraints.NotNull;
/**
* 滑块验证码验证请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Data
@@ -15,7 +15,7 @@ import java.time.LocalDateTime;
/**
* 用户实体
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@Data
@@ -8,7 +8,7 @@ import org.apache.ibatis.annotations.Param;
/**
* 用户Mapper接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@Mapper
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 用户登录请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotBlank;
/**
* 第三方登录请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -11,7 +11,7 @@ import java.time.LocalDate;
/**
* 用户注册请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import lombok.EqualsAndHashCode;
*
* <p>用于未登录情况下通过手机号与验证码(本期固定为 123456)设置新密码。</p>
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-10-26
*/
@Data
@@ -11,7 +11,7 @@ import jakarta.validation.constraints.NotNull;
/**
* 滑块验证码验证请求
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
/**
* 验证码响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
/**
* 登录响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -8,7 +8,7 @@ import lombok.Data;
*
* <p>不返回敏感信息,仅提供结果标识与提示。</p>
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-10-26
*/
@Data
@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
/**
* 滑块验证码响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -13,7 +13,7 @@ import java.time.LocalDateTime;
/**
* 用户信息响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit;
/**
* JWT认证过滤器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -17,7 +17,7 @@ import java.util.Collections;
/**
* Spring Security用户详情服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -14,7 +14,7 @@ import com.emotionmuseum.auth.response.UserInfoResponse;
* 注意:所有新增接口需遵循项目接口规范与异常处理规范。
* </p>
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
public interface AuthService {
@@ -5,7 +5,7 @@ import com.emotionmuseum.auth.response.CaptchaResponse;
/**
* 验证码服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
public interface CaptchaService {
@@ -6,7 +6,7 @@ import com.emotionmuseum.auth.vo.LoginResponse;
/**
* 第三方登录服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
public interface OAuthService {
@@ -6,7 +6,7 @@ import com.emotionmuseum.auth.request.SliderCaptchaVerifyRequest;
/**
* 滑块验证码服务接口
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
public interface SliderCaptchaService {
@@ -31,7 +31,7 @@ import java.util.concurrent.TimeUnit;
/**
* 认证服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@Slf4j
@@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit;
/**
* 验证码服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -10,7 +10,7 @@ import org.springframework.stereotype.Service;
/**
* 第三方登录服务实现类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -22,7 +22,7 @@ import java.util.concurrent.TimeUnit;
/**
* 滑块验证码服务实现
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-15
*/
@Slf4j
@@ -9,7 +9,7 @@ import java.time.LocalDateTime;
/**
* 登录响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -11,7 +11,7 @@ import java.time.LocalDateTime;
/**
* 用户信息响应
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-16
*/
@Data
@@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
/**
* MyBatis-Plus 配置类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Configuration
@@ -15,7 +15,7 @@ import java.util.Collections;
/**
* RestTemplate配置类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -13,7 +13,7 @@ import java.util.Enumeration;
/**
* 雪花算法配置类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-13
*/
@Slf4j
@@ -10,7 +10,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* Web MVC 配置类
* 注册拦截器和其他Web相关配置
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Configuration
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotNull;
/**
* 分页查询基类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -12,7 +12,7 @@ import java.time.LocalDateTime;
* 包含所有表的公共字段:create_by, create_time, update_by, update_time, is_deleted,
* remarks
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 认证异常
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Getter
@@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 业务异常
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Getter
@@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 验证码异常
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Getter
@@ -19,7 +19,7 @@ import java.util.Set;
/**
* 全局异常处理器
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Slf4j
@@ -6,7 +6,7 @@ import lombok.Getter;
/**
* Token异常
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Getter
@@ -14,7 +14,7 @@ import java.time.LocalDateTime;
* 自动填充公共字段:id, create_by, create_time, update_by, update_time
* 支持雪花算法自动生成主键ID
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -13,7 +13,7 @@ import jakarta.servlet.http.HttpServletResponse;
* 用户上下文拦截器
* 自动从请求头中提取用户信息并设置到ThreadLocal中
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Slf4j
@@ -10,7 +10,7 @@ import jakarta.validation.constraints.Min;
/**
* 基础分页请求类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 基础请求类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -10,7 +10,7 @@ import java.util.List;
/**
* 基础分页响应类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -9,7 +9,7 @@ import java.io.Serializable;
/**
* 基础响应类
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-24
*/
@Data
@@ -8,7 +8,7 @@ import java.io.Serializable;
/**
* 统一响应结果
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Data
@@ -6,7 +6,7 @@ import lombok.Getter;
/**
* 响应状态码枚举
*
* @author emotion-museum
* @author huazhongmin
* @since 2025-07-12
*/
@Getter

Some files were not shown because too many files have changed in this diff Show More