package cn.superdesk.uniorder.dto.vo.accounting.unified.customer.statement;

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

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


/**
 * @Description: 对账单 详情 order item 就是个包含 订单.商品 的一个类
 * @Author: linjinyu
 * @CreateDate: 2021/1/8 上午11:21
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/1/8 上午11:21
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class CustomerStatementOfAccountDetailItemVo implements Serializable {

	private Integer rowNum;

	// 已经弃用 整合为
//	private Long dzId;
//	private Long orderId;
//	private Long id;

	// 整合为
//	<result column="accounting_order_id" property="accountingOrderId" jdbcType="BIGINT"/>
//	<result column="accounting_order_sn" property="accountingOrderSn" jdbcType="VARCHAR"/>
//	<result column="unified_order_id" property="unifiedOrderId" jdbcType="BIGINT"/>
//	<result column="order_sn" property="orderSn" jdbcType="VARCHAR"/>
//	<result column="unified_order_goods_id" property="unifiedOrderGoodsId" jdbcType="BIGINT"/>
//	<result column="goods_id" property="goodsId" jdbcType="BIGINT"/>
//	<result column="out_snapshot_order_goods_id" property="outSnapshotOrderGoodsId" jdbcType="BIGINT"/>

	private Long   accountingOrderId;
	private String accountingOrderSn;
	private Long   unifiedOrderId;
	private String orderSn;
	private Long   unifiedOrderGoodsId;

	private String orderSnOutTrade;

	private String serviceName;
	private String serviceNo;

	private Long   projectId;
	private String projectName;

	private Long   purchaseVirtId;
	private String purchaseVirtName;

	@ApiModelProperty("下单人Id")
	private Long   purchaseUserId;
	@ApiModelProperty("下单人姓名")
	private String purchaseUserName;
	@ApiModelProperty("下单人联系电话")
	private String purchasePhone;

	private Long   saleId;
	private String saleName;

	private BigDecimal amount;
	private BigDecimal costAmount;
	private BigDecimal transportAmount;

	private Integer completState;

	/**
	 * 客户对账:1-已对账;2-未对账
	 */
	private Integer accountingStateCustomer;
	/**
	 * 供应商对账:1-已对账;2-未对账
	 */
	private Integer accountingStateSupplier;

	private Integer payType;
	/**
	 * 支付方式名称
	 */
	private String  payTypeName;
	private Integer payState;
	/**
	 * 支付状态名称
	 */
	private String  payStateName;

	private Integer orderState;
	private String  orderStateName;

	private Integer settlementType;
	private Integer appraiseState;
	private Integer sourceChannel;
	private String  otherParams;
	private String  userType;
	private String  userName;

	private Long createUserId;

	@ApiModelProperty("收货人Id 必须")
	private Long   recUserId;
	@ApiModelProperty("收货人姓名 必须")
	private String recUserName;
	@ApiModelProperty("收货人手机号 必须")
	private String recUserPhone;
	@ApiModelProperty("收货人地址 必须")
	private String recAddress;

	private Date createTime;
	private Date updateTime;
	/**
	 * 订单 支付时间
	 */
	private Date payTime;
	/**
	 * 订单 发货时间
	 */
	private Date sendTime;
	/**
	 * 订单 完成时间
	 */
	private Date finishTime;


	/**
	 * 物流单号
	 */
	private String expressSn;
	/**
	 * 快递拼音简写
	 */
	private String express;
	/**
	 * 快递名称 eg:京东快递;韵达快运
	 */
	private String expressCompany;

	private Integer invoiceStatus; // 修改标记 20211201
	private String  invoiceNumber; // 修改标记 20211201
	private String  invoiceApplySn; // 修改标记 20211201

	private String remarks;

	private Long   goodsId;
	private Long   outSnapshotOrderGoodsId;
	private String goodsName;
	private String goodsAlias;

	private Integer    quantity;
	// 必填 | 商品 单个 销售价
	private BigDecimal price;
	// 必填 | 商品 单个 成本价
	private BigDecimal costPrice;
	private BigDecimal goodsAmount;
	private BigDecimal goodsCostAmount;

	private Integer direction;

	private Long   cateIdLv1;
	private String cateNameLv1;
	private Long   cateIdLv2;
	private String cateNameLv2;
	private Long   cateIdLv3;
	private String cateNameLv3;
	private String selfOption;
	private String unit;

	/**
	 * 财务编码
	 */
	private String     fiscalCode;
	/**
	 * 税务编码
	 */
	private String     taxCode;
	/**
	 * 税率 %
	 */
	private BigDecimal taxRate;

	@ApiModelProperty("商户税率 税率")
	private BigDecimal merchTaxRate;
	@ApiModelProperty("商户税率 编码")
	private String     merchTaxCode;
	@ApiModelProperty("商户税率 ID")
	private Long       merchTaxId;

	@ApiModelProperty("平台税率 税率")
	private BigDecimal operationTaxRate;
	@ApiModelProperty("平台税率 编码")
	private String     operationTaxCode;
	@ApiModelProperty("平台税率 ID")
	private Long       operationTaxId;

	private String goodsParams;

	private static final long serialVersionUID = 1L;


}
