package com.pj.tb_goods_demand;

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

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.EqualsAndHashCode;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * Model: tb_goods_demand -- 二级收购商需求发布表
 * @author yzs
 */
@Data
@Accessors(chain = true)
@TableName(TbGoodsDemand.TABLE_NAME)
@EqualsAndHashCode(callSuper = false)
public class TbGoodsDemand extends Model<TbGoodsDemand> implements Serializable {

	// ---------- 模块常量 ----------
	/**
	 * 序列化版本id
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 此模块对应的表名
	 */
	public static final String TABLE_NAME = "tb_goods_demand";
	/**
	 * 此模块对应的权限码
	 */
	public static final String PERMISSION_CODE = "tb-goods-demand";
	public static final String PERMISSION_CODE_ADD = "tb-goods-demand-add";
	public static final String PERMISSION_CODE_EDIT = "tb-goods-demand-edit";
	public static final String PERMISSION_CODE_DEL = "tb-goods-demand-del";




	// ---------- 表中字段 ----------
	/**
	 * 二级市场商家需求发布表主键ID
	 */
	@TableId(type = IdType.AUTO)
	private Long id;

	/**
	 * 一级市场海关允许售卖商品ID
	 */
	private Long levelOneGoodsId;

	/**
	 * 商品名称
	 */
	private String goodsName;

	/**
	 * 商品图片
	 */
	private String goodsImg;

	/**
	 * 二级市场商家ID
	 */
	private Long purchaserId;

	/**
	 * 商家名称
	 */
	private String purchaserName;

	/**
	 * 已被接单
	 */
	private Integer isOrders;

	/**
	 * 商品量(根据海关允许发布表的计量单位决定,例如:柜,KG,吨)
	 */
	private String goodsQuantity;

	/**
	 * 商家备注
	 */
	private String remark;

	/**
	 * 创建人编号
	 */
	private Long createBy;

	/**
	 * 创建人名称
	 */
	private String createName;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date createTime;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date updateTime;

	/**
	 * 到货时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date arrivalTime;


	/**
	 * 更新人编号
	 */
	private Long updateBy;

	/**
	 * 更新人名称
	 */
	private String updateName;

	/**
	 * 计价单位
	 */
	private String goodsUnit;

	/**
	 * 商品编号
	 */
	private String goodsNo;

	/**
	 * 删除状态
	 */
	private Integer deleteStatus;

	/**
	 * 互市区ID
	 */
	private Long tradeAreaId;

	/**
	 * 互市区名称
	 */
	private String tradeAreaName;

	/**
	 * 是否发布
	 */
	private Integer isRelease;

	/**
	 * 收件地址
	 */
	private String addressName;

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

	/**
	 * 收件人姓名
	 */
	private String name;

	/**
	 * 收购商是否确认:0=未确认,1=已确认
	 */
	private Integer isConfirm;

}
