package com.pj.tb_goods;

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 com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.EqualsAndHashCode;

import lombok.Data;
import lombok.experimental.Accessors;

/**
 * Model: tb_goods -- 商品
 * @author qzy
 */
@Data
@Accessors(chain = true)
@TableName(TbGoods.TABLE_NAME)
@EqualsAndHashCode(callSuper = false)
public class TbGoods extends Model<TbGoods> implements Serializable {

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




	// ---------- 表中字段 ----------
	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;
	/**
	 * 互市区id
	 */
	private Long tradeAreaId;
	/**
	 *互市区名称
	 */
	private String tradeAreaName;
	/**
	 * 名称
	 */
	private String name;

	/**
	 * 主图
	 */
	private String avatar;

	/**
	 * 分类ID 字符串（可多选）
	 */
	private String typeIds;

	/**
	 * 分类名称
	 */
	private String typeNames;

	/**
	 * 编号
	 */
	private String code;

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

	/**
	 * 原产地
	 */
	private String source;

	/**
	 * 状态(0=禁用,1=启用)
	 */
	private int status;

	/**
	 * 商品单位
	 */
	private String unit;

	/**
	 * 维护价格
	 */
	private String singlePrice;

	/**
	 *
	 */
	private String taxNo;


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

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

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

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

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

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

	/**
	 * 删除状态(0=禁用,1=启用)
	 */
	private Integer deleteStatus;

	/**
	 * 第一计量单位
	 */
	private String unit1;
	/**
	 * 第二计量单位
	 */
	private String unit2;
	/**
	 * 用途
	 */
	private String useTo;
	/**
	 * 存储条件
	 */
	private String storageEnvm;
	/**
	 * 商品类目编码
	 */
	private String thrItemCode;
	/**
	 * 商品类目名称
	 */
	private String thrItemName;

}
