package cn.superdesk.uniorder.dto.vo.unified;

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

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


/**
 * @Description: 订单管理 > 订单管理-table list-VO
 * @Author: linjinyu
 * @CreateDate: 5/14/20 2:39 PM
 * @UpdateUser: linjinyu
 * @UpdateDate: 5/14/20 2:39 PM
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
public class UnifiedOrderGoodsVo implements Serializable {

	/**
	 * 这个是什么id
	 */
	private Long id;

	/****************************************** 订单维度 ******************************************/
	private String orderSn;
	// 订单总价 商品*数量 N 累加 + 运费
//	private BigDecimal amount;

//	<result column="order_amount" property="orderAmount" jdbcType="DECIMAL"/>
//	<result column="order_cost_amount" property="orderCostAmount" jdbcType="DECIMAL"/>

	private BigDecimal orderAmount;
	private BigDecimal orderCostAmount;
	/****************************************** 订单维度 ******************************************/


	// <result column="project_id" property="projectId" jdbcType="BIGINT"/>
	private Long       projectId;
	private String     projectName;

	// <result column="sale_id" property="saleId" jdbcType="BIGINT"/>
	private Long   saleId;
	private String saleName;

	private String serviceNo;
	@ApiModelProperty("弃用")
	private String serviceName;
	private String serviceNoName;


	private Integer orderState;
	private String  orderStateName;
	
	private Integer payType;
	private String  payTypeName;

	private Integer payState;
	private String  payStateName;



	// <result column="purchase_virt_id" property="purchaseVirtId" jdbcType="BIGINT"/>
	private Long   purchaseVirtId;
	private String purchaseVirtName;

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

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


	private Integer invoiceStatus;
	private String  invoiceStatusName;

	private String invoiceNumber;
	private String invoiceApplySn;

	private Date invApplyTime;
	private Date invMakeInvoiceTime;


	private String remarks;

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

	/****************************************** add by linjinyu at 20201221 start ******************************************/
	private String operAccount;
	private String operName;

	private Date updateTime;
	@ApiModelProperty("订单 下单时间")
	private Date createTime;
	@ApiModelProperty("订单 支付时间")
	private Date payTime;
	@ApiModelProperty("订单 发货时间")
	private Date sendTime;
	@ApiModelProperty("订单 完成时间")
	private Date finishTime;
	/****************************************** add by linjinyu at 20201221   end ******************************************/


	/****************************************** 商品维度 ******************************************/

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


	private String unit;

	/**
	 * 数量
	 */
	private Integer    quantity;
	/**
	 * 成交单价(有可能是销售价也有可能是扣后价)
	 */
	private BigDecimal price;
	/**
	 * 成本价
	 */
	private BigDecimal costPrice;
	/**
	 * 商品小计 成交单价(有可能是销售价也有可能是扣后价) * 数量
	 */
	private BigDecimal goodsAmount;
	/**
	 * 商品小计 商品成本价* 数量
	 */
	private BigDecimal goodsCostAmount;


	private Long    cateIdLv1;
	private String  cateNameLv1;
	private Long    cateIdLv2;
	private String  cateNameLv2;
	private Long    cateIdLv3;
	private String  cateNameLv3;
	/**
	 * 商品规格 add at 20201028
	 */
	private String  selfOption;
	private Integer direction;


	/**
	 * 财务编码
	 */
	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;


	/****************************************** 商品维度 ******************************************/

}