package com.bonus.canteen.core.supermarket.domain;

import java.math.BigDecimal;

import com.bonus.canteen.core.common.utils.FileUrlUtil;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 超市商城商品对象 supermarket_product
 * 
 * @author xsheng
 * @date 2025-05-15
 */


@Data
@ToString
public class SupermarketProduct extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 商品id */
    private Long productId;

    /** 超市id */
    @Excel(name = "超市id")
    @ApiModelProperty(value = "超市id")
    private Long supermarketId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    @ApiModelProperty(value = "商品名称")
    private String productName;

    /** 条码 */
    @Excel(name = "条码")
    @ApiModelProperty(value = "条码")
    private String barCode;

    /** 零售价 */
    @Excel(name = "零售价")
    @ApiModelProperty(value = "零售价")
    private Long salePrice;

    /** 计重类型 1  称重  2 按份 */
    @Excel(name = "计重类型 1  称重  2 按份")
    @ApiModelProperty(value = "计重类型 1  称重  2 按份")
    private String salesMode;

    /** 所属区域 */
    @Excel(name = "所属区域")
    @ApiModelProperty(value = "所属区域")
    private Long areaId;

    /** 商品单位   supermarket_unit */
    @Excel(name = "商品单位   supermarket_unit")
    @ApiModelProperty(value = "商品单位   supermarket_unit")
    private Long unitId;

    /** 类型(1原料2商品) */
    @Excel(name = "类型(1原料2商品)")
    @ApiModelProperty(value = "类型(1原料2商品)")
    private Long productType;

    /** 商品进价 */
    @Excel(name = "商品进价")
    @ApiModelProperty(value = "商品进价")
    private Long prefPrice;

    /** 保质期时间类别  1 年  2月  3日 */
    @Excel(name = "保质期时间类别  1 年  2月  3日")
    @ApiModelProperty(value = "保质期时间类别  1 年  2月  3日")
    private String qualityType;

    /** 保质期时间 */
    @Excel(name = "保质期时间")
    @ApiModelProperty(value = "保质期时间")
    private Long qualityNum;

    /** 供应资格证书 */
    @Excel(name = "供应资格证书")
    @ApiModelProperty(value = "供应资格证书")
    private String supplyCertificate;

    /** 商品介绍 （限50字） */
    @Excel(name = "商品介绍 ", readConverterExp = "限=50字")
    private String productRemark;

    /** 上架状态(1-上架,2-下架) */
    @Excel(name = "上架状态(1-上架,2-下架)")
    @ApiModelProperty(value = "上架状态(1-上架,2-下架)")
    private Long putawayState;

    /** 是否线上销售(1是2否) */
    @Excel(name = "是否线上销售(1是2否)")
    @ApiModelProperty(value = "是否线上销售(1是2否)")
    private Long ifOnline;

    /** 个人限购数量 */
    @Excel(name = "个人限购数量")
    @ApiModelProperty(value = "个人限购数量")
    private Long personLimit;

    /** 每日限购数量 */
    @Excel(name = "每日限购数量")
    @ApiModelProperty(value = "每日限购数量")
    private Long oneDayLimit;

    /** 图片 */
    @Excel(name = "图片")
    @ApiModelProperty(value = "图片")
    private String imgUrl;

    /** 库存数 */
    @Excel(name = "库存数")
    @ApiModelProperty(value = "库存数")
    private BigDecimal inventoryNum;

    /** 乐观锁  */
    @Excel(name = "乐观锁 ")
    @ApiModelProperty(value = "乐观锁 ")
    private Long revision;

    /** 商品编号 */
    @Excel(name = "商品编号")
    @ApiModelProperty(value = "商品编号")
    private String productCode;

    /** 状态 1启用  2禁用 */
    @Excel(name = "状态 1启用  2禁用")
    @ApiModelProperty(value = "状态 1启用  2禁用")
    private String state;

    public String getImgUrl() {
        return FileUrlUtil.getFileUrl(imgUrl);
    }
}
