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.Data;

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

/**
 * 伞下直推产品去重VO
 */
@Data
public class UmbrellaBelowRepeatVO {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long pkId;

    /**
     * 会员编号
     */
    private Long pkMember;
    /**
     * 去重会员编号集合
     */
    private List<Long> pkMemberList;
    private String pkMemberStr;
    /**
     * 订单类型 EOrderType
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_TYPE)
    private Integer orderType;
    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String orderTypeVal;
    /**
     * 产品编号
     */
    @Excel(name = "产品编号")
    private String productCode;
    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String productName;
    /**
     * 产品单价(￥)
     */
    @BigDecimalFormat
    @Excel(name = "产品单价(￥)", scale = 2)
    private BigDecimal price;
    /**
     * 产品业绩
     */
    @BigDecimalFormat
    @Excel(name = "产品业绩(￥)", scale = 2)
    private BigDecimal achievement;
    /**
     * 产品数量
     */
    @Excel(name = "产品数量")
    private Integer quantity;

    /**
     * 产品总价
     */
    @BigDecimalFormat
    @Excel(name = "产品总价(￥)", scale = 2)
    private BigDecimal totalPrice;

    /**
     * 产品业绩
     */
    @BigDecimalFormat
    @Excel(name = "产品总业绩(￥)", scale = 2)
    private BigDecimal totalAchievement;
    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;
    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;
    /**
     * 会员姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;
    /**
     * 购买人编号
     */
    @Excel(name = "购买人编号")
    private String crMemberCode;
    /**
     * 购买人姓名
     */
    @Excel(name = "购买人姓名")
    private String crMemberName;
    /**
     * 收货人
     */
    @Excel(name = "收货人")
    private String recName;
    /**
     * 收货电话
     */
    @Excel(name = "收货电话")
    private String recPhone;
    /**
     * 省
     */
    @Excel(name = "省")
    private String province;
    /**
     * 市
     */
    @Excel(name = "市")
    private String city;
    /**
     * 县/区
     */
    @Excel(name = "县/区")
    private String county;
    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String recAddress;
    /**
     * 创建时间
     */
    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 支付时间
     */
    @Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 订单类型集合
     */
    private List<Integer> orderTypeList;


    /**
     * 创建时间开始时间
     */
    private String startDate;

    /**
     * 创建时间结束时间
     */
    private String endDate;

    /**
     * 国家
     */
    private Integer pkCountry;


}
