package org.hzhub.crm.domain.vo;

import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.hzhub.common.translation.annotation.Translation;
import org.hzhub.common.translation.constant.TransConstant;
import org.hzhub.crm.domain.CrmLeadFollow;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * CRM线索跟进记录视图对象 crm_lead_follow
 *
 * @author hzhub
 */
@Data
@AutoMapper(target = CrmLeadFollow.class)
public class CrmLeadFollowVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 跟进ID
     */
    private Long followId;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 线索ID
     */
    private Long leadId;

    /**
     * 跟进方式
     */
    private String followType;

    /**
     * 跟进方式名称（翻译）
     */
    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "followType", other = "crm_follow_type")
    private String followTypeName;

    /**
     * 跟进内容
     */
    private String content;

    /**
     * AI摘要
     */
    private String aiSummary;

    /**
     * 下次跟进时间
     */
    private Date nextFollowTime;

    /**
     * 跟进人ID
     */
    private Long followUserId;

    /**
     * 跟进人姓名（翻译）
     */
    @Translation(type = TransConstant.USER_ID_TO_NAME, mapper = "followUserId")
    private String followUserName;

    /**
     * 创建时间
     */
    private Date createTime;
}