package org.jeecg.modules.hotelgoods.entity;

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

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.modules.hotelgoodssku.entity.HotelGoodsSku;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: hotel_goods
 * @Author: jeecg-boot
 * @Date:   2024-09-11
 * @Version: V1.0
 */
@Data
@TableName("hotel_goods")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="hotel_goods对象", description="hotel_goods")
public class HotelGoods implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
    private java.lang.String id;
	/**商品名*/
	@Excel(name = "商品名", width = 15)
    @ApiModelProperty(value = "商品名")
    private java.lang.String name;
	/**商品图*/
	@Excel(name = "商品图", width = 15)
    @ApiModelProperty(value = "商品图")
    private java.lang.String pic;
	/**商家id*/
	@Dict(dictTable = "hotel_shop",dicCode = "id",dicText = "name")
	@Excel(name = "商家id", width = 15)
    @ApiModelProperty(value = "商家id")
    private java.lang.String shopId;
	/**规格id*/
    @Dict(dictTable = "hotel_goods_sku",dicCode = "id",dicText = "title")
	@Excel(name = "规格id", width = 15)
    @ApiModelProperty(value = "规格id")
    private java.lang.String skuId;
	/**商品详情*/
	@Excel(name = "商品详情", width = 15)
    @ApiModelProperty(value = "商品详情")
    private java.lang.String detail;
	/**是否上架 0否 1是*/
	@Dict(dicCode = "is_delete")
	@Excel(name = "是否上架 0否 1是", width = 15)
    @ApiModelProperty(value = "是否上架 0否 1是")
    private java.lang.Integer upFlag;
	/**排序*/
	@Excel(name = "排序", width = 15)
    @ApiModelProperty(value = "排序")
    private java.lang.Integer sort;
	/**是否删除 0否 1是*/
	@TableLogic
	@Dict(dicCode = "is_delete")
	@Excel(name = "是否删除 0否 1是", width = 15)
    @ApiModelProperty(value = "是否删除 0否 1是")
    private java.lang.Integer delFlag;
	/**createTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
    private java.util.Date createTime;
	/**updateTime*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
    private java.util.Date updateTime;
    /**
     * 分类ID
     */
    @Dict(dictTable = "hotel_category",dicCode = "id",dicText = "name")
	private String categoryId;
    /**原价*/
    private BigDecimal originalPrice;
    /**已售数量*/
    private Integer soldNum;

	@TableField(exist = false)
	private List<HotelGoodsSku> hotelGoodsSkuList;
	@TableField(exist = false)
	private HotelGoodsSku goodsSku;
	/**押金*/
	@TableField(exist = false)
	private BigDecimal depositPrice;
	@TableField(exist = false)
	private String categoryName;
}
