package com.yunzhupaas.mdm.model.product;

import lombok.Data;
import java.util.*;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 商品信息
 * @版本： V5.2.7
 * @版权： Copyright @ 2025  深圳市乐程软件有限公司版权所有
 * @作者： 深圳市乐程软件有限公司
 * @日期： 2026-04-27
 */
@Data
@Schema(description = "表单参数")
public class ProductForm  {
    /** 主键 */
    @Schema(description = "主键")
    @JSONField(name = "product_id")
    private String productId;

    /** 乐观锁 **/
    @Schema(description = "乐观锁")
    @JsonProperty("f_version")
    @JSONField(name = "f_version")
    private Integer version;

    /** 商品编码 **/
    @Schema(description = "商品编码")
    @JsonProperty("product_code")
    @JSONField(name = "product_code")
    private String productCode;
    /** 商品名称 **/
    @Schema(description = "商品名称")
    @JsonProperty("product_name")
    @JSONField(name = "product_name")
    private String productName;
    /** 商品类型 **/
    @Schema(description = "商品类型")
    @JsonProperty("product_type")
    @JSONField(name = "product_type")
    private Object productType;
    /** 商品分类 **/
    @Schema(description = "商品分类")
    @JsonProperty("product_category")
    @JSONField(name = "product_category")
    private Object productCategory;
    /** 商品简称 **/
    @Schema(description = "商品简称")
    @JsonProperty("short_name")
    @JSONField(name = "short_name")
    private String shortName;
    /** 品牌 **/
    @Schema(description = "品牌")
    @JsonProperty("brand")
    @JSONField(name = "brand")
    private String brand;
    /** 规格型号 **/
    @Schema(description = "规格型号")
    @JsonProperty("product_model")
    @JSONField(name = "product_model")
    private String productModel;
    /** 颜色 **/
    @Schema(description = "颜色")
    @JsonProperty("color")
    @JSONField(name = "color")
    private String color;
    /** 尺寸/规格 **/
    @Schema(description = "尺寸/规格")
    @JsonProperty("product_size")
    @JSONField(name = "product_size")
    private String productSize;
    /** 重量 **/
    @Schema(description = "重量")
    @JsonProperty("weight")
    @JSONField(name = "weight")
    private String weight;
    /** 最小起订量 **/
    @Schema(description = "最小起订量")
    @JsonProperty("min_order_quantity")
    @JSONField(name = "min_order_quantity")
    private BigDecimal minOrderQuantity;
    /** 标准销售单价 **/
    @Schema(description = "标准销售单价")
    @JsonProperty("standard_sales_price")
    @JSONField(name = "standard_sales_price")
    private BigDecimal standardSalesPrice;
    /** 毛重 **/
    @Schema(description = "毛重")
    @JsonProperty("gross_weight")
    @JSONField(name = "gross_weight")
    private BigDecimal grossWeight;
    /** 净重 **/
    @Schema(description = "净重")
    @JsonProperty("net_weight")
    @JSONField(name = "net_weight")
    private BigDecimal netWeight;
    /** 单位名称 **/
    @Schema(description = "单位名称")
    @JsonProperty("unit_name")
    @JSONField(name = "unit_name")
    private String unitName;
    /** 包装尺寸 **/
    @Schema(description = "包装尺寸")
    @JsonProperty("packagesize")
    @JSONField(name = "packagesize")
    private String packagesize;
    /** 成本价 **/
    @Schema(description = "成本价")
    @JsonProperty("cost_price")
    @JSONField(name = "cost_price")
    private BigDecimal costPrice;
    /** 保修期 **/
    @Schema(description = "保修期")
    @JsonProperty("warranty_period")
    @JSONField(name = "warranty_period")
    private BigDecimal warrantyPeriod;
    /** 税率 **/
    @Schema(description = "税率")
    @JsonProperty("tax_rate")
    @JSONField(name = "tax_rate")
    private Object taxRate;
    /** 税收分类 **/
    @Schema(description = "税收分类")
    @JsonProperty("tax_code")
    @JSONField(name = "tax_code")
    private Object taxCode;
    /** 保修条款 **/
    @Schema(description = "保修条款")
    @JsonProperty("warranty_terms")
    @JSONField(name = "warranty_terms")
    private String warrantyTerms;
    /** 备注 **/
    @Schema(description = "备注")
    @JsonProperty("remark")
    @JSONField(name = "remark")
    private String remark;

}
