package com.hzs.common.domain.sale.ext;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.domain.sale.order.SaOrderChargeLog;
import lombok.Data;
import lombok.EqualsAndHashCode;

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

/**
 * @Description: 订单修改记录扩展类
 * @Author: jiang chao
 * @Time: 2023/2/3 10:58
 * @Classname: SaOrderChargeLogExt
 * @PackageName: com.hzs.common.domain.sale.ext
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class SaOrderChargeLogExt extends SaOrderChargeLog {

    private static final long serialVersionUID = 6524301063823340050L;

    /**
     * 审批业务单号
     */
    private String  approvalCode;
    /**
     * 订单编号
     */
    private String orderCode;


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

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

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 订单类型字符
     */
    private String orderTypeStr;

    /**
     * 创建人会员编号
     */
    private String creatorMemberCode;
    /**
     * 创建人会员名称
     */
    private String creatorMemberName;
    /**
     * 订单会员编号
     */
    private String memberCode;
    /**
     * 订单会员名称
     */
    private String memberName;


    /**
     * 记录修改次数
     */
    private Integer logCount;


    /**
     * 会员类型
     */
    private Integer customerType;

    /**
     * 电话
     */
    private String phone;

    /**
     * 推荐人主键
     */
    private Long pkParent;


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

    /**
     * 报单中心编号
     */
    private String pkCenterCode;
    /**
     * 服务中心姓名
     */

    private String pkCenterName;

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

    /**
     * 订单业绩
     */
    private BigDecimal orderAchieve;
    /**
     * 汇率主键
     */
    private Integer pkRate;
    /**
     * 体系
     */
    private Integer pkVertex;
    /**
     * 团队
     */
    private Long pkTeamCode;
    /**
     * 收货人
     */
    private String recName;
    /**
     * 收货电话
     */
    private String recPhone;
    /**
     * 省
     */
    private Long recProvince;
    /**
     * 市
     */
    private Long recCity;
    /**
     * 区县
     */
    private Long recCounty;
    /**
     * 订单状态
     */
    private Integer orderStatus;
    /**
     * 详细地址
     */
    private String recAddress;

    /**
     * 邮费
     */
    private BigDecimal postage;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;
    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

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

    /**
     * 运输方式
     */
    private Integer tranType;
    /**
     * 预售状态
     */
    private Integer preSaleStatus;
    /**
     * 供应方式（经营范围）
     */
    private Integer operateScope;
    /**
     * 支付方式
     */
    private Integer payType;


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

    /**
     * 终审人
     */
    private String lastInstanceApprover;

    /**
     * 终审意见
     */
    private String lastInstanceRemark;
    /**
     * 入汇率
     */
    private BigDecimal inExchangeRate;


    /**
     * 安置部门
     */
    private Integer placeDept;

    /**
     * 撤单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelOrderTime;

    /**
     * 撤单人
     */
    private String cancelTheOrderName;

    /**
     * 推荐编号
     */
    private String parentCode;

    /**
     * 推荐姓名
     */
    private String parentName;

    /**
     * 安置人编号
     */

    private String placeParentCode;

    /**
     * 安置人名称
     */

    private String placeParentName;

    /**
     * 产品主键
     */
    private Integer pkProduct;
    /**
     * 产品名称
     */
    private String productName;

    /**
     * 规格分类
     */
    private String classifyName;
    /**
     * 产品数量
     */
    private Integer quantity;

    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 物流单号
     */
    private String logisticsCode;

    /**
     * 物流公司
     */
    private String logisticsCompany;

    /**
     * 发货日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliveryTime;


    /**
     * 是否陆运 (0=是，1=否)
     */
    private Integer isLandTrans;

    /**
     * 是否空运 (0=是，1=否)
     */
    private Integer isAirTrans;

    /**
     * 是否海运 (0=是，1=否)
     */
    private Integer isOceanTrans;

    /**
     * 无签呈时候 撤单人名称
     */
    private String modifiedName;

    /**
     * 订单下单省
     */
    private Integer orderRecProvince;
    /**
     * 订单下单市
     */
    private Integer orderRecCity;

    /**
     * 订单下单区县
     */
    private Integer orderRecCounty;

    /**
     * 订单下单详细地址
     */
    private String orderRecAddress;

}
