新增人生轨迹模块代码

This commit is contained in:
2025-12-21 17:44:59 +08:00
parent f3c06ce6af
commit cfd12f01db
14 changed files with 1156 additions and 72 deletions
@@ -0,0 +1,87 @@
package com.emotion.dto.request.userprofile;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
/**
* 用户档案创建请求对象
*
* @author huazhongmin
* @date 2025-12-21
*/
@Data
public class UserProfileCreateRequest {
/**
* 昵称
*/
@NotBlank(message = "昵称不能为空")
private String nickname;
/**
* 性别
*/
private String gender;
/**
* 星座
*/
private String zodiac;
/**
* MBTI人格类型
*/
@NotBlank(message = "MBTI人格类型不能为空")
private String mbti;
/**
* 兴趣爱好 (JSON字符串)
*/
private String hobbies;
/**
* 童年经历日期
*/
private LocalDate childhoodDate;
/**
* 童年经历描述
*/
private String childhoodContent;
/**
* 高光时刻日期
*/
private LocalDate peakDate;
/**
* 高光时刻描述
*/
private String peakContent;
/**
* 低谷时期日期
*/
private LocalDate valleyDate;
/**
* 低谷时期描述
*/
private String valleyContent;
/**
* 未来期许
*/
private String futureVision;
/**
* 生成的剧本列表 (JSON字符串)
*/
private String scripts;
/**
* 选择的路径列表 (JSON字符串)
*/
private String paths;
}
@@ -0,0 +1,36 @@
package com.emotion.dto.request.userprofile;
import com.emotion.dto.request.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 用户档案分页查询请求对象
*
* @author huazhongmin
* @date 2025-12-21
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class UserProfilePageRequest extends PageRequest {
/**
* 用户ID
*/
private String userId;
/**
* 昵称
*/
private String nickname;
/**
* MBTI人格类型
*/
private String mbti;
/**
* 状态
*/
private Integer status;
}
@@ -0,0 +1,96 @@
package com.emotion.dto.request.userprofile;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.time.LocalDate;
/**
* 用户档案更新请求对象
*
* @author huazhongmin
* @date 2025-12-21
*/
@Data
public class UserProfileUpdateRequest {
/**
* ID
*/
@NotBlank(message = "ID不能为空")
private String id;
/**
* 昵称
*/
private String nickname;
/**
* 性别
*/
private String gender;
/**
* 星座
*/
private String zodiac;
/**
* MBTI人格类型
*/
private String mbti;
/**
* 兴趣爱好 (JSON字符串)
*/
private String hobbies;
/**
* 童年经历日期
*/
private LocalDate childhoodDate;
/**
* 童年经历描述
*/
private String childhoodContent;
/**
* 高光时刻日期
*/
private LocalDate peakDate;
/**
* 高光时刻描述
*/
private String peakContent;
/**
* 低谷时期日期
*/
private LocalDate valleyDate;
/**
* 低谷时期描述
*/
private String valleyContent;
/**
* 未来期许
*/
private String futureVision;
/**
* 生成的剧本列表 (JSON字符串)
*/
private String scripts;
/**
* 选择的路径列表 (JSON字符串)
*/
private String paths;
/**
* 状态: 0-禁用, 1-正常
*/
private Integer status;
}
@@ -0,0 +1,123 @@
package com.emotion.dto.response.userprofile;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* 用户档案响应对象
*
* @author huazhongmin
* @date 2025-12-21
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UserProfileResponse {
/**
* ID
*/
private String id;
/**
* 用户ID
*/
private String userId;
/**
* 昵称
*/
private String nickname;
/**
* 性别
*/
private String gender;
/**
* 星座
*/
private String zodiac;
/**
* MBTI人格类型
*/
private String mbti;
/**
* 兴趣爱好 (JSON字符串)
*/
private String hobbies;
/**
* 童年经历日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate childhoodDate;
/**
* 童年经历描述
*/
private String childhoodContent;
/**
* 高光时刻日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate peakDate;
/**
* 高光时刻描述
*/
private String peakContent;
/**
* 低谷时期日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate valleyDate;
/**
* 低谷时期描述
*/
private String valleyContent;
/**
* 未来期许
*/
private String futureVision;
/**
* 生成的剧本列表 (JSON字符串)
*/
private String scripts;
/**
* 选择的路径列表 (JSON字符串)
*/
private String paths;
/**
* 状态: 0-禁用, 1-正常
*/
private Integer status;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}