服务层重构与优化:补全所有ServiceImpl实现类,修复RestTemplate注入,完善DTO与配置,保证编译与启动通过

This commit is contained in:
2025-07-24 14:15:31 +08:00
parent 873b8e55da
commit cf4d73ceff
95 changed files with 5889 additions and 2282 deletions
@@ -0,0 +1,33 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* AI聊天请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class AiChatRequest extends BaseRequest {
/**
* 会话ID
*/
private String conversationId;
/**
* 消息内容
*/
@NotBlank(message = "消息内容不能为空")
private String message;
/**
* 用户ID
*/
private String userId;
}
@@ -0,0 +1,28 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* AI总结请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class AiSummaryRequest extends BaseRequest {
/**
* 会话ID
*/
@NotBlank(message = "会话ID不能为空")
private String conversationId;
/**
* 用户ID
*/
private String userId;
}
@@ -0,0 +1,25 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 聊天统计请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ChatStatsRequest extends BaseRequest {
/**
* 用户ID
*/
private String userId;
/**
* 会话ID
*/
private String conversationId;
}
@@ -0,0 +1,33 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* 对话创建请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConversationCreateRequest extends BaseRequest {
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 对话标题
*/
private String title;
/**
* 对话类型
*/
private String type;
}
@@ -0,0 +1,23 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* 访客聊天请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GuestChatRequest extends BaseRequest {
/**
* 消息内容
*/
@NotBlank(message = "消息内容不能为空")
private String message;
}
@@ -0,0 +1,50 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* 消息创建请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MessageCreateRequest extends BaseRequest {
/**
* 会话ID
*/
@NotBlank(message = "会话ID不能为空")
private String conversationId;
/**
* 用户ID
*/
@NotBlank(message = "用户ID不能为空")
private String userId;
/**
* 消息内容
*/
@NotBlank(message = "消息内容不能为空")
private String content;
/**
* 内容类型
*/
private String contentType;
/**
* 发送者类型
*/
private String senderType;
/**
* 发送者ID
*/
private String senderId;
}
@@ -0,0 +1,23 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
/**
* 刷新令牌请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class RefreshTokenRequest extends BaseRequest {
/**
* 刷新令牌
*/
@NotBlank(message = "刷新令牌不能为空")
private String refreshToken;
}
@@ -0,0 +1,50 @@
package com.emotion.dto.request;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;
/**
* 用户更新请求类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class UserUpdateRequest extends BaseRequest {
/**
* 用户名
*/
private String username;
/**
* 昵称
*/
private String nickname;
/**
* 邮箱
*/
@Email(message = "邮箱格式不正确")
private String email;
/**
* 手机号
*/
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
private String phone;
/**
* 头像
*/
private String avatar;
/**
* 状态
*/
private Integer status;
}
@@ -0,0 +1,40 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* AI聊天响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class AiChatResponse extends BaseResponse {
/**
* 会话ID
*/
private String conversationId;
/**
* 用户消息
*/
private String userMessage;
/**
* AI回复
*/
private String aiReply;
/**
* 用户ID
*/
private String userId;
/**
* 时间戳
*/
private Long timestamp;
}
@@ -0,0 +1,30 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* AI状态响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class AiStatusResponse extends BaseResponse {
/**
* 服务是否可用
*/
private Boolean available;
/**
* 服务状态
*/
private String status;
/**
* 时间戳
*/
private Long timestamp;
}
@@ -0,0 +1,35 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* AI总结响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class AiSummaryResponse extends BaseResponse {
/**
* 会话ID
*/
private String conversationId;
/**
* 总结内容
*/
private String summary;
/**
* 用户ID
*/
private String userId;
/**
* 时间戳
*/
private Long timestamp;
}
@@ -0,0 +1,35 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 聊天统计响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ChatStatsResponse extends BaseResponse {
/**
* 用户会话数量
*/
private Long userConversationCount;
/**
* 活跃会话数量
*/
private Long activeConversationCount;
/**
* 会话消息数量
*/
private Long conversationMessageCount;
/**
* 时间戳
*/
private Long timestamp;
}
@@ -0,0 +1,55 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 对话响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ConversationResponse extends BaseResponse {
/**
* 用户ID
*/
private String userId;
/**
* Coze对话ID
*/
private String cozeConversationId;
/**
* 对话标题
*/
private String title;
/**
* 对话类型
*/
private String type;
/**
* 对话状态
*/
private String status;
/**
* 消息数量
*/
private Integer messageCount;
/**
* 最后消息时间
*/
private String lastMessageTime;
/**
* 客户端IP
*/
private String clientIp;
}
@@ -0,0 +1,35 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 访客聊天响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GuestChatResponse extends BaseResponse {
/**
* 消息内容
*/
private String message;
/**
* 消息ID
*/
private String messageId;
/**
* 时间戳
*/
private Long timestamp;
/**
* 是否有错误
*/
private Boolean error;
}
@@ -0,0 +1,45 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 访客用户信息响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class GuestUserInfoResponse extends BaseResponse {
/**
* 用户ID
*/
private String id;
/**
* 用户名
*/
private String username;
/**
* 昵称
*/
private String nickname;
/**
* 用户类型
*/
private String type;
/**
* 客户端IP
*/
private String clientIp;
/**
* 用户创建时间
*/
private Long userCreateTime;
}
@@ -0,0 +1,50 @@
package com.emotion.dto.response;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 消息响应类
*
* @author emotion-museum
* @date 2025-07-24
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MessageResponse extends BaseResponse {
/**
* 会话ID
*/
private String conversationId;
/**
* 消息内容
*/
private String content;
/**
* 消息类型
*/
private String type;
/**
* 发送者
*/
private String sender;
/**
* 是否已读
*/
private Integer isRead;
/**
* AI回复
*/
private String aiReply;
/**
* 情感分析
*/
private String emotionAnalysis;
}