package com.hzs.sale.order.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;

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

/**
 * @Description: 用于管理端返回到前台的实体vo
 * @Author: sui q
 * @Time: 2022/10/19 17:37
 * @Classname: SaOrderVO
 * @PackageName: com.hzs.sale.order.vo
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SaOrderVO extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 推荐人编号
     */
    private String reference;

    /**
     * 推荐人姓名
     */
    private String referenceName;

    /**
     * 会员编号
     */
    private String memberCode;

    /**
     * 会员姓名
     */
    private String memberName;

    /**
     * 订单类型 来源于专区设置
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_TYPE)
    private Integer orderType;

    private String orderTypeVal;

    /**
     * 汇率
     */
    private Integer pkRate;

    /**
     * 备注
     */
    private String remark;

    /**
     * 汇率 来源于汇率
     */
    private BigDecimal rate;

//    /**
//     * 订单原来金额
//     */
//    private BigDecimal oriOrderAmount;
//
//    /**
//     * 订单原来业绩
//     */
//    private BigDecimal oriOrderAchieve;
//
//    /**
//     * 订单原来考核业绩
//     */
//    private BigDecimal oriOrderAssAchieve;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 订单业绩
     */
    private BigDecimal orderAchieve;

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

    /**
     * 邮费
     */
    private BigDecimal postage;

    /**
     * 收货人
     */
    private String recName;

    /**
     * 收货电话
     */
    private String recPhone;

    /**
     * 省
     */
    @JsonIgnore
    private Integer recProvince;

    private String recProvinceVal;

    /**
     * 市
     */
    @JsonIgnore
    private Integer recCity;

    private String recCityVal;

    /**
     * 县
     */
    @JsonIgnore
    private Integer recCounty;

    private String recCountyVal;

    /**
     * 收货地址
     */
    @Transaction(isCache = false)
    private String recAddress;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 运输方式
     */
    @JsonIgnore
    @Transaction(transactionKey = EnumsPrefixConstants.ENU_TRA)
    private Integer tranType;

    private String tranTypeVal;

    /**
     * 发货方式 (1=快递,2=公司自提,3=店铺自提,4=店铺配送)
     */
    @JsonIgnore
    @Transaction(transactionKey = EnumsPrefixConstants.DELIVERY)
    private Integer deliveryWay;

    private String deliveryWayVal;

    /**
     * 顶点,用于统计六合等各个团队
     */
    private String vertex;

    /**
     * 顶点姓名
     */
    private String vertexName;


}
