package com.hzs.sale.order.vo;/**
 * @Description:
 * @Author: yuhui
 * @Time: 2023/8/2 16:32
 * @Classname: WaresOrderInfoVo
 * @PackageName: com.hzs.sale.order.vo
 */

import com.fasterxml.jackson.annotation.JsonFormat;
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;

/**
 *@BelongsProject: hzs_cloud
 *@BelongsPackage: com.hzs.sale.order.vo
 *@Author: yh
 *@CreateTime: 2023-08-02  16:32
 *@Description: TODO
 *@Version: 1.0
 */
@Data
public class WaresOrderInfoVo {

    /**
     * 产品编号
     */
    @Excel(name = "产品编号")
    private String waresCode;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String waresName;

    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String specsName;
    /**
     * 重量
     */
    @Excel(name = "重量(KG)")
    private BigDecimal weight;
    /**
     * 产品单价
     */
    @Excel(name = "产品单价")
    private BigDecimal productPrice;

    /**
     * 产品数量
     */
    @Excel(name = "产品数量")
    private Integer quantity;

    /**
     * 产品总价
     */
    @Excel(name = "产品总价")
    private BigDecimal productTotalPrice;
    /**
     * 商品编号
     */
    @Excel(name = "商品编号")
    private String commodityCode;
    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String commodityName;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;

    private Integer orderType;

    /**
     * 订单类型
     */
    @Excel(name = "订单类型")
    private String orderTypeStr;

    @Excel(name = "订单推荐人编号")
    private String orderParentCode;
    /**
     * 订单推荐人
     */
    @Excel(name = "订单推荐人")
    private String orderParentName;

    /**
     * 购买人编号
     */
    @Excel(name = "购买人编号")
    private String buyMemberCode;

    /**
     * 购买人姓名
     */
    @Excel(name = "购买人姓名")
    private String buyMemberName;
    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

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

    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    private String phone;

    /**
     * 发货类型
     */

    private Integer shippingChannel;

    /**
     * 发货类型 字符
     */
    @Excel(name = "发货类型")
    private String shippingChannelStr;


    /**
     * 收货人
     */
    @Excel(name = "收货人")
    private String recName;

    /**
     * 收货电话
     */
    @Excel(name = "收货电话")
    private String recPhone;

    /**
     * 省外键
     */
    private Integer recProvince;
    /**
     * 省名称
     */
    @Excel(name = "省名称")
    private String recProvinceName;
    /**
     * 市外键
     */
    private Integer recCity;

    /**
     * 市名称
     */
    @Excel(name = "市名称")
    private String recCityName;

    /**
     * 县外键
     */
    private Integer recCountry;

    /**
     * 县名称
     */
    @Excel(name = "县名称")
    private String recCountryName;
    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String recAddress;

    /**
     * 订单金额
     */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /**
     * 订单邮费
     */
    @Excel(name = "订单邮费")
    private BigDecimal postage;
    /**
     * 订单业绩
     */
    @Excel(name = "订单业绩")
    private BigDecimal orderAchieve;

    @Excel(name = "商品数量")
    private Integer waresQuantity;
    /**
     * 发货方式 值
     */

    private Integer deliveryWay;

    /**
     * 发货方式 label
     */
    @Excel(name = "发货方式")
    private String deliveryWayStr;
    /**
     * 店铺名称
     */
    @Excel(name = "所属店铺")
    private String storeName;
    /**
     * 供应方式
     */
    @Excel(name = "供应方式")
    private String operateScope;

    /**
     * 运输方式
     */

    private Integer tranType;
    /**
     * 运输方式label
     */
    @Excel(name = "运输方式")
    private String tranTypeStr;

    /**
     * 预售状态 值
     */
    private Integer preSaleStatus;
    /**
     * 预售状态 字符
     */
    @Excel(name = "预售状态")
    private String preSaleStatusStr;
    /**
     * 订单状态
     */

    private Integer orderStatus;
    /**
     * 订单状态 label
     */
    @Excel(name = "订单状态")
    private String orderStatusStr;
    /**
     * 支付方式
     */
    private Integer payType;
    /**
     * 支付方式label
     */
    @Excel(name = "支付方式")
    private String payTypeStr;
    /**
     * 物流单号（用逗号间隔）
     */
    @Excel(name = "物流单号")
    private String logisticsCode;
    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String logisticsCompany;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String remark;

    /**
     * 创建时间
     */
    @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;

    /**
     * 产品翻译
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_PRO)
    private Integer productTransacTion;


    private String productTransacTionVal;
    /**
     * 商品翻译
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_SPEC)
    private Integer waresTransacTion;


    private String waresTransacTionVal;

}
