package com.prolog.eis.model.shelves;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.prolog.framework.core.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Table("limited_goods_allocation_info")
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
public class LimitedGoodsAllocationInfo {
    @Id
    @Column("id")
    @ApiModelProperty("主键")
    @AutoKey(type = AutoKey.TYPE_IDENTITY)
    private Integer id;

    @Column("goods_owner_id")
    @ApiModelProperty("货主编号")
    private String goodsOwnerId;

    @Column("goods_owner_name")
    @ApiModelProperty("货主名称")
    private String goodsOwnerName;

    @Column("goods_barcode")
    @ApiModelProperty("商品条码")
    private String goodsBarcode;

    @Column("goods_name")
    @ApiModelProperty("商品名称")
    private String goodsName;

    @Column("goods_type")
    @ApiModelProperty("商品规格")
    private String goodsType;

    @Column("goods_category")
    @ApiModelProperty("商品大类")
    private Integer goodsBigType;

    @Column("limited_area")
    @ApiModelProperty("限定区域")
    private String limitedArea;

    @Column("create_by")
    @ApiModelProperty("创建人")
    private String createBy;

    @Column("create_time")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date createTime = new Date();

    @Column("update_by")
    @ApiModelProperty("更新人")
    private String updateBy;

    @Column("update_time")
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    private Date updateTime;

    @Column("notes")
    @ApiModelProperty("备注")
    private String notes;

    @Ignore
    @ApiModelProperty("状态描述")
    private String stateDescription;

    @Ignore
    @ApiModelProperty("goodsBigType对应中文")
    private String goodsBigTypeStr;
}
