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

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

/**
 * @Description: 订单业务返回VO
 * @Author: jiang chao
 * @Time: 2023/1/31 16:48
 * @Classname: OrderBusinessVO
 * @PackageName: com.hzs.sale.order.vo
 */
@Data
public class OrderBusinessVO {

    /**
     * 订单ID
     */
    private String pkId;

    /**
     * 订单编号
     */
    private String orderCode;
    /**
     * 订单类型
     */
    @Transaction(transactionKey = EnumsPrefixConstants.ORDER_TYPE)
    private Integer orderType;
    /**
     * 订单类型显示
     */
    private String orderTypeVal;

    /**
     * 会员编号
     */
    private String memberCode;
    /**
     * 会员姓名
     */
    private String memberName;

    /**
     * 收货人
     */
    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;
    /**
     * 详细地址
     */
    private String recAddress;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 商品总价
     */
    private BigDecimal orderAmount;
    /**
     * 商品PV
     */
    private BigDecimal orderAchieve;
    /**
     * 商品PV（人民币）
     */
    private BigDecimal orderAchieveRmb;
    /**
     * 商品BV
     */
    private BigDecimal orderAssAchieve;

    /**
     * 产品名称
     */
    private String productName;
    /**
     * 规格名称
     */
    private String specsName;
    /**
     * 产品价格
     */
    private BigDecimal price;
    /**
     * 产品业绩
     */
    private BigDecimal achievement;
    /**
     * 产品BV
     */
    private BigDecimal assAchievement;
    /**
     * 数量
     */
    private Integer quantity;

    /**
     * 汇率
     */
    private BigDecimal inExchangeRate;

    /**
     * 退单标记（0=可退单）
     */
    private Integer returnFlag;

}
