package com.aegis.emergency.dispatch.domain;

import com.aegis.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 调度任务参与方实体类 dispatch_task_participant
 * 
 * @author aegis
 */
@Getter
@Setter
@ToString(callSuper = true)
@TableName("dispatch_task_participant")
public class DispatchTaskParticipant extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 参与方ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 任务ID */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long taskId;

    /** 人员ID（引用资源模块 resource_person.id 或 resource_team_member.id） */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long personId;

    /** 所属队伍ID（引用 resource_team.id，可空） */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long teamId;

    /** 人员冗余快照（JSON格式，记录调度当时信息：姓名、电话、单位、临时职责、职务、专业、装备等） */
    private String personSnapshot;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;
}