package com.xunhong.erp.turbo.biz.infrastructure.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xunhong.erp.turbo.api.biz.dto.enums.BoxBrandTypeEnum;
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderPackageBoxTypeEnum;
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @author shenyifei
 */
@Data
@TableName(value = "order_package")
@EqualsAndHashCode(callSuper = true)
public class OrderPackageDO extends BaseDO<OrderPackageDO> {

	/**
	 * 记录ID
	 */
	@TableId(value = "order_package_id", type = IdType.ASSIGN_ID)
	private Long orderPackageId;

	/**
	 * 订单ID
	 */
	@TableField(value = "order_id")
	private Long orderId;

	/**
	 * 供应商记录ID
	 */
	@TableField(value = "order_supplier_id")
	private Long orderSupplierId;

	/**
	 * 箱子品牌ID
	 */
	@TableField(value = "box_brand_id")
	private Long boxBrandId;

	/**
	 * 箱子品牌名称
	 */
	@TableField(value = "box_brand_name")
	private String boxBrandName;

	/**
	 * 箱子品牌图片
	 */
	@TableField(value = "box_brand_image")
	private String boxBrandImage;

	/**
	 * 箱子品牌类型:1_我方纸箱；2_瓜农纸箱；3_第三方纸箱
	 */
	@TableField(value = "box_brand_type")
	private BoxBrandTypeEnum boxBrandType;

	/**
	 * 箱子规格id
	 */
	@TableField(value = "box_spec_id")
	private Long boxSpecId;

	/**
	 * 箱子规格名称
	 */
	@TableField(value = "box_spec_name")
	private String boxSpecName;

	/**
	 * 箱子产品ID
	 */
	@TableField(value = "box_product_id")
	private Long boxProductId;

	/**
	 * 箱子产品名称
	 */
	@TableField(value = "box_product_name")
	private String boxProductName;

	/**
	 * 单个箱子重量(kg)
	 */
	@TableField(value = "box_product_weight")
	private BigDecimal boxProductWeight;

	/**
	 * 箱子数量
	 */
	@TableField(value = "box_count")
	private Integer boxCount;

	/**
	 * 成本单价(元/个)
	 */
	@TableField(value = "box_cost_price")
	private BigDecimal boxCostPrice;

	/**
	 * 销售单价(元/个)
	 */
	@TableField(value = "box_sale_price")
	private BigDecimal boxSalePrice;

	/**
	 * 箱子类型:1_本次使用；2_额外运输；3_已使用额外运输；4_车上剩余；5_瓜农纸箱；6_空箱；
	 */
	@TableField(value = "box_type")
	private OrderPackageBoxTypeEnum boxType;

}
