package cn.superdesk.uniorder.dto.vo.order.base;

import io.swagger.annotations.ApiModelProperty;
import lombok.*;

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

/**
 * @Description:
 * @Author: linjinyu
 * @Email linjinyu@avic-s.com
 * @CreateDate: 2022-07-13 14:07:40
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022-07-13 14:07:40
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder(toBuilder = true)
@Data
@ToString
public class UnifiedOrderListItemVo implements Serializable {

    @ApiModelProperty("")
    private Long       id;
    @ApiModelProperty("订单号")
    private String     orderSn;
    @ApiModelProperty("外部订单号")
    private String     orderSnOutTrade;
    @ApiModelProperty("订单类型")
    private String     serviceName;
    @ApiModelProperty("服务编码-定义:始于订单流上标志的服务编码及从订单流衍生出来的及相关数据的来源标识-引用enum CommonServiceEnum")
    private String     serviceNo;
    @ApiModelProperty("项目ID")
    private Long       projectId;
    @ApiModelProperty("项目")
    private String     projectName;
    @ApiModelProperty("采购方-企业")
    private Long       purchaseVirtId;
    @ApiModelProperty("采购方-企业")
    private String     purchaseVirtName;
    @ApiModelProperty("侨城汇要的部门")
    private String     purchaseDepartmentName;
    @ApiModelProperty("采购方-采购员")
    private Long       purchaseUserId;
    @ApiModelProperty("采购方-采购员")
    private String     purchaseUserName;
    @ApiModelProperty("")
    private String     purchasePhone;
    @ApiModelProperty("销售方")
    private Long       saleId;
    @ApiModelProperty("销售方")
    private String     saleName;
    @ApiModelProperty("销售金额")
    private BigDecimal amount;
    @ApiModelProperty("成本金额")
    private BigDecimal costAmount;
    @ApiModelProperty("运费")
    private BigDecimal transportAmount;
    @ApiModelProperty("商户承担运费")
    private BigDecimal transportMerchantAssumeAmount;
    @ApiModelProperty("商品销售金额(统一订单)")
    private BigDecimal goodsAmount;
    @ApiModelProperty("商品成本金额(统一订单)")
    private BigDecimal goodsCostAmount;
    @ApiModelProperty("退品销售金额(统一订单)")
    private BigDecimal refundGoodsAmount;
    @ApiModelProperty("退品成本金额(统一订单)")
    private BigDecimal refundGoodsCostAmount;
    @ApiModelProperty("完成状态")
    private Integer    completState;
    @ApiModelProperty("客户对账锁定:0-正常;1-销定")
    private Integer    orderLockingCustomer;
    @ApiModelProperty("供应商对账锁定:0-正常;1-销定")
    private Integer    orderLockingSupplier;
    @ApiModelProperty("支付方式")
    private Integer    payType;
    @ApiModelProperty("支付方式名称")
    private String     payTypeName;
    @ApiModelProperty("付款状态")
    private Integer    payState;
    @ApiModelProperty("支付状态名称")
    private String     payStateName;
    @ApiModelProperty("订单状态")
    private Integer    orderState;
    @ApiModelProperty("订单状态(中文名字-各系统的)")
    private String     orderStateName;
    @ApiModelProperty("结算类型")
    private Integer    settlementType;
    @ApiModelProperty("评价状态")
    private Integer    appraiseState;
    @ApiModelProperty("来源渠道")
    private Integer    sourceChannel;
    @ApiModelProperty("其他属性")
    private String     otherParams;
    @ApiModelProperty("操作类型")
    private String     userType;
    @ApiModelProperty("操作者")
    private String     userName;
    @ApiModelProperty("")
    private Date       createTime;
    @ApiModelProperty("")
    private Long       createUserId;
    @ApiModelProperty("")
    private Date       updateTime;
    @ApiModelProperty("")
    private Long       updateUserId;
    @ApiModelProperty("订单类型:1-订单;2-退单；")
    private Integer    orderType;
    @ApiModelProperty("退单号")
    private String     refundOrderSn;
    @ApiModelProperty("")
    private String     recUserName;
    @ApiModelProperty("")
    private Long       recUserId;
    @ApiModelProperty("")
    private String     recUserPhone;
    @ApiModelProperty("")
    private String     recAddress;
    @ApiModelProperty("物流单号")
    private String     expressSn;
    @ApiModelProperty("快递拼音简写")
    private String     express;
    @ApiModelProperty("快递名称 eg:京东快递;韵达快运")
    private String     expressCompany;
    @ApiModelProperty("")
    private String     remarks;
    @ApiModelProperty("供应商对账:1-已对账;2-未对账")
    private Integer    accountingStateSupplier;
    @ApiModelProperty("客户对账:1-已对账;2-未对账")
    private Integer    accountingStateCustomer;
    @ApiModelProperty("2-未开票，1-已开票，3-部分开票")
    private Integer    invoiceStatus;
    @ApiModelProperty("特指 开票申请Sn")
    private String     invoiceApplySn;
    @ApiModelProperty("特指 发票号 税务")
    private String     invoiceNumber;
    @ApiModelProperty("代客下单 代理操作人账号")
    private String     operAccount;
    @ApiModelProperty("代客下单 代理操作人姓名")
    private String     operName;
    @ApiModelProperty("订单 支付时间")
    private Date       payTime;
    @ApiModelProperty("订单 发货时间")
    private Date       sendTime;
    @ApiModelProperty("订单 完成时间")
    private Date       finishTime;
    @ApiModelProperty("结算时间")
    private Date       accountingTime;
    @ApiModelProperty("0-未回款;1-部分回款;2-全部回款")
    private Integer    backAccountStatus;


}