package com.liangjian.dataplatform.member.entity.po.elasticsearch;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;


/**
 * @author 黄树文
 * @date 2020/3/10 9:33
 */
@Data
@Accessors(chain = true)
@Document(indexName = "product", type = "_doc")
public class ProductData {

    @Id
    private Long _id;

    @Field(name = "ProductCode")
    @JsonProperty("ProductCode")
    private Integer ProductCode;

    @Field(name = "MainProductCode")
    @JsonProperty("MainProductCode")
    private Integer MainProductCode;

    @Field(name = "CreationDate")
    @JsonProperty("CreationDate")
    private String CreationDate;

    @Field(name = "LastModified")
    @JsonProperty("LastModified")
    private String LastModified;

    @Field(name = "ProductName")
    @JsonProperty("ProductName")
    private String ProductName;

    @Field(name = "ClassCode")
    @JsonProperty("ClassCode")
    private String ClassCode;

    @Field(name = "CommonTitle")
    @JsonProperty("CommonTitle")
    private String CommonTitle;

    @Field(name = "Introduction")
    @JsonProperty("Introduction")
    private String Introduction;

    @Field(name = "Unit")
    @JsonProperty("Unit")
    private String Unit;

    @Field(name = "Manufacturer")
    @JsonProperty("Manufacturer")
    private String Manufacturer;

    @Field(name = "Packing")
    @JsonProperty("Packing")
    private String Packing;

    @Field(name = "ProductStatusType")
    @JsonProperty("ProductStatusType")
    private Integer ProductStatusType;

    @Field(name = "IsVisible")
    @JsonProperty("IsVisible")
    private Boolean IsVisible;

    @Field(name = "PurchasePrice")
    @JsonProperty("PurchasePrice")
    private Integer PurchasePrice;

    @Field(name = "MarketPrice")
    @JsonProperty("MarketPrice")
    private Integer MarketPrice;

    @Field(name = "OurPrice")
    @JsonProperty("OurPrice")
    private Integer OurPrice;

    @Field(name = "AppreciationPrice")
    @JsonProperty("AppreciationPrice")
    private Integer AppreciationPrice;

    @Field(name = "ProfitLevel")
    @JsonProperty("ProfitLevel")
    private String ProfitLevel;

    @Field(name = "Manual")
    @JsonProperty("Manual")
    private String Manual;

    @Field(name = "WapManual")
    @JsonProperty("WapManual")
    private String WapManual;

    @Field(name = "Views")
    @JsonProperty("Views")
    private Integer Views;

    @Field(name = "PriceSectorPricing")
    @JsonProperty("PriceSectorPricing")
    private Integer PriceSectorPricing;

    @Field(name = "BrandCode")
    @JsonProperty("BrandCode")
    private Integer BrandCode;

    @Field(name = "ProductType")
    @JsonProperty("ProductType")
    private String ProductType;

    @Field(name = "Inspection")
    @JsonProperty("Inspection")
    private String Inspection;

    @Field(name = "Composition")
    @JsonProperty("Composition")
    private String Composition;

    @Field(name = "Weight")
    @JsonProperty("Weight")
    private Integer Weight;

    @Field(name = "GmpCode")
    @JsonProperty("GmpCode")
    private String GmpCode;

    @Field(name = "GmpCertificateUrl")
    @JsonProperty("GmpCertificateUrl")
    private String GmpCertificateUrl;

    @Field(name = "ProductImageUrl")
    @JsonProperty("ProductImageUrl")
    private String ProductImageUrl;

    @Field(name = "ThumbnailUrl")
    @JsonProperty("ThumbnailUrl")
    private String ThumbnailUrl;

    @Field(name = "Img100")
    @JsonProperty("Img100")
    private String Img100;

    @Field(name = "Img180")
    @JsonProperty("Img180")
    private String Img180;

    @Field(name = "Img320")
    @JsonProperty("Img320")
    private String Img320;

    @Field(name = "StandardCode")
    @JsonProperty("StandardCode")
    private String StandardCode;

    @Field(name = "BarCode")
    @JsonProperty("BarCode")
    private String BarCode;

    @Field(name = "ApprovalNumber")
    @JsonProperty("ApprovalNumber")
    private String ApprovalNumber;

    @Field(name = "ProductAttribute")
    @JsonProperty("ProductAttribute")
    private String ProductAttribute;

    @Field(name = "Formulation")
    @JsonProperty("Formulation")
    private String Formulation;

    @Field(name = "PrescriptionType")
    @JsonProperty("PrescriptionType")
    private Integer PrescriptionType;

    @Field(name = "PurchaseWhile")
    @JsonProperty("PurchaseWhile")
    private String PurchaseWhile;

