package org.dromara.pet.domain.bo;

import org.dromara.pet.domain.BizTriageSessions;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * AI智能分诊会话业务对象 biz_triage_sessions
 *
 * @author shuo
 * @date 2026-02-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BizTriageSessions.class,reverseConvertGenerate =false)

public class BizTriageSessionsBo extends BaseEntity {

            /**
             * 主键ID
             */
        private Long id;

            /**
             * 关联用户ID
             */
        private Long userId;

            /**
             * 关联宠物ID
             */
        private Long petId;

            /**
             * 会话状态(ONGOING进行中/COMPLETED已完成)
             */
                @NotBlank(message = "会话状态(ONGOING进行中/COMPLETED已完成)不能为空", groups = { AddGroup.class, EditGroup.class })
        private String status;

            /**
             * 风险等级(GREEN低/YELLOW中/RED高)
             */
                @NotBlank(message = "风险等级(GREEN低/YELLOW中/RED高)不能为空", groups = { AddGroup.class, EditGroup.class })
        private String riskLevel;

            /**
             * AI病情摘要总结
             */
                @NotBlank(message = "AI病情摘要总结不能为空", groups = { AddGroup.class, EditGroup.class })
        private String aiSummary;

            /**
             * 行动建议指南
             */
                @NotBlank(message = "行动建议指南不能为空", groups = { AddGroup.class, EditGroup.class })
        private String actionPlan;

            /**
             * 业务创建时间
             */
                @NotNull(message = "业务创建时间不能为空", groups = { AddGroup.class, EditGroup.class })
        private Date createdAt;

            /**
             * 业务更新时间
             */
                @NotNull(message = "业务更新时间不能为空", groups = { AddGroup.class, EditGroup.class })
        private Date updatedAt;


}
