Files
happy-life-star/backend-single/src/main/java/com/emotion/entity/LifePath.java
T
2025-12-22 14:50:14 +08:00

75 lines
1.7 KiB
Java

package com.emotion.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.emotion.common.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 实现路径实体类
* 存储基于剧本生成的实现路径规划
*
* @author huazhongmin
* @date 2025-12-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName(value = "t_life_path", autoResultMap = true)
public class LifePath extends BaseEntity {
/**
* 用户ID (关联t_user.id)
*/
@TableField("user_id")
private String userId;
/**
* 关联剧本ID (关联t_epic_script.id)
*/
@TableField("script_id")
private String scriptId;
/**
* 路径标题
*/
@TableField("title")
private String title;
/**
* 路径描述
*/
@TableField("description")
private String description;
/**
* 路径步骤列表 (JSON数组)
* 每个步骤包含: phase, time, content, action, resources, habit
*/
@TableField(value = "steps", typeHandler = JacksonTypeHandler.class)
private List<Map<String, Object>> steps;
/**
* 状态: active-进行中, completed-已完成, archived-已归档
*/
@TableField("status")
private String status;
/**
* 完成进度百分比
*/
@TableField("progress")
private BigDecimal progress;
}