package com.fs.live.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fs.common.annotation.Excel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 直播订单客户导出DTO
 * 
 * @author fs
 * @date 2025-11-13
 */
@Data
public class LiveOrderCustomerExportDTO {

    /** 销售id */
    @Excel(name = "销售ID")
    private Long companyUserId;

    /** 绑定销售昵称 */
    @Excel(name = "销售昵称")
    private String companyUserNickName;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String customerCode;

    /** 会员等级 */
    @Excel(name = "会员等级")
    private Integer userLevel;

    /** 销售绑定手机号 */
    @Excel(name = "销售手机号")
    private String companyUserPhone;

    /** 销售创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "销售创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date companyUserCreateTime;

    /** 客户id */
    @Excel(name = "客户ID")
    private Long userId;

    /** 客户昵称 */
    @Excel(name = "客户昵称")
    private String nickName;

    /** 客户绑定手机号 */
    @Excel(name = "客户手机号")
    private String userPhone;

    /** 收货手机号 */
    @Excel(name = "收货手机号")
    private String receivePhone;

    /** 累计成交笔数 */
    @Excel(name = "累计成交笔数")
    private Long totalOrderCount;

    /** 累计成交总额 */
    @Excel(name = "累计成交总额", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal totalOrderAmount;

    /** 最新绑定时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最新绑定时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date latestBindTime;

    /** 客户状态 */
    @Excel(name = "客户状态", dictType = "user_status")
    private Integer userStatus;

    /** 所属店铺 */
    @Excel(name = "所属店铺ID")
    private Long storeId;

    /** 所属店铺名称 */
    @Excel(name = "所属店铺名称")
    private String storeName;
}