    @Field(name = "HealthInsuranceType")
    @JsonProperty("HealthInsuranceType")
    private Integer HealthInsuranceType;

    @Field(name = "ConsumeDays")
    @JsonProperty("ConsumeDays")
    private Integer ConsumeDays;

    @Field(name = "ProductTag")
    @JsonProperty("ProductTag")
    private String ProductTag;

    @Field(name = "IsGifts")
    @JsonProperty("IsGifts")
    private Boolean IsGifts;

    @Field(name = "Standards")
    @JsonProperty("Standards")
    private String Standards;

    @Field(name = "Dosage")
    @JsonProperty("Dosage")
    private String Dosage;

    @Field(name = "MassDate")
    @JsonProperty("MassDate")
    private Integer MassDate;

    @Field(name = "Storage")
    @JsonProperty("Storage")
    private String Storage;

    @Field(name = "IsControl")
    @JsonProperty("IsControl")
    private Boolean IsControl;

    @Field( "ControlNumber")
    @JsonProperty("ControlNumber")
    private Integer ControlNumber;

    @Field(name = "PackingNumber")
    @JsonProperty("PackingNumber")
    private Integer PackingNumber;

    @Field(name = "PinyinCode")
    @JsonProperty("PinyinCode")
    private String PinyinCode;

    @Field(name = "PinyinFullCode")
    @JsonProperty("PinyinFullCode")
    private String PinyinFullCode;

    @Field(name = "ProductLine")
    @JsonProperty("ProductLine")
    private String ProductLine;

    @Field(name = "SubProductLine")
    @JsonProperty("SubProductLine")
    private String SubProductLine;

    @Field(name = "IsRecommend")
    @JsonProperty("IsRecommend")
    private Boolean IsRecommend;

    @Field(name = "SFDACode")
    @JsonProperty("SFDACode")
    private String SFDACode;

    @Field(name = "SFDAApprovalValidDate")
    @JsonProperty("SFDAApprovalValidDate")
    private String SFDAApprovalValidDate;

    @Field(name = "SFDAGmpCertificateDate")
    @JsonProperty("SFDAGmpCertificateDate")
    private String SFDAGmpCertificateDate;

    @Field(name = "SFDAStatus")
    @JsonProperty("SFDAStatus")
    private Integer SFDAStatus;

    @Field(name = "QcClass")
    @JsonProperty("QcClass")
    private Integer QcClass;

    @Field(name = "SyncStatus")
    @JsonProperty("SyncStatus")
    private String SyncStatus;

    @Field(name = "recordState")
    @JsonProperty("recordState")
    private Integer recordState;

    @Field(name = "IsSuit")
    @JsonProperty("IsSuit")
    private Boolean IsSuit;

    @Field(name = "SuitDescription")
    @JsonProperty("SuitDescription")
    private String SuitDescription;

    @Field(name = "FinancialType")
    @JsonProperty("FinancialType")
    private String FinancialType;

    @Field(name = "ProudctDescription")
    @JsonProperty("ProudctDescription")
    private String ProudctDescription;

    @Field(name = "PlureProductStatusType")
    @JsonProperty("PlureProductStatusType")
    private Integer PlureProductStatusType;

    @Field(name = "Productmainmaterial")
    @JsonProperty("Productmainmaterial")
    private String Productmainmaterial;

    @Field(name = "Productusecrowd")
    @JsonProperty("Productusecrowd")
    private String Productusecrowd;

    @Field(name = "Displaytab")
    @JsonProperty("Displaytab")
    private Boolean Displaytab;

    @Field(name = "EnglishName")
    @JsonProperty("EnglishName")
    private String EnglishName;

    @Field(name = "ChemicalName")
    @JsonProperty("ChemicalName")
    private String ChemicalName;

    @Field(name = "Structure")
    @JsonProperty("Structure")
    private String Structure;

    @Field(name = "Formula")
    @JsonProperty("Formula")
    private String Formula;

    @Field(name = "Molecular")
    @JsonProperty("Molecular")
    private String Molecular;

    @Field(name = "Characters")
    @JsonProperty("Characters")
    private String Characters;

    @Field(name = "Adverse")
    @JsonProperty("Adverse")
    private String Adverse;

    @Field(name = "Taboo")
    @JsonProperty("Taboo")
    private String Taboo;

    @Field(name = "Precautions")
    @JsonProperty("Precautions")
    private String Precautions;

    @Field(name = "Child")
    @JsonProperty("Child")
    private String Child;

    @Field(name = "OlderPatients")
    @JsonProperty("OlderPatients")
    private String OlderPatients;

