package com.hzs.report.member.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @description: 伞下直推新增业绩（新）详情
 * @author: zhang jing
 * @date: 2025/2/17 16:51
 * @param:
 * @return:
 **/
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class DirectPushNewDetailsVo {
    /**
     * 国旗
     */
    private String nationalFlag1;

    /**
     * 国家
     */
    @Excel(name = "国家")
    private String shortName;
    /**
     * 用户编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 用户姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String phone;
    /**
     * 奖衔名称
     */
    @Excel(name = "真实奖衔")
    private String awardsName;

    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;

    /**
     * 隶属团队
     */
    @Excel(name = "隶属团队")
    private String teamName;

    /**
     * 订单实际金额
     */
    @Excel(name = "新增金额(￥)")
    @BigDecimalFormat()
    private BigDecimal orderAmount=BigDecimal.ZERO;

    /**
     * 订单实际业绩
     */
    @Excel(name = "新增业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal orderAchieve;

    /**
     * 订单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private String payTime;

    /**
     * 大小区订单日期订单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date zonpayTime;



    /**
     * 订单实际考核业绩
     */
    private BigDecimal orderAssAchieve;

    /**
     * 联创编号
     */
    private BigDecimal LcMemberCode;


    /**
     * 联创姓名
     */
    private BigDecimal LcUserName;
    /**
     * 订单类型
     * EOrderUpBusiness
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_UP_BUSINESS)
    private Integer orderType;

    private Integer pkAwards;
    private Integer pkTeamCode;
    private Integer pkCountry;
    private Integer pkVertex;
    private Long pkMember;
    /**
     * 订单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startPayTime;
    /**
     * 订单日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endPayTime;

    /**
     * 注册金额
     */
    private BigDecimal registerAmount;
    /**
     * 注册业绩
     */
    private BigDecimal registerPv;
    /**
     * 升级金额
     */
    private BigDecimal upgradeAmount;
    /**
     * 升级业绩
     */
    private BigDecimal upgradePv;
    /**
     * 复购金额
     */
    private BigDecimal repurchaseAmount;
    /**
     * 复购业绩
     */
    private BigDecimal repurchasePv;
    /**
     * 嗨粉金额
     */
    private BigDecimal hiFunAmount;
    /**
     * 嗨粉业绩
     */
    private BigDecimal hiFunPv;
    /**
     * 商城金额
     */
    private BigDecimal mallAmount;
    /**
     * 商城业绩
     */
    private BigDecimal mallPv;

    /**
     * 开始期数
     */
    private Integer periodSta;
    /**
     * 结束期数
     */
    private Integer periodEnd;

    /**
     * 开始日期业绩表
     */
    private String achieveTableNameSta;
    /**
     * 结束日期业绩表
     */
    private String achieveTableNameEnd;
    /**
     * 业绩
     */
    @BigDecimalFormat()
    private BigDecimal arealPv;

    private List<Long> pkMemberList;

    /**
     * 会员编号集合
     */
    private List<String> memberCodeList;
    /**
     * 会员编号集合
     */
    private String memberCodeStr;



}
