package org.dromara.pet.domain.bo;

import org.dromara.pet.domain.BizTriageMessages;
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;

/**
 * 多模态问诊对话明细业务对象 biz_triage_messages
 *
 * @author shuo
 * @date 2026-02-26
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BizTriageMessages.class,reverseConvertGenerate =false)

public class BizTriageMessagesBo extends BaseEntity {

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

            /**
             * 关联分诊会话ID
             */
        private Long sessionId;

            /**
             * 发送者角色(USER用户/AI模型)
             */
        private String senderRole;

            /**
             * 消息类型(TEXT/IMAGE/VIDEO)
             */
                @NotBlank(message = "消息类型(TEXT/IMAGE/VIDEO)不能为空", groups = { AddGroup.class, EditGroup.class })
        private String messageType;

            /**
             * 文本内容
             */
                @NotBlank(message = "文本内容不能为空", groups = { AddGroup.class, EditGroup.class })
        private String content;

            /**
             * 多媒体文件链接
             */
                @NotBlank(message = "多媒体文件链接不能为空", groups = { AddGroup.class, EditGroup.class })
        private String mediaUrl;

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


}
