package com.hzs.sale.order.vo;/**
 * @Description:
 * @Author: yuhui
 * @Time: 2023/4/11 10:33
 * @Classname: OrderChargeLogVo
 * @PackageName: com.hzs.sale.order.vo
 */

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.domain.sale.ext.SaOrderItemsExt;
import com.hzs.common.domain.sale.order.SaOrderItems;
import lombok.Data;

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-04-11  10:33
 *@Description: TODO
 *@Version: 1.0
 */
@Data
public class OrderChargeLogVo {

    /**
     * 签呈编号
     */
    @Excel(name = "签呈编号")
    private String approvalCode;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;
    /**
     * 订单类型
     */
    private Integer orderType;
    /**
     * 订单类型字符
     */
    @Excel(name = "订单类型")
    private String orderTypeStr;

    /**
     * 修改类型（231=修改地址，232=调换货物，233=退单，234=撤销订单，235=撤销产品）
     */

    private Integer chargeType;

    /**
     * 修改类型（231=修改地址，232=调换货物，233=退单，234=撤销订单，235=撤销产品）
     */

    @Excel(name = "撤单类型")
    private String chargeTypeStr;


    /**
     * 会员类型（注册类型）
     */
    @Excel(name = "注册类型")
    private String customerTypeStr;

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

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

    /**
     * 电话（联系方式）
     */
    @Excel(name = "联系方式")
    private String phone;
    /**
     * 推荐人编号
     */
    @Excel(name = "推荐编号")
    private String parentCode;
    /**
     * 推荐人名称
     */
    @Excel(name = "推荐姓名")
    private String parentName;
    /**
     * 推荐人主键
     */
    private Long pkParent;

    /**
     * 安置人主键
     */
    private Long pkPlaceParent;

    /**
     * 订单金额(本地币)
     */
    @Excel(name = "消费金额(¥)")
    private BigDecimal orderAmount;

    /**
     * 订单业绩(本地币)
     */
    @Excel(name = "消费业绩(¥)")
    private BigDecimal orderAchieve;

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

    /**
     * 订单金额(美金)
     */
    @Excel(name = "消费金额($)")
    private BigDecimal orderAmountDollar;

    /**
     * 订单业绩(美金)
     */
    @Excel(name = "消费业绩($)")
    private BigDecimal orderAchieveDollar;

    /**
     * 体系
     */
    private Long pkVertex;


    /**
     * 体系名称
     */
    @Excel(name = "隶属体系")
    private String vertexName;

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


    /**
     * 省
     */
    private Long recProvince;
    /**
     * 省名称
     */
    @Excel(name = "省")
    private String recProvinceStr;
    /**
     * 市
     */
    private Long recCity;
    /**
     * 市名称
     */
    @Excel(name = "市")
    private String recCityStr;
    /**
     * 区县
     */
    private Long recCounty;
    /**
     * 区县名称
     */
    @Excel(name = "区/县")
    private String recCountyStr;
    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String recAddress;


    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String productNames;
    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String specsNames;

    /**
     * 产品数量
     */
    @Excel(name = "产品数量")
    private String quantitys;
    /**
     * 产品总额
     */
    @Excel(name = "产品总额(¥)")
    private BigDecimal prices;

    /**
     * 产品相关信息
     */
    private List<SaOrderItemsExt> itemList;

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

    /**
     * 订单总额
     */
    @Excel(name = "订单总额(¥)")
    private BigDecimal orderTotalAmount;

    /**
     * 产品总额($)
     */
    @Excel(name = "产品总额($)")
    private BigDecimal pricesDollar;

    /**
     * 邮费（美金）
     */
    @Excel(name = "订单邮费($)")
    private BigDecimal postageDollar;

    /**
     * 订单总额
     */
    @Excel(name = "订单总额($)")
    private BigDecimal orderTotalAmountDollar;
    /**
     * 订单状态
     */
    private Integer orderStatus;
    /**
     * 订单状态（字符）
     */
    @Excel(name = "订单状态")
    private String orderStatusStr;

    /**
     * 物流公司
     */
    @Excel(name = "物流公司")
    private String logisticsCompanys;

    /**
     * 物流单号
     */
    @Excel(name = "物流单号")
    private String logisticsCodes;

    /**
     * 创建时间
     */
    @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;
    /**
     * 发货日期
     *
     */
    @Excel(name = "发货日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;
    /**
     * 发货方式 (1=快递,2=公司自提,3=店铺自提,4=店铺配送)
     *
     */
    @Excel(name = "发货方式")
    private String deliveryWayStr;
    /**
     * 供应方式（经营范围）（字符） （销售方式 ： 自营 非自营）
     */
    @Excel(name = "销售方式")
    private String operateScopeStr;
    /**
     * 运输方式
     */
    @Excel(name = "运输方式")
    private String tranTypeStr;

    /**
     * 预售状态（字符）
     */
    @Excel(name = "预售状态")
    private String preSaleStatusStr;



    /**
     * 支付方式
     */
    @Excel(name = "支付方式")
    private String payTypeStr;
    /**
     * 撤单时间
     */
    @Excel(name = "撤单时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelOrderTime;
    /**
     * 撤单人
     */
    @Excel(name = "撤单人")
    private String creatorName;
    /**
     * 审核状态（1=未审核,2=审核通过,3=审核驳回）
     */
    @Excel(name = "审核状态",readConverterExp = "1=未审核,2=审核通过,3=审核驳回")
    private Integer approvalStatus;

    /**
     * 终审时间
     */
    @Excel(name = "终审时间",dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastInstanceDate;

    /**
     * 终审人
     */
    @Excel(name = "终审人")
    private String lastInstanceApprover;

    /**
     * 终审意见
     */
    @Excel(name = "终审意见")
    private String lastInstanceRemark;


    /**
     * 终审状态
     */
    @Excel(name = "终审状态")
    private String lastInstanceStatus;


    /**
     *  来源 1 后台 2 前台
     */
    @Excel(name = "来源")
    private String orderChargeLogSourceStr;



}
