syntax = "proto3";
package  bom;

service BomService {
  rpc AutoSpu(AutoSpuRequest) returns (AutoSpuResponse);
}

message AutoSpuRequest {
  // @inject_tag: uri:"goods_name"
  string goods_name = 1;
}

message AutoSpuResponse{
  // @inject_tag: json:"error_code"
  int32 error_code = 1;
  // @inject_tag: json:"error_message"
  string error_message = 2;
  // @inject_tag: json:"data"
  repeated string data = 3;
}

message RecommendRequest{
  // @inject_tag: form:"goods_name"
  string goods_name = 1;
  // @inject_tag: form:"attrs"
  string attrs = 2;
  // @inject_tag: form:"encap"
  string encap = 3;
  // @inject_tag: form:"num"
  int32 num = 4;
  // @inject_tag: form:"delivery_type"
  int32 delivery_type = 5;
  // @inject_tag: form:"flag"
  int32 flag = 6;
  // @inject_tag: form:"brand_name"
  string brand_name = 7;
}

message ResponseData{
  // @inject_tag: json:"total"
  int64 total = 1;
  // @inject_tag: json:"flag"
  int32 flag = 2;
  // @inject_tag: json:"data"
  repeated GoodsModel data = 3;
}


message RecommendResponse{
  // @inject_tag: json:"error_code"
  int32 error_code = 1;
  // @inject_tag: json:"error_message"
  string error_message = 2;
  // @inject_tag: json:"data"
  ResponseData data = 3;
}


message OtherAttrs {
  string gross_wegiht = 1;
}

message LadderPrice {
  int64 purchases = 1;
  float price_cn = 2;
  float price_us = 3;
  float price_ac = 4;
}

message GoodsModel {
  // @inject_tag: json:"other_attrs"
  OtherAttrs other_attrs = 1;
  // @inject_tag: json:"pick_type"
  int64 pick_type = 2;
  // @inject_tag: json:"barcode"
  string barcode = 3;
  // @inject_tag: json:"goods_id"
  string goods_id = 4;
  // @inject_tag: json:"goods_type
  int64 goods_type = 5;
  // @inject_tag: json:"supplier_id"
  int64 supplier_id = 6;
  // @inject_tag: json:"brand_id"
  int64 brand_id = 7;
  // @inject_tag: json:"class_id1"
  int64 class_id1 = 8;
  // @inject_tag: json:"class_id2"
  int64 class_id2 = 9;
  // @inject_tag: json:"goods_name"
  string goods_name = 10;
  // @inject_tag: json:"status"
  int64 status = 11;
  // @inject_tag: json:"encoded"
  string encoded = 12;
  // @inject_tag: json:"encap"
  string encap = 13;
  // @inject_tag: json:"packing"
  int64 packing = 14;
  // @inject_tag: json:"goods_unit"
  int64 goods_unit = 15;
  // @inject_tag: json:"goods_images"
  bool goods_images = 16;
  // @inject_tag: json:"pdf"
  string pdf = 17;
  // @inject_tag: json:"goods_brief"
  string goods_brief = 18;
  // @inject_tag: json:"moq"
  int64 moq = 19;
  // @inject_tag: json:"mpq"
  int64 mpq = 20;
  // @inject_tag: json:"ladder_price"
  repeated LadderPrice ladder_price = 21;
  // @inject_tag: json:"update_time"
  int64 update_time = 22;
  // @inject_tag: json:"sku_name"
  string sku_name = 23;
  // @inject_tag: json:"mpl"
  int64 mpl = 24;
  // @inject_tag: json:"stock"
  int64 stock = 25;
  // @inject_tag: json:"attrs"
  string attrs = 26;
  // @inject_tag: json:"cost"
  string cost = 27;
  // @inject_tag: json:"new_cost"
  string new_cost = 28;
  // @inject_tag: json:"supplier_stock"
  int64 supplier_stock = 29;
  // @inject_tag: json:"self_supplier_type"
  int64 self_supplier_type = 30;
  // @inject_tag: json:"cn_delivery_time"
  string cn_delivery_time = 31;
  // @inject_tag: json:"brand_name"
  string brand_name = 32;
  // @inject_tag: json:"supplier_name"
  string supplier_name = 33;
  string goods_unit_name = 34;
  string packing_name = 35;
  string mpq_unit_name = 36;
  // @inject_tag: json:"ac_type"
  int64 ac_type = 37;
  int64 allow_coupon = 38;
  string class_id1_name = 39;
  string class_id2_name = 40;
  // @inject_tag: json:"otheis_buyr_attrs"
  int64 is_buy = 41;
  // @inject_tag: json:"hk_delivery_type"
  string hk_delivery_type = 42;
}