package com.hzs.report.member.vo;
/**
 * @Description:
 * @Author: yuhui
 * @Time: 2023/8/25 10:24
 * @Classname: directPushNewVo
 * @PackageName: com.hzs.sale.order.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;

/**
 *@BelongsProject: hzs_cloud
 *@BelongsPackage: com.hzs.sale.order.vo
 *@Author: yh
 *@CreateTime: 2023-08-25  10:24
 *@Description: TODO
 *@Version: 1.0
 */
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Data
public class DirectPushNewVo {
    /**
     * 国旗
     */
    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=BigDecimal.ZERO;

    /**
     * 大区业绩
     */
    @Excel(name = "大区业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal bigArealPv=BigDecimal.ZERO;

    /**
     * 小区业绩
     */
    @Excel(name = "小区业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal smallAreaPv=BigDecimal.ZERO;

    /**
     * 大区金额
     */
    @Excel(name = "大区金额")
    @BigDecimalFormat()
    private BigDecimal bigArealAm=BigDecimal.ZERO;

    /**
     * 小区金额
     */
    @Excel(name = "小区金额")
    @BigDecimalFormat()
    private BigDecimal smallAreaAm=BigDecimal.ZERO;

    /**
     * 注册金额
     */
    @Excel(name = "注册金额(￥)")
    @BigDecimalFormat()
    private BigDecimal regAmount=BigDecimal.ZERO;

    /**
     * 注册业绩
     */
    @Excel(name = "注册业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal regAchieve=BigDecimal.ZERO;
    /**
     * 升级金额
     */
    @Excel(name = "升级金额(￥)")
    @BigDecimalFormat()
    private BigDecimal upgAmount=BigDecimal.ZERO;

    /**
     * 升级业绩
     */
    @Excel(name = "升级业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal upgAchieve=BigDecimal.ZERO;
    /**
     * 复购金额
     */
    @Excel(name = "复购金额(￥)")
    @BigDecimalFormat()
    private BigDecimal repAmount=BigDecimal.ZERO;

    /**
     * 复购业绩
     */
    @Excel(name = "复购业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal repAchieve=BigDecimal.ZERO;
    /**
     * 重消金额
     */
    @Excel(name = "重消金额(￥)")
    @BigDecimalFormat()
    private BigDecimal conAmount=BigDecimal.ZERO;

    /**
     * 重消业绩
     */
    @Excel(name = "重消业绩(PV)")
    @BigDecimalFormat()
    private BigDecimal conAchieve=BigDecimal.ZERO;


    /**
     * 订单日期
     */
    @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;

    /**
     * 秒结表
     */
    private String achieveTableNameNow;
    /**
     * 业绩
     */
    @BigDecimalFormat()
    private BigDecimal arealPv;

    /**
     * 金额
     */
    @BigDecimalFormat()
    private BigDecimal arealAm=BigDecimal.ZERO;
    /**
     * 盒数
     */
    @BigDecimalFormat()
    private int arealBox;

    private List<Long> pkMemberList;

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



}
