人生轨迹功能模块补充
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 爽文剧本创建请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EpicScriptCreateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 剧本标题
|
||||
*/
|
||||
@NotBlank(message = "剧本标题不能为空")
|
||||
@Size(max = 200, message = "剧本标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 剧本主题/渴望
|
||||
*/
|
||||
private String theme;
|
||||
|
||||
/**
|
||||
* 剧本风格: career-职场逆袭, love-情感圆满, fantasy-玄幻觉醒
|
||||
*/
|
||||
private String style;
|
||||
|
||||
/**
|
||||
* 篇幅长度: medium-标准篇, long-长篇
|
||||
*/
|
||||
private String length;
|
||||
|
||||
/**
|
||||
* 序幕:低谷回响
|
||||
*/
|
||||
private String plotIntro;
|
||||
|
||||
/**
|
||||
* 转折:契机出现
|
||||
*/
|
||||
private String plotTurning;
|
||||
|
||||
/**
|
||||
* 高潮:命运抉择
|
||||
*/
|
||||
private String plotClimax;
|
||||
|
||||
/**
|
||||
* 结局:新的开始
|
||||
*/
|
||||
private String plotEnding;
|
||||
|
||||
/**
|
||||
* 完整剧情JSON结构
|
||||
*/
|
||||
private Map<String, Object> plotJson;
|
||||
|
||||
/**
|
||||
* 是否当前选中
|
||||
*/
|
||||
private Boolean isSelected;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import com.emotion.common.BasePageRequest;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 爽文剧本分页查询请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EpicScriptPageRequest extends BasePageRequest {
|
||||
|
||||
/**
|
||||
* 剧本风格筛选
|
||||
*/
|
||||
private String style;
|
||||
|
||||
/**
|
||||
* 篇幅长度筛选
|
||||
*/
|
||||
private String length;
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 爽文剧本更新请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EpicScriptUpdateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 剧本ID
|
||||
*/
|
||||
@NotBlank(message = "剧本ID不能为空")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 剧本标题
|
||||
*/
|
||||
@Size(max = 200, message = "剧本标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 剧本主题/渴望
|
||||
*/
|
||||
private String theme;
|
||||
|
||||
/**
|
||||
* 剧本风格: career-职场逆袭, love-情感圆满, fantasy-玄幻觉醒
|
||||
*/
|
||||
private String style;
|
||||
|
||||
/**
|
||||
* 篇幅长度: medium-标准篇, long-长篇
|
||||
*/
|
||||
private String length;
|
||||
|
||||
/**
|
||||
* 序幕:低谷回响
|
||||
*/
|
||||
private String plotIntro;
|
||||
|
||||
/**
|
||||
* 转折:契机出现
|
||||
*/
|
||||
private String plotTurning;
|
||||
|
||||
/**
|
||||
* 高潮:命运抉择
|
||||
*/
|
||||
private String plotClimax;
|
||||
|
||||
/**
|
||||
* 结局:新的开始
|
||||
*/
|
||||
private String plotEnding;
|
||||
|
||||
/**
|
||||
* 完整剧情JSON结构
|
||||
*/
|
||||
private Map<String, Object> plotJson;
|
||||
|
||||
/**
|
||||
* 是否当前选中
|
||||
*/
|
||||
private Boolean isSelected;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生命事件创建请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifeEventCreateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 事件类型: daily_log-日常记录, milestone-里程碑
|
||||
*/
|
||||
private String eventType;
|
||||
|
||||
/**
|
||||
* 事件日期 (ISO格式字符串)
|
||||
*/
|
||||
private String eventDate;
|
||||
|
||||
/**
|
||||
* 事件标题
|
||||
*/
|
||||
@NotBlank(message = "事件标题不能为空")
|
||||
@Size(max = 200, message = "事件标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
@NotBlank(message = "事件内容不能为空")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* AI疗愈回复
|
||||
*/
|
||||
private String aiReply;
|
||||
|
||||
/**
|
||||
* 情绪类型
|
||||
*/
|
||||
private String emotionType;
|
||||
|
||||
/**
|
||||
* 情绪评分
|
||||
*/
|
||||
private Double emotionScore;
|
||||
|
||||
/**
|
||||
* 标签列表
|
||||
*/
|
||||
private List<String> tags;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import com.emotion.common.BasePageRequest;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 生命事件分页查询请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifeEventPageRequest extends BasePageRequest {
|
||||
|
||||
/**
|
||||
* 事件类型筛选
|
||||
*/
|
||||
private String eventType;
|
||||
|
||||
/**
|
||||
* 开始日期
|
||||
*/
|
||||
private String startDate;
|
||||
|
||||
/**
|
||||
* 结束日期
|
||||
*/
|
||||
private String endDate;
|
||||
|
||||
/**
|
||||
* 情绪类型筛选
|
||||
*/
|
||||
private String emotionType;
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生命事件更新请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifeEventUpdateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 事件ID
|
||||
*/
|
||||
@NotBlank(message = "事件ID不能为空")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 事件类型: daily_log-日常记录, milestone-里程碑
|
||||
*/
|
||||
private String eventType;
|
||||
|
||||
/**
|
||||
* 事件日期 (ISO格式字符串)
|
||||
*/
|
||||
private String eventDate;
|
||||
|
||||
/**
|
||||
* 事件标题
|
||||
*/
|
||||
@Size(max = 200, message = "事件标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* AI疗愈回复
|
||||
*/
|
||||
private String aiReply;
|
||||
|
||||
/**
|
||||
* 情绪类型
|
||||
*/
|
||||
private String emotionType;
|
||||
|
||||
/**
|
||||
* 情绪评分
|
||||
*/
|
||||
private Double emotionScore;
|
||||
|
||||
/**
|
||||
* 标签列表
|
||||
*/
|
||||
private List<String> tags;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实现路径创建请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifePathCreateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 关联剧本ID
|
||||
*/
|
||||
@NotBlank(message = "关联剧本ID不能为空")
|
||||
private String scriptId;
|
||||
|
||||
/**
|
||||
* 路径标题
|
||||
*/
|
||||
@Size(max = 200, message = "路径标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 路径描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 路径步骤列表
|
||||
* 每个步骤包含: phase, time, content, action, resources, habit
|
||||
*/
|
||||
private List<Map<String, Object>> steps;
|
||||
|
||||
/**
|
||||
* 状态: active-进行中, completed-已完成, archived-已归档
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 完成进度百分比
|
||||
*/
|
||||
private Double progress;
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import com.emotion.common.BasePageRequest;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 实现路径分页查询请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifePathPageRequest extends BasePageRequest {
|
||||
|
||||
/**
|
||||
* 关联剧本ID筛选
|
||||
*/
|
||||
private String scriptId;
|
||||
|
||||
/**
|
||||
* 状态筛选
|
||||
*/
|
||||
private String status;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实现路径更新请求
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifePathUpdateRequest extends BaseRequest {
|
||||
|
||||
/**
|
||||
* 路径ID
|
||||
*/
|
||||
@NotBlank(message = "路径ID不能为空")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 路径标题
|
||||
*/
|
||||
@Size(max = 200, message = "路径标题长度不能超过200个字符")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 路径描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 路径步骤列表
|
||||
* 每个步骤包含: phase, time, content, action, resources, habit
|
||||
*/
|
||||
private List<Map<String, Object>> steps;
|
||||
|
||||
/**
|
||||
* 状态: active-进行中, completed-已完成, archived-已归档
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 完成进度百分比
|
||||
*/
|
||||
private Double progress;
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
package com.emotion.dto.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 爽文剧本响应
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class EpicScriptResponse extends BaseResponse {
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 剧本标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 剧本主题/渴望
|
||||
*/
|
||||
private String theme;
|
||||
|
||||
/**
|
||||
* 剧本风格
|
||||
*/
|
||||
private String style;
|
||||
|
||||
/**
|
||||
* 篇幅长度
|
||||
*/
|
||||
private String length;
|
||||
|
||||
/**
|
||||
* 序幕:低谷回响
|
||||
*/
|
||||
private String plotIntro;
|
||||
|
||||
/**
|
||||
* 转折:契机出现
|
||||
*/
|
||||
private String plotTurning;
|
||||
|
||||
/**
|
||||
* 高潮:命运抉择
|
||||
*/
|
||||
private String plotClimax;
|
||||
|
||||
/**
|
||||
* 结局:新的开始
|
||||
*/
|
||||
private String plotEnding;
|
||||
|
||||
/**
|
||||
* 完整剧情JSON结构
|
||||
*/
|
||||
private Map<String, Object> plotJson;
|
||||
|
||||
/**
|
||||
* 是否当前选中
|
||||
*/
|
||||
private Boolean isSelected;
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.emotion.dto.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 生命事件响应
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifeEventResponse extends BaseResponse {
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 事件类型
|
||||
*/
|
||||
private String eventType;
|
||||
|
||||
/**
|
||||
* 事件日期
|
||||
*/
|
||||
private String eventDate;
|
||||
|
||||
/**
|
||||
* 事件标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 事件内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* AI疗愈回复
|
||||
*/
|
||||
private String aiReply;
|
||||
|
||||
/**
|
||||
* 情绪类型
|
||||
*/
|
||||
private String emotionType;
|
||||
|
||||
/**
|
||||
* 情绪评分
|
||||
*/
|
||||
private Double emotionScore;
|
||||
|
||||
/**
|
||||
* 标签列表
|
||||
*/
|
||||
private List<String> tags;
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
package com.emotion.dto.response;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 实现路径响应
|
||||
*
|
||||
* @author huazhongmin
|
||||
* @date 2025-12-22
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class LifePathResponse extends BaseResponse {
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 关联剧本ID
|
||||
*/
|
||||
private String scriptId;
|
||||
|
||||
/**
|
||||
* 路径标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 路径描述
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 路径步骤列表
|
||||
*/
|
||||
private List<Map<String, Object>> steps;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 完成进度百分比
|
||||
*/
|
||||
private Double progress;
|
||||
}
|
||||
Reference in New Issue
Block a user