    @Field(name = "PregnantWoman")
    @JsonProperty("PregnantWoman")
    private String PregnantWoman;

    @Field(name = "DrugInteractions")
    @JsonProperty("DrugInteractions")
    private String DrugInteractions;

    @Field(name = "Overdose")
    @JsonProperty("Overdose")
    private String Overdose;

    @Field(name = "Pharmaco")
    @JsonProperty("Pharmaco")
    private String Pharmaco;

    @Field(name = "Pharmacokinetics")
    @JsonProperty("Pharmacokinetics")
    private String Pharmacokinetics;

    @Field(name = "PackingProduct")
    @JsonProperty("PackingProduct")
    private String PackingProduct;

    @Field(name = "ExternalID")
    @JsonProperty("ExternalID")
    private String ExternalID;

    @Field(name = "Remark")
    @JsonProperty("Remark")
    private String Remark;

    @Field(name = "ProductHotType")
    @JsonProperty("ProductHotType")
    private Integer ProductHotType;

    @Field(name = "MobilephoneUrl")
    @JsonProperty("MobilephoneUrl")
    private String MobilephoneUrl;

    @Field(name = "BtManual")
    @JsonProperty("BtManual")
    private String BtManual;

    @Field(name = "ProductRecommend")
    @JsonProperty("ProductRecommend")
    private String ProductRecommend;

    @Field(name = "ToErp")
    @JsonProperty("ToErp")
    private String ToErp;

    @Field(name = "ProductusecrowdCode")
    @JsonProperty("ProductusecrowdCode")
    private String ProductusecrowdCode;

    @Field(name = "PlaceCode")
    @JsonProperty("PlaceCode")
    private Integer PlaceCode;

    @Field(name = "FormulationCode")
    @JsonProperty("FormulationCode")
    private Integer FormulationCode;

    @Field(name = "UsageCode")
    @JsonProperty("UsageCode")
    private Integer UsageCode;

    @Field(name = "ManufacturerCode")
    @JsonProperty("ManufacturerCode")
    private Integer ManufacturerCode;

    @Field(name = "ShowMall")
    @JsonProperty("ShowMall")
    private String ShowMall;

    @Field(name = "DivisionCode")
    @JsonProperty("DivisionCode")
    private String DivisionCode;

    @Field(name = "BranchCode")
    @JsonProperty("BranchCode")
    private Integer BranchCode;

    @Field(name = "MerchantManageCode")
    @JsonProperty("MerchantManageCode")
    private Integer MerchantManageCode;

    @Field(name = "MinMarketPrice")
    @JsonProperty("MinMarketPrice")
    private Integer MinMarketPrice;

    @Field(name = "CheckPendingPrice")
    @JsonProperty("CheckPendingPrice")
    private Integer CheckPendingPrice;

    @Field(name = "ControlAreaRegion")
    @JsonProperty("ControlAreaRegion")
    private String ControlAreaRegion;

    @Field(name = "ProductCodeForOutOfStock")
    @JsonProperty("ProductCodeForOutOfStock")
    private Integer ProductCodeForOutOfStock;

    @Field(name = "IsLimitPrice")
    @JsonProperty("IsLimitPrice")
    private Boolean IsLimitPrice;

    @Field(name = "CommonTitlePinyin")
    @JsonProperty("CommonTitlePinyin")
    private String CommonTitlePinyin;

    @Field(name = "ProductInventory")
    @JsonProperty("ProductInventory")
    private Integer ProductInventory;

    @Field(name = "PostageLogo")
    @JsonProperty("PostageLogo")
    private Boolean PostageLogo;

    @Field(name = "Quantity")
    @JsonProperty("Quantity")
    private Integer Quantity;

    @Field(name = "IsDrugRecord")
    @JsonProperty("IsDrugRecord")
    private Boolean IsDrugRecord;

    @Field(name = "OutOfStockRecommendCodes")
    @JsonProperty("OutOfStockRecommendCodes")
    private String OutOfStockRecommendCodes;

    @Field(name = "GiftCategory")
    @JsonProperty("GiftCategory")
    private String GiftCategory;

    @Field(name = "BusinessIds")
    @JsonProperty("BusinessIds")
    private String BusinessIds;

    @Field(name = "CategoryType")
    @JsonProperty("CategoryType")
    private Integer CategoryType;

    @Field(name = "XQuantity")
    @JsonProperty("XQuantity")
    private Integer XQuantity;

    @Field(name = "UserName")
    @JsonProperty("UserName")
    private String UserName;

    @Field(name = "Comment")
    @JsonProperty("Comment")
    private String Comment;

    @Field(name = "CQuantity")
    @JsonProperty("CQuantity")
    private Integer CQuantity;

}
