Commit d62003c2 by huangchengyi

1.0

parent 61058135
...@@ -3,6 +3,7 @@ package main ...@@ -3,6 +3,7 @@ package main
import ( import (
"flag" "flag"
"go_sku_server/boot" "go_sku_server/boot"
"go_sku_server/pkg/logger"
"go_sku_server/service" "go_sku_server/service"
) )
...@@ -19,7 +20,8 @@ func main() { ...@@ -19,7 +20,8 @@ func main() {
panic(err) panic(err)
} }
logger.Log("dddd","3333",1)
ZyCronService := service.ZyCronService{} ZyCronService := service.ZyCronService{}
ZyCronService.ZyDiscount(goods_id) ZyCronService.ZyDiscount(goods_id)
} }
2020-10-13 16:38:11----dddd
\ No newline at end of file
2020-10-13 16:44:56----dddd
2020-10-13 16:59:28----dddd
\ No newline at end of file
;存放数据库连接信息 ;存放数据库连接信息
[gorm] [xorm]
mode = debug ShowSQL = false
[spu] [spu]
user_name = spu user_name = spu
......
;总配置信息
[web]
port = 9000
mode = debug
cors_domain = http://bom.liexin.com
[message]
api_domain = http://api.ichunt.com/msg/sendMessageByAuto
api_md5_str = fh6y5t4rr351d2c3bryi
;钉钉配置信息
[DINGDING]
SEARCH_API_MONITOR = 6d0fa85e01a02c39347d011ae973fd21b76c6c7ce582d3ea470c6b65a318848d
;存放数据库连接信息
[gorm]
mode = debug
[spu]
user_name = spu
password = spu
host = 192.168.1.235
database = liexin_spu
table_prefix =lie_
type = mysql
[liexin_data]
user_name = spu
password = spu
host = 192.168.1.235
database = liexin_data
table_prefix =lie_
type = mysql
#线上地址
#SupDbUser:Supssy2@@!!@$#yxy@172.18.137.21:3306/liexin_supp
[supp]
user_name = liexin_ass
password = `liexin_ass#zsyM`
host = 192.168.2.232
database = liexin_ass
table_prefix =lie_
type = mysql
[cms]
user_name = ichuntcms
password = `ichuntcms#zsyM`
host = 192.168.2.232
database = ichuntcms
table_prefix =
type = mysql
;存放mongodb连接信息
[mongo]
host = 192.168.1.237:27017
username = "ichunt"
password = "huntmon6699"
database = ichunt
maxPoolSize=100
\ No newline at end of file
;存放rabmq连接信息
[rabmq]
url = amqp://guest:guest@192.168.2.232:5672/
;存放本系统所有的队列名称
[rabmq_all]
; bom任务id
MQ_BOM_ITEMS_LIST=bom_items_list
;redis连接信息
[default_redis_read]
host = 192.168.1.235:6379
password = icDb29mLy2s
max_idle = 5000
max_active = 3000
idle_timeout = 20
[default_redis_write]
host = 192.168.1.235:6379
password = icDb29mLy2s
max_idle = 5000
max_active = 3000
idle_timeout = 20
;存放redis所有键
[redis_all]
\ No newline at end of file
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
[web] [web]
port = 9000 port = 9000
mode = debug mode = debug
cors_domain = http://bom.liexin.com
[message] [message]
api_domain = http://api.ichunt.com/msg/sendMessageByAuto api_domain = http://api.ichunt.com/msg/sendMessageByAuto
......
;存放数据库连接信息 ;存放数据库连接信息
[gorm] [xorm]
mode = debug ShowSQL = false
[spu] [spu]
user_name = spu user_name = LxiCSpu
password = spu password = `Mysx3Tyzlo00oxlmlly`
host = 192.168.1.235 host = 172.18.137.21
database = liexin_spu database = liexin_spu
table_prefix =lie_ table_prefix =lie_
type = mysql type = mysql
[liexin_data] [liexin_data]
user_name = spu user_name = LxDDUsedRead
password = spu password = `0o9u0Ux2oAoYddflmxXtZss`
host = 192.168.1.235 host = 172.18.137.33
database = liexin_data database = liexin_data
table_prefix =lie_ table_prefix =lie_
type = mysql type = mysql
#线上地址
#SupDbUser:Supssy2@@!!@$#yxy@172.18.137.21:3306/liexin_supp
[supp] [supp]
user_name = liexin_ass user_name = SupDbUser
password = `liexin_ass#zsyM` password = `Supssy2@@!!@$#yxy`
host = 192.168.2.232 host = 172.18.137.21
database = liexin_ass database = liexin_supp
table_prefix =lie_ table_prefix =lie_
type = mysql type = mysql
[cms] [cms]
user_name = ichuntcms user_name = dtuser
password = `ichuntcms#zsyM` password = `dAtaL#ym2902m2lLX2y33`
host = 192.168.2.232 host = appdb-master.ichunt.db
database = ichuntcms database = icdata
table_prefix = table_prefix =
type = mysql type = mysql
;存放mongodb连接信息 ;存放mongodb连接信息
[mongo] [mongo]
host = 192.168.1.237:27017 host = 172.18.137.23:27017
username = "ichunt" username = "ichunt"
password = "huntmon6699" password = "huntmon66499"
database = ichunt database = ichunt
maxPoolSize=100 maxPoolSize=100
\ No newline at end of file
;redis连接信息 ;redis连接信息
[default_redis_read] [default_redis_read]
host = 192.168.1.235:6379 host = 172.18.137.38:6379
password = icDb29mLy2s password = icDb29mLy2s
max_idle = 5000 max_idle = 500
max_active = 3000 max_active = 500
idle_timeout = 20 idle_timeout = 20
[default_redis_write] [default_redis_write]
host = 192.168.1.235:6379 host = 172.18.137.39:6379
password = icDb29mLy2s password = icDb29mLy2s
max_idle = 5000 max_idle = 500
max_active = 3000 max_active = 500
idle_timeout = 20 idle_timeout = 20
;存放redis所有键 ;存放redis所有键
......
...@@ -3,12 +3,14 @@ package main ...@@ -3,12 +3,14 @@ package main
import ( import (
"fmt" "fmt"
"github.com/tidwall/gjson" "github.com/tidwall/gjson"
"os"
"reflect" "reflect"
"math" "math"
) )
func main() { func main() {
fmt.Print(round(1.163,1)) path,_:=os.Getwd()
fmt.Print(path)
return return
......
*
!.gitignore
\ No newline at end of file
...@@ -4,8 +4,9 @@ import ( ...@@ -4,8 +4,9 @@ import (
"fmt" "fmt"
"io" "io"
"os" "os"
"time" "path/filepath"
"strings" "strings"
"time"
) )
func check(e error) { func check(e error) {
...@@ -32,8 +33,9 @@ func Log(writeString string,log_file_pre string,types int) { ...@@ -32,8 +33,9 @@ func Log(writeString string,log_file_pre string,types int) {
log_file_pre = "_"+log_file_pre log_file_pre = "_"+log_file_pre
date := time.Now().Format("2006-01-02") date := time.Now().Format("2006-01-02")
date2 := time.Now().Format("2006-01-02 15:04:05") date2 := time.Now().Format("2006-01-02 15:04:05")
var filename = "./logs/"+date+log_file_pre+".txt" path,_:=os.Getwd()
CreateDateDir(path,"mylogs")
var filename = path+"/mylogs/"+date+log_file_pre+".txt"
var f *os.File var f *os.File
var err1 error var err1 error
if checkFileIsExist(filename) { //如果文件存在 if checkFileIsExist(filename) { //如果文件存在
...@@ -49,6 +51,21 @@ func Log(writeString string,log_file_pre string,types int) { ...@@ -49,6 +51,21 @@ func Log(writeString string,log_file_pre string,types int) {
} }
//fmt.Print(err) //fmt.Print(err)
} }
// CreateDateDir 根据当前日期来创建文件夹
func CreateDateDir(Path string,folderName string) string {
if folderName == "" {
folderName = time.Now().Format("20060102")
}
folderPath := filepath.Join(Path, folderName)
if _, err := os.Stat(folderPath); os.IsNotExist(err) {
// 必须分成两步:先创建文件夹、再修改权限
os.Mkdir(folderPath, 0755) //0777也可以os.ModePerm
os.Chmod(folderPath, 0755)
}
return folderPath
}
// StrReplace str_replace() // StrReplace str_replace()
func StrReplace(search, replace, subject string, count int) string { func StrReplace(search, replace, subject string, count int) string {
return strings.Replace(subject, search, replace, count) return strings.Replace(subject, search, replace, count)
......
...@@ -29,7 +29,8 @@ func Setup() error { ...@@ -29,7 +29,8 @@ func Setup() error {
} }
//日志打印SQL //日志打印SQL
DatabaseConMap[conName].ShowSQL(true) ShowSql,_ := config.Get("xorm.ShowSQL").Bool()
DatabaseConMap[conName].ShowSQL(ShowSql)
//设置连接池的空闲数大小 //设置连接池的空闲数大小
DatabaseConMap[conName].SetMaxIdleConns(db.MaxIdleCons) DatabaseConMap[conName].SetMaxIdleConns(db.MaxIdleCons)
......
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: bom.proto
package bom
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type AutoSpuRequest struct {
// @inject_tag: uri:"goods_name"
GoodsName string `protobuf:"bytes,1,opt,name=goods_name,json=goodsName,proto3" json:"goods_name,omitempty" uri:"goods_name"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AutoSpuRequest) Reset() { *m = AutoSpuRequest{} }
func (m *AutoSpuRequest) String() string { return proto.CompactTextString(m) }
func (*AutoSpuRequest) ProtoMessage() {}
func (*AutoSpuRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{0}
}
func (m *AutoSpuRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutoSpuRequest.Unmarshal(m, b)
}
func (m *AutoSpuRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutoSpuRequest.Marshal(b, m, deterministic)
}
func (m *AutoSpuRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutoSpuRequest.Merge(m, src)
}
func (m *AutoSpuRequest) XXX_Size() int {
return xxx_messageInfo_AutoSpuRequest.Size(m)
}
func (m *AutoSpuRequest) XXX_DiscardUnknown() {
xxx_messageInfo_AutoSpuRequest.DiscardUnknown(m)
}
var xxx_messageInfo_AutoSpuRequest proto.InternalMessageInfo
func (m *AutoSpuRequest) GetGoodsName() string {
if m != nil {
return m.GoodsName
}
return ""
}
type AutoSpuResponse struct {
// @inject_tag: json:"error_code"
ErrorCode int32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code"`
// @inject_tag: json:"error_message"
ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message"`
// @inject_tag: json:"data"
Data []string `protobuf:"bytes,3,rep,name=data,proto3" json:"data"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AutoSpuResponse) Reset() { *m = AutoSpuResponse{} }
func (m *AutoSpuResponse) String() string { return proto.CompactTextString(m) }
func (*AutoSpuResponse) ProtoMessage() {}
func (*AutoSpuResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{1}
}
func (m *AutoSpuResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AutoSpuResponse.Unmarshal(m, b)
}
func (m *AutoSpuResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AutoSpuResponse.Marshal(b, m, deterministic)
}
func (m *AutoSpuResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_AutoSpuResponse.Merge(m, src)
}
func (m *AutoSpuResponse) XXX_Size() int {
return xxx_messageInfo_AutoSpuResponse.Size(m)
}
func (m *AutoSpuResponse) XXX_DiscardUnknown() {
xxx_messageInfo_AutoSpuResponse.DiscardUnknown(m)
}
var xxx_messageInfo_AutoSpuResponse proto.InternalMessageInfo
func (m *AutoSpuResponse) GetErrorCode() int32 {
if m != nil {
return m.ErrorCode
}
return 0
}
func (m *AutoSpuResponse) GetErrorMessage() string {
if m != nil {
return m.ErrorMessage
}
return ""
}
func (m *AutoSpuResponse) GetData() []string {
if m != nil {
return m.Data
}
return nil
}
type RecommendRequest struct {
// @inject_tag: form:"goods_name"
GoodsName string `protobuf:"bytes,1,opt,name=goods_name,json=goodsName,proto3" json:"goods_name,omitempty" form:"goods_name"`
// @inject_tag: form:"attrs"
Attrs string `protobuf:"bytes,2,opt,name=attrs,proto3" json:"attrs,omitempty" form:"attrs"`
// @inject_tag: form:"encap"
Encap string `protobuf:"bytes,3,opt,name=encap,proto3" json:"encap,omitempty" form:"encap"`
// @inject_tag: form:"num"
Num int32 `protobuf:"varint,4,opt,name=num,proto3" json:"num,omitempty" form:"num"`
// @inject_tag: form:"delivery_type"
DeliveryType int32 `protobuf:"varint,5,opt,name=delivery_type,json=deliveryType,proto3" json:"delivery_type,omitempty" form:"delivery_type"`
// @inject_tag: form:"flag"
Flag int32 `protobuf:"varint,6,opt,name=flag,proto3" json:"flag,omitempty" form:"flag"`
// @inject_tag: form:"brand_name"
BrandName string `protobuf:"bytes,7,opt,name=brand_name,json=brandName,proto3" json:"brand_name,omitempty" form:"brand_name"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecommendRequest) Reset() { *m = RecommendRequest{} }
func (m *RecommendRequest) String() string { return proto.CompactTextString(m) }
func (*RecommendRequest) ProtoMessage() {}
func (*RecommendRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{2}
}
func (m *RecommendRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecommendRequest.Unmarshal(m, b)
}
func (m *RecommendRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecommendRequest.Marshal(b, m, deterministic)
}
func (m *RecommendRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecommendRequest.Merge(m, src)
}
func (m *RecommendRequest) XXX_Size() int {
return xxx_messageInfo_RecommendRequest.Size(m)
}
func (m *RecommendRequest) XXX_DiscardUnknown() {
xxx_messageInfo_RecommendRequest.DiscardUnknown(m)
}
var xxx_messageInfo_RecommendRequest proto.InternalMessageInfo
func (m *RecommendRequest) GetGoodsName() string {
if m != nil {
return m.GoodsName
}
return ""
}
func (m *RecommendRequest) GetAttrs() string {
if m != nil {
return m.Attrs
}
return ""
}
func (m *RecommendRequest) GetEncap() string {
if m != nil {
return m.Encap
}
return ""
}
func (m *RecommendRequest) GetNum() int32 {
if m != nil {
return m.Num
}
return 0
}
func (m *RecommendRequest) GetDeliveryType() int32 {
if m != nil {
return m.DeliveryType
}
return 0
}
func (m *RecommendRequest) GetFlag() int32 {
if m != nil {
return m.Flag
}
return 0
}
func (m *RecommendRequest) GetBrandName() string {
if m != nil {
return m.BrandName
}
return ""
}
type ResponseData struct {
// @inject_tag: json:"total"
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
// @inject_tag: json:"flag"
Flag int32 `protobuf:"varint,2,opt,name=flag,proto3" json:"flag"`
// @inject_tag: json:"data"
Data []*GoodsModel `protobuf:"bytes,3,rep,name=data,proto3" json:"data"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ResponseData) Reset() { *m = ResponseData{} }
func (m *ResponseData) String() string { return proto.CompactTextString(m) }
func (*ResponseData) ProtoMessage() {}
func (*ResponseData) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{3}
}
func (m *ResponseData) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResponseData.Unmarshal(m, b)
}
func (m *ResponseData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ResponseData.Marshal(b, m, deterministic)
}
func (m *ResponseData) XXX_Merge(src proto.Message) {
xxx_messageInfo_ResponseData.Merge(m, src)
}
func (m *ResponseData) XXX_Size() int {
return xxx_messageInfo_ResponseData.Size(m)
}
func (m *ResponseData) XXX_DiscardUnknown() {
xxx_messageInfo_ResponseData.DiscardUnknown(m)
}
var xxx_messageInfo_ResponseData proto.InternalMessageInfo
func (m *ResponseData) GetTotal() int64 {
if m != nil {
return m.Total
}
return 0
}
func (m *ResponseData) GetFlag() int32 {
if m != nil {
return m.Flag
}
return 0
}
func (m *ResponseData) GetData() []*GoodsModel {
if m != nil {
return m.Data
}
return nil
}
type RecommendResponse struct {
// @inject_tag: json:"error_code"
ErrorCode int32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code"`
// @inject_tag: json:"error_message"
ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message"`
// @inject_tag: json:"data"
Data *ResponseData `protobuf:"bytes,3,opt,name=data,proto3" json:"data"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RecommendResponse) Reset() { *m = RecommendResponse{} }
func (m *RecommendResponse) String() string { return proto.CompactTextString(m) }
func (*RecommendResponse) ProtoMessage() {}
func (*RecommendResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{4}
}
func (m *RecommendResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RecommendResponse.Unmarshal(m, b)
}
func (m *RecommendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RecommendResponse.Marshal(b, m, deterministic)
}
func (m *RecommendResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_RecommendResponse.Merge(m, src)
}
func (m *RecommendResponse) XXX_Size() int {
return xxx_messageInfo_RecommendResponse.Size(m)
}
func (m *RecommendResponse) XXX_DiscardUnknown() {
xxx_messageInfo_RecommendResponse.DiscardUnknown(m)
}
var xxx_messageInfo_RecommendResponse proto.InternalMessageInfo
func (m *RecommendResponse) GetErrorCode() int32 {
if m != nil {
return m.ErrorCode
}
return 0
}
func (m *RecommendResponse) GetErrorMessage() string {
if m != nil {
return m.ErrorMessage
}
return ""
}
func (m *RecommendResponse) GetData() *ResponseData {
if m != nil {
return m.Data
}
return nil
}
type OtherAttrs struct {
GrossWegiht string `protobuf:"bytes,1,opt,name=gross_wegiht,json=grossWegiht,proto3" json:"gross_wegiht,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OtherAttrs) Reset() { *m = OtherAttrs{} }
func (m *OtherAttrs) String() string { return proto.CompactTextString(m) }
func (*OtherAttrs) ProtoMessage() {}
func (*OtherAttrs) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{5}
}
func (m *OtherAttrs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OtherAttrs.Unmarshal(m, b)
}
func (m *OtherAttrs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OtherAttrs.Marshal(b, m, deterministic)
}
func (m *OtherAttrs) XXX_Merge(src proto.Message) {
xxx_messageInfo_OtherAttrs.Merge(m, src)
}
func (m *OtherAttrs) XXX_Size() int {
return xxx_messageInfo_OtherAttrs.Size(m)
}
func (m *OtherAttrs) XXX_DiscardUnknown() {
xxx_messageInfo_OtherAttrs.DiscardUnknown(m)
}
var xxx_messageInfo_OtherAttrs proto.InternalMessageInfo
func (m *OtherAttrs) GetGrossWegiht() string {
if m != nil {
return m.GrossWegiht
}
return ""
}
type LadderPrice struct {
Purchases int64 `protobuf:"varint,1,opt,name=purchases,proto3" json:"purchases,omitempty"`
PriceCn float32 `protobuf:"fixed32,2,opt,name=price_cn,json=priceCn,proto3" json:"price_cn,omitempty"`
PriceUs float32 `protobuf:"fixed32,3,opt,name=price_us,json=priceUs,proto3" json:"price_us,omitempty"`
PriceAc float32 `protobuf:"fixed32,4,opt,name=price_ac,json=priceAc,proto3" json:"price_ac,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LadderPrice) Reset() { *m = LadderPrice{} }
func (m *LadderPrice) String() string { return proto.CompactTextString(m) }
func (*LadderPrice) ProtoMessage() {}
func (*LadderPrice) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{6}
}
func (m *LadderPrice) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LadderPrice.Unmarshal(m, b)
}
func (m *LadderPrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LadderPrice.Marshal(b, m, deterministic)
}
func (m *LadderPrice) XXX_Merge(src proto.Message) {
xxx_messageInfo_LadderPrice.Merge(m, src)
}
func (m *LadderPrice) XXX_Size() int {
return xxx_messageInfo_LadderPrice.Size(m)
}
func (m *LadderPrice) XXX_DiscardUnknown() {
xxx_messageInfo_LadderPrice.DiscardUnknown(m)
}
var xxx_messageInfo_LadderPrice proto.InternalMessageInfo
func (m *LadderPrice) GetPurchases() int64 {
if m != nil {
return m.Purchases
}
return 0
}
func (m *LadderPrice) GetPriceCn() float32 {
if m != nil {
return m.PriceCn
}
return 0
}
func (m *LadderPrice) GetPriceUs() float32 {
if m != nil {
return m.PriceUs
}
return 0
}
func (m *LadderPrice) GetPriceAc() float32 {
if m != nil {
return m.PriceAc
}
return 0
}
type GoodsModel struct {
// @inject_tag: json:"other_attrs"
OtherAttrs *OtherAttrs `protobuf:"bytes,1,opt,name=other_attrs,json=otherAttrs,proto3" json:"other_attrs"`
// @inject_tag: json:"pick_type"
PickType int64 `protobuf:"varint,2,opt,name=pick_type,json=pickType,proto3" json:"pick_type"`
// @inject_tag: json:"barcode"
Barcode string `protobuf:"bytes,3,opt,name=barcode,proto3" json:"barcode"`
// @inject_tag: json:"goods_id"
GoodsId string `protobuf:"bytes,4,opt,name=goods_id,json=goodsId,proto3" json:"goods_id"`
// @inject_tag: json:"goods_type
GoodsType int64 `protobuf:"varint,5,opt,name=goods_type,json=goodsType,proto3" json:"goods_type,omitempty"`
// @inject_tag: json:"supplier_id"
SupplierId int64 `protobuf:"varint,6,opt,name=supplier_id,json=supplierId,proto3" json:"supplier_id"`
// @inject_tag: json:"brand_id"
BrandId int64 `protobuf:"varint,7,opt,name=brand_id,json=brandId,proto3" json:"brand_id"`
// @inject_tag: json:"class_id1"
ClassId1 int64 `protobuf:"varint,8,opt,name=class_id1,json=classId1,proto3" json:"class_id1"`
// @inject_tag: json:"class_id2"
ClassId2 int64 `protobuf:"varint,9,opt,name=class_id2,json=classId2,proto3" json:"class_id2"`
// @inject_tag: json:"goods_name"
GoodsName string `protobuf:"bytes,10,opt,name=goods_name,json=goodsName,proto3" json:"goods_name"`
// @inject_tag: json:"status"
Status int64 `protobuf:"varint,11,opt,name=status,proto3" json:"status"`
// @inject_tag: json:"encoded"
Encoded string `protobuf:"bytes,12,opt,name=encoded,proto3" json:"encoded"`
// @inject_tag: json:"encap"
Encap string `protobuf:"bytes,13,opt,name=encap,proto3" json:"encap"`
// @inject_tag: json:"packing"
Packing int64 `protobuf:"varint,14,opt,name=packing,proto3" json:"packing"`
// @inject_tag: json:"goods_unit"
GoodsUnit int64 `protobuf:"varint,15,opt,name=goods_unit,json=goodsUnit,proto3" json:"goods_unit"`
// @inject_tag: json:"goods_images"
GoodsImages bool `protobuf:"varint,16,opt,name=goods_images,json=goodsImages,proto3" json:"goods_images"`
// @inject_tag: json:"pdf"
Pdf string `protobuf:"bytes,17,opt,name=pdf,proto3" json:"pdf"`
// @inject_tag: json:"goods_brief"
GoodsBrief string `protobuf:"bytes,18,opt,name=goods_brief,json=goodsBrief,proto3" json:"goods_brief"`
// @inject_tag: json:"moq"
Moq int64 `protobuf:"varint,19,opt,name=moq,proto3" json:"moq"`
// @inject_tag: json:"mpq"
Mpq int64 `protobuf:"varint,20,opt,name=mpq,proto3" json:"mpq"`
// @inject_tag: json:"ladder_price"
LadderPrice []*LadderPrice `protobuf:"bytes,21,rep,name=ladder_price,json=ladderPrice,proto3" json:"ladder_price"`
// @inject_tag: json:"update_time"
UpdateTime int64 `protobuf:"varint,22,opt,name=update_time,json=updateTime,proto3" json:"update_time"`
// @inject_tag: json:"sku_name"
SkuName string `protobuf:"bytes,23,opt,name=sku_name,json=skuName,proto3" json:"sku_name"`
// @inject_tag: json:"mpl"
Mpl int64 `protobuf:"varint,24,opt,name=mpl,proto3" json:"mpl"`
// @inject_tag: json:"stock"
Stock int64 `protobuf:"varint,25,opt,name=stock,proto3" json:"stock"`
// @inject_tag: json:"attrs"
Attrs string `protobuf:"bytes,26,opt,name=attrs,proto3" json:"attrs"`
// @inject_tag: json:"cost"
Cost string `protobuf:"bytes,27,opt,name=cost,proto3" json:"cost"`
// @inject_tag: json:"new_cost"
NewCost string `protobuf:"bytes,28,opt,name=new_cost,json=newCost,proto3" json:"new_cost"`
// @inject_tag: json:"supplier_stock"
SupplierStock int64 `protobuf:"varint,29,opt,name=supplier_stock,json=supplierStock,proto3" json:"supplier_stock"`
// @inject_tag: json:"self_supplier_type"
SelfSupplierType int64 `protobuf:"varint,30,opt,name=self_supplier_type,json=selfSupplierType,proto3" json:"self_supplier_type"`
// @inject_tag: json:"cn_delivery_time"
CnDeliveryTime string `protobuf:"bytes,31,opt,name=cn_delivery_time,json=cnDeliveryTime,proto3" json:"cn_delivery_time"`
// @inject_tag: json:"brand_name"
BrandName string `protobuf:"bytes,32,opt,name=brand_name,json=brandName,proto3" json:"brand_name"`
// @inject_tag: json:"supplier_name"
SupplierName string `protobuf:"bytes,33,opt,name=supplier_name,json=supplierName,proto3" json:"supplier_name"`
GoodsUnitName string `protobuf:"bytes,34,opt,name=goods_unit_name,json=goodsUnitName,proto3" json:"goods_unit_name,omitempty"`
PackingName string `protobuf:"bytes,35,opt,name=packing_name,json=packingName,proto3" json:"packing_name,omitempty"`
MpqUnitName string `protobuf:"bytes,36,opt,name=mpq_unit_name,json=mpqUnitName,proto3" json:"mpq_unit_name,omitempty"`
// @inject_tag: json:"ac_type"
AcType int64 `protobuf:"varint,37,opt,name=ac_type,json=acType,proto3" json:"ac_type"`
AllowCoupon int64 `protobuf:"varint,38,opt,name=allow_coupon,json=allowCoupon,proto3" json:"allow_coupon,omitempty"`
ClassId1Name string `protobuf:"bytes,39,opt,name=class_id1_name,json=classId1Name,proto3" json:"class_id1_name,omitempty"`
ClassId2Name string `protobuf:"bytes,40,opt,name=class_id2_name,json=classId2Name,proto3" json:"class_id2_name,omitempty"`
// @inject_tag: json:"otheis_buyr_attrs"
IsBuy int64 `protobuf:"varint,41,opt,name=is_buy,json=isBuy,proto3" json:"otheis_buyr_attrs"`
// @inject_tag: json:"hk_delivery_type"
HkDeliveryType string `protobuf:"bytes,42,opt,name=hk_delivery_type,json=hkDeliveryType,proto3" json:"hk_delivery_type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GoodsModel) Reset() { *m = GoodsModel{} }
func (m *GoodsModel) String() string { return proto.CompactTextString(m) }
func (*GoodsModel) ProtoMessage() {}
func (*GoodsModel) Descriptor() ([]byte, []int) {
return fileDescriptor_f689add15dae9986, []int{7}
}
func (m *GoodsModel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GoodsModel.Unmarshal(m, b)
}
func (m *GoodsModel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GoodsModel.Marshal(b, m, deterministic)
}
func (m *GoodsModel) XXX_Merge(src proto.Message) {
xxx_messageInfo_GoodsModel.Merge(m, src)
}
func (m *GoodsModel) XXX_Size() int {
return xxx_messageInfo_GoodsModel.Size(m)
}
func (m *GoodsModel) XXX_DiscardUnknown() {
xxx_messageInfo_GoodsModel.DiscardUnknown(m)
}
var xxx_messageInfo_GoodsModel proto.InternalMessageInfo
func (m *GoodsModel) GetOtherAttrs() *OtherAttrs {
if m != nil {
return m.OtherAttrs
}
return nil
}
func (m *GoodsModel) GetPickType() int64 {
if m != nil {
return m.PickType
}
return 0
}
func (m *GoodsModel) GetBarcode() string {
if m != nil {
return m.Barcode
}
return ""
}
func (m *GoodsModel) GetGoodsId() string {
if m != nil {
return m.GoodsId
}
return ""
}
func (m *GoodsModel) GetGoodsType() int64 {
if m != nil {
return m.GoodsType
}
return 0
}
func (m *GoodsModel) GetSupplierId() int64 {
if m != nil {
return m.SupplierId
}
return 0
}
func (m *GoodsModel) GetBrandId() int64 {
if m != nil {
return m.BrandId
}
return 0
}
func (m *GoodsModel) GetClassId1() int64 {
if m != nil {
return m.ClassId1
}
return 0
}
func (m *GoodsModel) GetClassId2() int64 {
if m != nil {
return m.ClassId2
}
return 0
}
func (m *GoodsModel) GetGoodsName() string {
if m != nil {
return m.GoodsName
}
return ""
}
func (m *GoodsModel) GetStatus() int64 {
if m != nil {
return m.Status
}
return 0
}
func (m *GoodsModel) GetEncoded() string {
if m != nil {
return m.Encoded
}
return ""
}
func (m *GoodsModel) GetEncap() string {
if m != nil {
return m.Encap
}
return ""
}
func (m *GoodsModel) GetPacking() int64 {
if m != nil {
return m.Packing
}
return 0
}
func (m *GoodsModel) GetGoodsUnit() int64 {
if m != nil {
return m.GoodsUnit
}
return 0
}
func (m *GoodsModel) GetGoodsImages() bool {
if m != nil {
return m.GoodsImages
}
return false
}
func (m *GoodsModel) GetPdf() string {
if m != nil {
return m.Pdf
}
return ""
}
func (m *GoodsModel) GetGoodsBrief() string {
if m != nil {
return m.GoodsBrief
}
return ""
}
func (m *GoodsModel) GetMoq() int64 {
if m != nil {
return m.Moq
}
return 0
}
func (m *GoodsModel) GetMpq() int64 {
if m != nil {
return m.Mpq
}
return 0
}
func (m *GoodsModel) GetLadderPrice() []*LadderPrice {
if m != nil {
return m.LadderPrice
}
return nil
}
func (m *GoodsModel) GetUpdateTime() int64 {
if m != nil {
return m.UpdateTime
}
return 0
}
func (m *GoodsModel) GetSkuName() string {
if m != nil {
return m.SkuName
}
return ""
}
func (m *GoodsModel) GetMpl() int64 {
if m != nil {
return m.Mpl
}
return 0
}
func (m *GoodsModel) GetStock() int64 {
if m != nil {
return m.Stock
}
return 0
}
func (m *GoodsModel) GetAttrs() string {
if m != nil {
return m.Attrs
}
return ""
}
func (m *GoodsModel) GetCost() string {
if m != nil {
return m.Cost
}
return ""
}
func (m *GoodsModel) GetNewCost() string {
if m != nil {
return m.NewCost
}
return ""
}
func (m *GoodsModel) GetSupplierStock() int64 {
if m != nil {
return m.SupplierStock
}
return 0
}
func (m *GoodsModel) GetSelfSupplierType() int64 {
if m != nil {
return m.SelfSupplierType
}
return 0
}
func (m *GoodsModel) GetCnDeliveryTime() string {
if m != nil {
return m.CnDeliveryTime
}
return ""
}
func (m *GoodsModel) GetBrandName() string {
if m != nil {
return m.BrandName
}
return ""
}
func (m *GoodsModel) GetSupplierName() string {
if m != nil {
return m.SupplierName
}
return ""
}
func (m *GoodsModel) GetGoodsUnitName() string {
if m != nil {
return m.GoodsUnitName
}
return ""
}
func (m *GoodsModel) GetPackingName() string {
if m != nil {
return m.PackingName
}
return ""
}
func (m *GoodsModel) GetMpqUnitName() string {
if m != nil {
return m.MpqUnitName
}
return ""
}
func (m *GoodsModel) GetAcType() int64 {
if m != nil {
return m.AcType
}
return 0
}
func (m *GoodsModel) GetAllowCoupon() int64 {
if m != nil {
return m.AllowCoupon
}
return 0
}
func (m *GoodsModel) GetClassId1Name() string {
if m != nil {
return m.ClassId1Name
}
return ""
}
func (m *GoodsModel) GetClassId2Name() string {
if m != nil {
return m.ClassId2Name
}
return ""
}
func (m *GoodsModel) GetIsBuy() int64 {
if m != nil {
return m.IsBuy
}
return 0
}
func (m *GoodsModel) GetHkDeliveryType() string {
if m != nil {
return m.HkDeliveryType
}
return ""
}
func init() {
proto.RegisterType((*AutoSpuRequest)(nil), "bom.AutoSpuRequest")
proto.RegisterType((*AutoSpuResponse)(nil), "bom.AutoSpuResponse")
proto.RegisterType((*RecommendRequest)(nil), "bom.RecommendRequest")
proto.RegisterType((*ResponseData)(nil), "bom.ResponseData")
proto.RegisterType((*RecommendResponse)(nil), "bom.RecommendResponse")
proto.RegisterType((*OtherAttrs)(nil), "bom.OtherAttrs")
proto.RegisterType((*LadderPrice)(nil), "bom.LadderPrice")
proto.RegisterType((*GoodsModel)(nil), "bom.GoodsModel")
}
func init() { proto.RegisterFile("bom.proto", fileDescriptor_f689add15dae9986) }
var fileDescriptor_f689add15dae9986 = []byte{
// 986 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x6e, 0xdb, 0x36,
0x14, 0x86, 0xe3, 0x24, 0x8e, 0x8f, 0x1c, 0xc7, 0x51, 0xd3, 0x96, 0xfd, 0x5b, 0x12, 0xa7, 0xe9,
0xbc, 0x61, 0x68, 0x57, 0x77, 0x2f, 0x90, 0x1f, 0x60, 0x08, 0xb0, 0x6e, 0x83, 0xd2, 0x62, 0x57,
0x83, 0x40, 0x8b, 0x8c, 0x2d, 0x58, 0x12, 0x69, 0x91, 0x6a, 0x60, 0x60, 0xd8, 0x73, 0xec, 0x8d,
0xf6, 0x5a, 0x03, 0xcf, 0xd1, 0x9f, 0x73, 0xb5, 0x8b, 0xde, 0xf1, 0x7c, 0xe7, 0x90, 0xe7, 0xe3,
0xc7, 0x8f, 0x94, 0xa0, 0x3f, 0x53, 0xe9, 0x5b, 0x9d, 0x2b, 0xab, 0xfc, 0xee, 0x4c, 0xa5, 0xe3,
0x77, 0x30, 0xbc, 0x28, 0xac, 0xba, 0xd5, 0x45, 0x20, 0x57, 0x85, 0x34, 0xd6, 0x7f, 0x05, 0x30,
0x57, 0x4a, 0x98, 0x30, 0xe3, 0xa9, 0x64, 0x9d, 0x93, 0xce, 0xa4, 0x1f, 0xf4, 0x11, 0xf9, 0x95,
0xa7, 0x72, 0x1c, 0xc3, 0x41, 0x3d, 0xc1, 0x68, 0x95, 0x19, 0xe9, 0x66, 0xc8, 0x3c, 0x57, 0x79,
0x18, 0x29, 0x41, 0x33, 0x76, 0x82, 0x3e, 0x22, 0x57, 0x4a, 0x48, 0xff, 0x0c, 0xf6, 0x29, 0x9d,
0x4a, 0x63, 0xf8, 0x5c, 0xb2, 0x2d, 0x5c, 0x73, 0x80, 0xe0, 0x47, 0xc2, 0x7c, 0x1f, 0xb6, 0x05,
0xb7, 0x9c, 0x75, 0x4f, 0xba, 0x93, 0x7e, 0x80, 0xe3, 0xf1, 0xbf, 0x1d, 0x18, 0x05, 0x32, 0x52,
0x69, 0x2a, 0x33, 0xf1, 0xff, 0xe8, 0xf9, 0x47, 0xb0, 0xc3, 0xad, 0xcd, 0x4d, 0xd9, 0x84, 0x02,
0x87, 0xca, 0x2c, 0xe2, 0x9a, 0x75, 0x09, 0xc5, 0xc0, 0x1f, 0x41, 0x37, 0x2b, 0x52, 0xb6, 0x8d,
0x84, 0xdd, 0xd0, 0x51, 0x15, 0x32, 0x89, 0xbf, 0xc8, 0x7c, 0x1d, 0xda, 0xb5, 0x96, 0x6c, 0x07,
0x73, 0x83, 0x0a, 0xfc, 0xb4, 0xd6, 0x48, 0xf5, 0x2e, 0xe1, 0x73, 0xb6, 0x8b, 0x39, 0x1c, 0x3b,
0x56, 0xb3, 0x9c, 0x67, 0x82, 0x58, 0xf5, 0x88, 0x15, 0x22, 0x28, 0xda, 0x9f, 0x30, 0xa8, 0xd4,
0xba, 0xe6, 0x96, 0x3b, 0x3e, 0x56, 0x59, 0x9e, 0x20, 0xff, 0x6e, 0x40, 0x41, 0xbd, 0xf0, 0x56,
0x6b, 0xe1, 0xb3, 0x96, 0x2e, 0xde, 0xf4, 0xe0, 0xad, 0x3b, 0xbe, 0x9f, 0xdd, 0x6e, 0x3f, 0x2a,
0x21, 0x93, 0x52, 0xa8, 0xbf, 0xe1, 0xb0, 0xa5, 0xd3, 0x57, 0x3c, 0x95, 0xf3, 0xba, 0x7b, 0x67,
0xe2, 0x4d, 0x0f, 0xb1, 0x7b, 0x7b, 0x23, 0x65, 0xff, 0x77, 0x00, 0xbf, 0xd9, 0x85, 0xcc, 0x2f,
0x50, 0xec, 0x53, 0x18, 0xcc, 0x73, 0x65, 0x4c, 0x78, 0x2f, 0xe7, 0xf1, 0xc2, 0x96, 0x67, 0xe4,
0x21, 0xf6, 0x07, 0x42, 0xe3, 0xbf, 0xc0, 0xfb, 0x85, 0x0b, 0x21, 0xf3, 0xdf, 0xf3, 0x38, 0x92,
0xfe, 0x4b, 0xe8, 0xeb, 0x22, 0x8f, 0x16, 0xdc, 0x48, 0x53, 0x4a, 0xd2, 0x00, 0xfe, 0x33, 0xd8,
0xd3, 0xae, 0x2c, 0x8c, 0x32, 0x24, 0xb9, 0x15, 0xf4, 0x30, 0xbe, 0xca, 0x9a, 0x54, 0x61, 0x90,
0x63, 0x95, 0xfa, 0xdc, 0x9a, 0xc5, 0x23, 0x3c, 0xe1, 0x2a, 0x75, 0x11, 0x8d, 0xff, 0x01, 0x80,
0x46, 0x43, 0xff, 0x47, 0xf0, 0x94, 0x63, 0x1f, 0x92, 0x71, 0x3a, 0xb8, 0x57, 0x52, 0xba, 0xd9,
0x55, 0x00, 0xaa, 0xd9, 0xe1, 0x0b, 0xe8, 0xeb, 0x38, 0x5a, 0x92, 0x45, 0xb6, 0x90, 0xef, 0x9e,
0x03, 0xd0, 0x1e, 0x0c, 0x7a, 0x33, 0x9e, 0xa3, 0xe8, 0xe4, 0xb6, 0x2a, 0x74, 0x94, 0xc8, 0xba,
0xb1, 0x40, 0x4a, 0xfd, 0xa0, 0x87, 0xf1, 0x8d, 0x68, 0x5c, 0x5d, 0xbb, 0xae, 0x5b, 0xba, 0x1a,
0xd7, 0x3c, 0x06, 0xcf, 0x14, 0x5a, 0x27, 0xb1, 0xcc, 0xdd, 0xe4, 0x5d, 0xcc, 0x43, 0x05, 0xdd,
0x08, 0xb7, 0x34, 0xf9, 0x2f, 0x16, 0xe8, 0xbe, 0x6e, 0xd0, 0xc3, 0xf8, 0x46, 0x38, 0xb2, 0x51,
0xc2, 0x8d, 0xeb, 0xfa, 0x9e, 0xed, 0x11, 0x59, 0x04, 0x6e, 0xc4, 0xfb, 0x76, 0x72, 0xca, 0xfa,
0x1b, 0xc9, 0xe9, 0x83, 0xab, 0x06, 0x0f, 0xaf, 0xda, 0x13, 0xd8, 0x35, 0x96, 0xdb, 0xc2, 0x30,
0x0f, 0x27, 0x96, 0x91, 0x13, 0x40, 0x66, 0x6e, 0xc3, 0x82, 0x0d, 0x68, 0x97, 0x65, 0xd8, 0x5c,
0xc3, 0xfd, 0xf6, 0x35, 0x64, 0xd0, 0xd3, 0x3c, 0x5a, 0xc6, 0xd9, 0x9c, 0x0d, 0x89, 0x7a, 0x19,
0x36, 0x04, 0x8a, 0x2c, 0xb6, 0xec, 0xa0, 0xa5, 0xca, 0xe7, 0x2c, 0xb6, 0x68, 0x34, 0xd2, 0x33,
0xe5, 0x73, 0x69, 0xd8, 0xe8, 0xa4, 0x33, 0xd9, 0x0b, 0x3c, 0xd2, 0x14, 0x21, 0x77, 0xc5, 0xb5,
0xb8, 0x63, 0x87, 0xd8, 0xcf, 0x0d, 0x9d, 0x94, 0x34, 0x69, 0x96, 0xc7, 0xf2, 0x8e, 0xf9, 0x98,
0xa1, 0x36, 0x97, 0x0e, 0x71, 0x53, 0x52, 0xb5, 0x62, 0x8f, 0xb0, 0x9b, 0x1b, 0x22, 0xa2, 0x57,
0xec, 0xa8, 0x44, 0xf4, 0xca, 0xff, 0x00, 0x83, 0x04, 0xfd, 0x1b, 0xa2, 0xa7, 0xd8, 0x63, 0xbc,
0x9d, 0x23, 0xf4, 0x4c, 0xcb, 0xd8, 0x81, 0x97, 0xb4, 0x5c, 0x7e, 0x0c, 0x5e, 0xa1, 0x05, 0xb7,
0x32, 0xb4, 0x71, 0x2a, 0xd9, 0x13, 0x3a, 0x44, 0x82, 0x3e, 0xc5, 0x29, 0xfa, 0xc3, 0x2c, 0x0b,
0x52, 0xfb, 0x29, 0x29, 0x67, 0x96, 0x05, 0x6a, 0x8d, 0x14, 0x12, 0xc6, 0x2a, 0x0a, 0x89, 0xd3,
0xd2, 0x58, 0x15, 0x2d, 0xd9, 0x33, 0x7a, 0x42, 0x30, 0x68, 0x9e, 0xbf, 0xe7, 0xed, 0xe7, 0xcf,
0x87, 0xed, 0x48, 0x19, 0xcb, 0x5e, 0x20, 0x88, 0x63, 0xd7, 0x2c, 0x93, 0xf7, 0x21, 0xe2, 0x2f,
0xa9, 0x59, 0x26, 0xef, 0xaf, 0x5c, 0xea, 0x1c, 0x86, 0xb5, 0xdb, 0xa8, 0xc7, 0x2b, 0xec, 0xb1,
0x5f, 0xa1, 0xb7, 0xd8, 0xeb, 0x07, 0xf0, 0x8d, 0x4c, 0xee, 0xc2, 0xba, 0x16, 0xbd, 0xfb, 0x0d,
0x96, 0x8e, 0x5c, 0xe6, 0xb6, 0x4c, 0xa0, 0x85, 0x27, 0x30, 0x8a, 0xb2, 0xb0, 0x79, 0x5d, 0x9d,
0x04, 0xc7, 0xd8, 0x77, 0x18, 0x65, 0xd7, 0xd5, 0xfb, 0xea, 0x64, 0xd8, 0x7c, 0x4b, 0x4f, 0x1e,
0xbc, 0xa5, 0xee, 0xe1, 0xaa, 0x3b, 0x62, 0xc5, 0x29, 0x3d, 0x5c, 0x15, 0x88, 0x45, 0x6f, 0xe0,
0xa0, 0x71, 0x0e, 0x95, 0x8d, 0xb1, 0x6c, 0xbf, 0xb6, 0x0f, 0xd6, 0x9d, 0xc2, 0xa0, 0x34, 0x1b,
0x15, 0x9d, 0xd1, 0x5b, 0x55, 0x62, 0x58, 0x32, 0x86, 0xfd, 0x54, 0xaf, 0x5a, 0x0b, 0xbd, 0xa6,
0x9a, 0x54, 0xaf, 0xea, 0x65, 0x9e, 0x42, 0x8f, 0x47, 0xb4, 0xff, 0x73, 0xba, 0x0b, 0x3c, 0xc2,
0x5d, 0x9f, 0xc2, 0x80, 0x27, 0x89, 0x72, 0x3a, 0x17, 0x5a, 0x65, 0xec, 0x0d, 0x66, 0x3d, 0xc4,
0xae, 0x10, 0xf2, 0x5f, 0xc3, 0xb0, 0xbe, 0x9f, 0xd4, 0xe0, 0x5b, 0xda, 0x50, 0x75, 0x49, 0xb1,
0x43, 0xab, 0x6a, 0x4a, 0x55, 0x93, 0x8d, 0xaa, 0x29, 0x56, 0x3d, 0x86, 0xdd, 0xd8, 0x84, 0xb3,
0x62, 0xcd, 0xbe, 0x23, 0x57, 0xc4, 0xe6, 0xb2, 0x58, 0x3b, 0xed, 0x17, 0xcb, 0x70, 0xf3, 0xcb,
0xf6, 0x3d, 0x69, 0xbf, 0x58, 0x5e, 0xb7, 0xbe, 0x6d, 0xd3, 0x4b, 0x80, 0x4b, 0x95, 0xde, 0xca,
0xfc, 0x8b, 0x73, 0xec, 0x4f, 0xd0, 0x2b, 0xbf, 0xf5, 0xfe, 0x23, 0xf4, 0xf6, 0xe6, 0xaf, 0xc2,
0xf3, 0xa3, 0x4d, 0x90, 0xbe, 0x0b, 0xb3, 0x5d, 0xfc, 0xbd, 0xf8, 0xf0, 0x5f, 0x00, 0x00, 0x00,
0xff, 0xff, 0x62, 0x52, 0x05, 0x28, 0x6b, 0x08, 0x00, 0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: bom.proto
package bom
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
import (
context "context"
api "github.com/micro/go-micro/v2/api"
client "github.com/micro/go-micro/v2/client"
server "github.com/micro/go-micro/v2/server"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Reference imports to suppress errors if they are not otherwise used.
var _ api.Endpoint
var _ context.Context
var _ client.Option
var _ server.Option
// Api Endpoints for BomService service
func NewBomServiceEndpoints() []*api.Endpoint {
return []*api.Endpoint{}
}
// Client API for BomService service
type BomService interface {
AutoSpu(ctx context.Context, in *AutoSpuRequest, opts ...client.CallOption) (*AutoSpuResponse, error)
}
type bomService struct {
c client.Client
name string
}
func NewBomService(name string, c client.Client) BomService {
return &bomService{
c: c,
name: name,
}
}
func (c *bomService) AutoSpu(ctx context.Context, in *AutoSpuRequest, opts ...client.CallOption) (*AutoSpuResponse, error) {
req := c.c.NewRequest(c.name, "BomService.AutoSpu", in)
out := new(AutoSpuResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for BomService service
type BomServiceHandler interface {
AutoSpu(context.Context, *AutoSpuRequest, *AutoSpuResponse) error
}
func RegisterBomServiceHandler(s server.Server, hdlr BomServiceHandler, opts ...server.HandlerOption) error {
type bomService interface {
AutoSpu(ctx context.Context, in *AutoSpuRequest, out *AutoSpuResponse) error
}
type BomService struct {
bomService
}
h := &bomServiceHandler{hdlr}
return s.Handle(s.NewHandler(&BomService{h}, opts...))
}
type bomServiceHandler struct {
BomServiceHandler
}
func (h *bomServiceHandler) AutoSpu(ctx context.Context, in *AutoSpuRequest, out *AutoSpuResponse) error {
return h.BomServiceHandler.AutoSpu(ctx, in, out)
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: common.proto
package common
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type Timestamp struct {
Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Timestr string `protobuf:"bytes,2,opt,name=timestr,proto3" json:"timestr,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Timestamp) Reset() { *m = Timestamp{} }
func (m *Timestamp) String() string { return proto.CompactTextString(m) }
func (*Timestamp) ProtoMessage() {}
func (*Timestamp) Descriptor() ([]byte, []int) {
return fileDescriptor_555bd8c177793206, []int{0}
}
func (m *Timestamp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Timestamp.Unmarshal(m, b)
}
func (m *Timestamp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Timestamp.Marshal(b, m, deterministic)
}
func (m *Timestamp) XXX_Merge(src proto.Message) {
xxx_messageInfo_Timestamp.Merge(m, src)
}
func (m *Timestamp) XXX_Size() int {
return xxx_messageInfo_Timestamp.Size(m)
}
func (m *Timestamp) XXX_DiscardUnknown() {
xxx_messageInfo_Timestamp.DiscardUnknown(m)
}
var xxx_messageInfo_Timestamp proto.InternalMessageInfo
func (m *Timestamp) GetTimestamp() *timestamp.Timestamp {
if m != nil {
return m.Timestamp
}
return nil
}
func (m *Timestamp) GetTimestr() string {
if m != nil {
return m.Timestr
}
return ""
}
func init() {
proto.RegisterType((*Timestamp)(nil), "common.Timestamp")
}
func init() { proto.RegisterFile("common.proto", fileDescriptor_555bd8c177793206) }
var fileDescriptor_555bd8c177793206 = []byte{
// 121 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x49, 0xce, 0xcf, 0xcd,
0xcd, 0xcf, 0xd3, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x83, 0xf0, 0xa4, 0xe4, 0xd3, 0xf3,
0xf3, 0xd3, 0x73, 0x52, 0xf5, 0xc1, 0xa2, 0x49, 0xa5, 0x69, 0xfa, 0x25, 0x99, 0xb9, 0xa9, 0xc5,
0x25, 0x89, 0xb9, 0x05, 0x10, 0x85, 0x4a, 0xf1, 0x5c, 0x9c, 0x21, 0x30, 0x21, 0x21, 0x0b, 0x2e,
0x4e, 0xb8, 0xbc, 0x04, 0xa3, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x94, 0x1e, 0xc4, 0x04, 0x3d, 0x98,
0x09, 0x7a, 0x70, 0xe5, 0x41, 0x08, 0xc5, 0x42, 0x12, 0x5c, 0xec, 0x10, 0x4e, 0x91, 0x04, 0x93,
0x02, 0xa3, 0x06, 0x67, 0x10, 0x8c, 0x9b, 0xc4, 0x06, 0xd6, 0x68, 0x0c, 0x08, 0x00, 0x00, 0xff,
0xff, 0x1b, 0x45, 0x2b, 0x0e, 0xa0, 0x00, 0x00, 0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: common.proto
package common
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
_ "github.com/golang/protobuf/ptypes/timestamp"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: course.proto
package course
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type CourseModel struct {
CourseId int32 `protobuf:"varint,1,opt,name=course_id,json=courseId,proto3" json:"course_id,omitempty"`
CourseName string `protobuf:"bytes,2,opt,name=course_name,json=courseName,proto3" json:"course_name,omitempty"`
CourseDispName string `protobuf:"bytes,3,opt,name=course_disp_name,json=courseDispName,proto3" json:"course_disp_name,omitempty"`
CourseIntr string `protobuf:"bytes,4,opt,name=course_intr,json=courseIntr,proto3" json:"course_intr,omitempty"`
CoursePrice float32 `protobuf:"fixed32,5,opt,name=course_price,json=coursePrice,proto3" json:"course_price,omitempty"`
CoursePrice2 float32 `protobuf:"fixed32,6,opt,name=course_price2,json=coursePrice2,proto3" json:"course_price2,omitempty"`
// @inject_tag: gorm:"type:timestamp"
Addtime int64 `protobuf:"varint,7,opt,name=addtime,proto3" json:"addtime,omitempty" gorm:"type:timestamp"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CourseModel) Reset() { *m = CourseModel{} }
func (m *CourseModel) String() string { return proto.CompactTextString(m) }
func (*CourseModel) ProtoMessage() {}
func (*CourseModel) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{0}
}
func (m *CourseModel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CourseModel.Unmarshal(m, b)
}
func (m *CourseModel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CourseModel.Marshal(b, m, deterministic)
}
func (m *CourseModel) XXX_Merge(src proto.Message) {
xxx_messageInfo_CourseModel.Merge(m, src)
}
func (m *CourseModel) XXX_Size() int {
return xxx_messageInfo_CourseModel.Size(m)
}
func (m *CourseModel) XXX_DiscardUnknown() {
xxx_messageInfo_CourseModel.DiscardUnknown(m)
}
var xxx_messageInfo_CourseModel proto.InternalMessageInfo
func (m *CourseModel) GetCourseId() int32 {
if m != nil {
return m.CourseId
}
return 0
}
func (m *CourseModel) GetCourseName() string {
if m != nil {
return m.CourseName
}
return ""
}
func (m *CourseModel) GetCourseDispName() string {
if m != nil {
return m.CourseDispName
}
return ""
}
func (m *CourseModel) GetCourseIntr() string {
if m != nil {
return m.CourseIntr
}
return ""
}
func (m *CourseModel) GetCoursePrice() float32 {
if m != nil {
return m.CoursePrice
}
return 0
}
func (m *CourseModel) GetCoursePrice2() float32 {
if m != nil {
return m.CoursePrice2
}
return 0
}
func (m *CourseModel) GetAddtime() int64 {
if m != nil {
return m.Addtime
}
return 0
}
type ListRequest struct {
// @inject_tag: form:"size"
Size int32 `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty" form:"size"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListRequest) Reset() { *m = ListRequest{} }
func (m *ListRequest) String() string { return proto.CompactTextString(m) }
func (*ListRequest) ProtoMessage() {}
func (*ListRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{1}
}
func (m *ListRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListRequest.Unmarshal(m, b)
}
func (m *ListRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListRequest.Marshal(b, m, deterministic)
}
func (m *ListRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListRequest.Merge(m, src)
}
func (m *ListRequest) XXX_Size() int {
return xxx_messageInfo_ListRequest.Size(m)
}
func (m *ListRequest) XXX_DiscardUnknown() {
xxx_messageInfo_ListRequest.DiscardUnknown(m)
}
var xxx_messageInfo_ListRequest proto.InternalMessageInfo
func (m *ListRequest) GetSize() int32 {
if m != nil {
return m.Size
}
return 0
}
type DetailRequest struct {
// @inject_tag: uri:"course_id"
CourseId int32 `protobuf:"varint,1,opt,name=course_id,json=courseId,proto3" json:"course_id,omitempty" uri:"course_id"`
// @inject_tag: header:"fetch_type"
FetchType int32 `protobuf:"varint,2,opt,name=fetch_type,json=fetchType,proto3" json:"fetch_type,omitempty" header:"fetch_type"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DetailRequest) Reset() { *m = DetailRequest{} }
func (m *DetailRequest) String() string { return proto.CompactTextString(m) }
func (*DetailRequest) ProtoMessage() {}
func (*DetailRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{2}
}
func (m *DetailRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DetailRequest.Unmarshal(m, b)
}
func (m *DetailRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DetailRequest.Marshal(b, m, deterministic)
}
func (m *DetailRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_DetailRequest.Merge(m, src)
}
func (m *DetailRequest) XXX_Size() int {
return xxx_messageInfo_DetailRequest.Size(m)
}
func (m *DetailRequest) XXX_DiscardUnknown() {
xxx_messageInfo_DetailRequest.DiscardUnknown(m)
}
var xxx_messageInfo_DetailRequest proto.InternalMessageInfo
func (m *DetailRequest) GetCourseId() int32 {
if m != nil {
return m.CourseId
}
return 0
}
func (m *DetailRequest) GetFetchType() int32 {
if m != nil {
return m.FetchType
}
return 0
}
//计数
type CourseCounts struct {
// @inject_tag: json:"-"
CountId int32 `protobuf:"varint,1,opt,name=count_id,json=countId,proto3" json:"-"`
// @inject_tag: json:"-"
CourseId int32 `protobuf:"varint,2,opt,name=course_id,json=courseId,proto3" json:"-"`
CountKey string `protobuf:"bytes,3,opt,name=count_key,json=countKey,proto3" json:"count_key,omitempty"`
CountValue int32 `protobuf:"varint,4,opt,name=count_value,json=countValue,proto3" json:"count_value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CourseCounts) Reset() { *m = CourseCounts{} }
func (m *CourseCounts) String() string { return proto.CompactTextString(m) }
func (*CourseCounts) ProtoMessage() {}
func (*CourseCounts) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{3}
}
func (m *CourseCounts) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CourseCounts.Unmarshal(m, b)
}
func (m *CourseCounts) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CourseCounts.Marshal(b, m, deterministic)
}
func (m *CourseCounts) XXX_Merge(src proto.Message) {
xxx_messageInfo_CourseCounts.Merge(m, src)
}
func (m *CourseCounts) XXX_Size() int {
return xxx_messageInfo_CourseCounts.Size(m)
}
func (m *CourseCounts) XXX_DiscardUnknown() {
xxx_messageInfo_CourseCounts.DiscardUnknown(m)
}
var xxx_messageInfo_CourseCounts proto.InternalMessageInfo
func (m *CourseCounts) GetCountId() int32 {
if m != nil {
return m.CountId
}
return 0
}
func (m *CourseCounts) GetCourseId() int32 {
if m != nil {
return m.CourseId
}
return 0
}
func (m *CourseCounts) GetCountKey() string {
if m != nil {
return m.CountKey
}
return ""
}
func (m *CourseCounts) GetCountValue() int32 {
if m != nil {
return m.CountValue
}
return 0
}
type ListResponse struct {
Result []*CourseModel `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ListResponse) Reset() { *m = ListResponse{} }
func (m *ListResponse) String() string { return proto.CompactTextString(m) }
func (*ListResponse) ProtoMessage() {}
func (*ListResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{4}
}
func (m *ListResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ListResponse.Unmarshal(m, b)
}
func (m *ListResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ListResponse.Marshal(b, m, deterministic)
}
func (m *ListResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_ListResponse.Merge(m, src)
}
func (m *ListResponse) XXX_Size() int {
return xxx_messageInfo_ListResponse.Size(m)
}
func (m *ListResponse) XXX_DiscardUnknown() {
xxx_messageInfo_ListResponse.DiscardUnknown(m)
}
var xxx_messageInfo_ListResponse proto.InternalMessageInfo
func (m *ListResponse) GetResult() []*CourseModel {
if m != nil {
return m.Result
}
return nil
}
type DetailResponse struct {
Course *CourseModel `protobuf:"bytes,1,opt,name=course,proto3" json:"course,omitempty"`
Counts []*CourseCounts `protobuf:"bytes,2,rep,name=counts,proto3" json:"counts,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *DetailResponse) Reset() { *m = DetailResponse{} }
func (m *DetailResponse) String() string { return proto.CompactTextString(m) }
func (*DetailResponse) ProtoMessage() {}
func (*DetailResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_ad75674299e1bb1e, []int{5}
}
func (m *DetailResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DetailResponse.Unmarshal(m, b)
}
func (m *DetailResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DetailResponse.Marshal(b, m, deterministic)
}
func (m *DetailResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_DetailResponse.Merge(m, src)
}
func (m *DetailResponse) XXX_Size() int {
return xxx_messageInfo_DetailResponse.Size(m)
}
func (m *DetailResponse) XXX_DiscardUnknown() {
xxx_messageInfo_DetailResponse.DiscardUnknown(m)
}
var xxx_messageInfo_DetailResponse proto.InternalMessageInfo
func (m *DetailResponse) GetCourse() *CourseModel {
if m != nil {
return m.Course
}
return nil
}
func (m *DetailResponse) GetCounts() []*CourseCounts {
if m != nil {
return m.Counts
}
return nil
}
func init() {
proto.RegisterType((*CourseModel)(nil), "course.CourseModel")
proto.RegisterType((*ListRequest)(nil), "course.ListRequest")
proto.RegisterType((*DetailRequest)(nil), "course.DetailRequest")
proto.RegisterType((*CourseCounts)(nil), "course.CourseCounts")
proto.RegisterType((*ListResponse)(nil), "course.ListResponse")
proto.RegisterType((*DetailResponse)(nil), "course.DetailResponse")
}
func init() { proto.RegisterFile("course.proto", fileDescriptor_ad75674299e1bb1e) }
var fileDescriptor_ad75674299e1bb1e = []byte{
// 431 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0xcf, 0x8b, 0xd3, 0x40,
0x14, 0xc7, 0x99, 0x76, 0xdb, 0xda, 0xd7, 0x76, 0x91, 0x71, 0x95, 0x71, 0x45, 0xcc, 0xc6, 0x4b,
0x40, 0xd9, 0x43, 0x3d, 0x08, 0x7a, 0xdc, 0x45, 0x29, 0xab, 0x22, 0x71, 0xf1, 0x1a, 0x62, 0xf3,
0xc4, 0x61, 0xdb, 0x49, 0x9c, 0x79, 0x59, 0xa8, 0xe7, 0xfd, 0xa3, 0x3d, 0x4a, 0xe6, 0x4d, 0x6c,
0x52, 0xd0, 0x5b, 0xe6, 0xfb, 0x3e, 0xef, 0xc7, 0x7c, 0xdf, 0x04, 0xe6, 0xeb, 0xb2, 0xb6, 0x0e,
0xcf, 0x2b, 0x5b, 0x52, 0x29, 0xc7, 0x7c, 0x8a, 0x7f, 0x0b, 0x98, 0x5d, 0xf8, 0xcf, 0x8f, 0x65,
0x81, 0x1b, 0xf9, 0x04, 0xa6, 0x1c, 0xc9, 0x74, 0xa1, 0x44, 0x24, 0x92, 0x51, 0x7a, 0x8f, 0x85,
0x55, 0x21, 0x9f, 0xc1, 0x2c, 0x04, 0x4d, 0xbe, 0x45, 0x35, 0x88, 0x44, 0x32, 0x4d, 0x81, 0xa5,
0x4f, 0xf9, 0x16, 0x65, 0x02, 0xf7, 0x03, 0x50, 0x68, 0x57, 0x31, 0x35, 0xf4, 0xd4, 0x31, 0xeb,
0x97, 0xda, 0x55, 0x9e, 0xdc, 0x97, 0xd2, 0x86, 0xac, 0x3a, 0xea, 0x96, 0x5a, 0x19, 0xb2, 0xf2,
0xac, 0x1d, 0x38, 0xab, 0xac, 0x5e, 0xa3, 0x1a, 0x45, 0x22, 0x19, 0xa4, 0x21, 0xe9, 0x73, 0x23,
0xc9, 0xe7, 0xb0, 0xe8, 0x22, 0x4b, 0x35, 0xf6, 0xcc, 0xbc, 0xc3, 0x2c, 0xa5, 0x82, 0x49, 0x5e,
0x14, 0xa4, 0xb7, 0xa8, 0x26, 0x91, 0x48, 0x86, 0x69, 0x7b, 0x8c, 0xcf, 0x60, 0xf6, 0x41, 0x3b,
0x4a, 0xf1, 0x67, 0x8d, 0x8e, 0xa4, 0x84, 0x23, 0xa7, 0x7f, 0x61, 0xb8, 0xb4, 0xff, 0x8e, 0xaf,
0x60, 0x71, 0x89, 0x94, 0xeb, 0x4d, 0x0b, 0xfd, 0xd7, 0x9e, 0xa7, 0x00, 0xdf, 0x91, 0xd6, 0x3f,
0x32, 0xda, 0x55, 0xec, 0xce, 0x28, 0x9d, 0x7a, 0xe5, 0x7a, 0x57, 0x61, 0x7c, 0x27, 0x60, 0xce,
0x56, 0x5f, 0x94, 0xb5, 0x21, 0x27, 0x1f, 0x43, 0x93, 0x6b, 0x68, 0x5f, 0x6b, 0xe2, 0xcf, 0xab,
0xa2, 0xdf, 0x67, 0x70, 0xd0, 0x87, 0x83, 0x86, 0xb2, 0x1b, 0xdc, 0x05, 0x7b, 0xb9, 0xd0, 0x15,
0xee, 0x82, 0xb1, 0x86, 0xb2, 0xdb, 0x7c, 0x53, 0xa3, 0x37, 0x76, 0xe4, 0x8d, 0x35, 0xf4, 0xb5,
0x51, 0xe2, 0xb7, 0x30, 0xe7, 0x6b, 0xbb, 0xaa, 0x34, 0x0e, 0xe5, 0x0b, 0x18, 0x5b, 0x74, 0xf5,
0x86, 0x94, 0x88, 0x86, 0xc9, 0x6c, 0xf9, 0xe0, 0x3c, 0x3c, 0x94, 0xce, 0xb3, 0x48, 0x03, 0x12,
0xdf, 0xc0, 0x71, 0x6b, 0xc8, 0x3e, 0x9d, 0x79, 0x7f, 0x85, 0x7f, 0xa5, 0xb3, 0x26, 0x5f, 0x7a,
0xd8, 0x90, 0x53, 0x03, 0xdf, 0xeb, 0xa4, 0x0f, 0xb3, 0x2f, 0x69, 0x60, 0x96, 0x77, 0x02, 0x16,
0x1c, 0xf8, 0x82, 0xf6, 0xb6, 0xd9, 0xf8, 0x6b, 0x80, 0x66, 0xf6, 0x77, 0xa5, 0xbd, 0x2e, 0x2b,
0xf9, 0xb7, 0x55, 0x67, 0x8d, 0xa7, 0x27, 0x7d, 0x31, 0x4c, 0xf9, 0x06, 0xa6, 0xef, 0x91, 0x78,
0x74, 0xf9, 0xb0, 0x45, 0x7a, 0xbb, 0x3d, 0x7d, 0x74, 0x28, 0x73, 0xee, 0xb7, 0xb1, 0xff, 0x63,
0x5e, 0xfd, 0x09, 0x00, 0x00, 0xff, 0xff, 0x18, 0x2c, 0xe0, 0xbb, 0x41, 0x03, 0x00, 0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: course.proto
package course
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
import (
context "context"
api "github.com/micro/go-micro/v2/api"
client "github.com/micro/go-micro/v2/client"
server "github.com/micro/go-micro/v2/server"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Reference imports to suppress errors if they are not otherwise used.
var _ api.Endpoint
var _ context.Context
var _ client.Option
var _ server.Option
// Api Endpoints for CourseService service
func NewCourseServiceEndpoints() []*api.Endpoint {
return []*api.Endpoint{}
}
// Client API for CourseService service
type CourseService interface {
ListForTop(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error)
GetDetail(ctx context.Context, in *DetailRequest, opts ...client.CallOption) (*DetailResponse, error)
}
type courseService struct {
c client.Client
name string
}
func NewCourseService(name string, c client.Client) CourseService {
return &courseService{
c: c,
name: name,
}
}
func (c *courseService) ListForTop(ctx context.Context, in *ListRequest, opts ...client.CallOption) (*ListResponse, error) {
req := c.c.NewRequest(c.name, "CourseService.ListForTop", in)
out := new(ListResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *courseService) GetDetail(ctx context.Context, in *DetailRequest, opts ...client.CallOption) (*DetailResponse, error) {
req := c.c.NewRequest(c.name, "CourseService.GetDetail", in)
out := new(DetailResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for CourseService service
type CourseServiceHandler interface {
ListForTop(context.Context, *ListRequest, *ListResponse) error
GetDetail(context.Context, *DetailRequest, *DetailResponse) error
}
func RegisterCourseServiceHandler(s server.Server, hdlr CourseServiceHandler, opts ...server.HandlerOption) error {
type courseService interface {
ListForTop(ctx context.Context, in *ListRequest, out *ListResponse) error
GetDetail(ctx context.Context, in *DetailRequest, out *DetailResponse) error
}
type CourseService struct {
courseService
}
h := &courseServiceHandler{hdlr}
return s.Handle(s.NewHandler(&CourseService{h}, opts...))
}
type courseServiceHandler struct {
CourseServiceHandler
}
func (h *courseServiceHandler) ListForTop(ctx context.Context, in *ListRequest, out *ListResponse) error {
return h.CourseServiceHandler.ListForTop(ctx, in, out)
}
func (h *courseServiceHandler) GetDetail(ctx context.Context, in *DetailRequest, out *DetailResponse) error {
return h.CourseServiceHandler.GetDetail(ctx, in, out)
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: course_topic.proto
package course
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type CourseTopic struct {
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
CourseId int32 `protobuf:"varint,2,opt,name=CourseId,proto3" json:"CourseId,omitempty"`
CourseDid int32 `protobuf:"varint,3,opt,name=CourseDid,proto3" json:"CourseDid,omitempty"`
Likes int32 `protobuf:"varint,4,opt,name=Likes,proto3" json:"Likes,omitempty"`
Unlikes int32 `protobuf:"varint,5,opt,name=Unlikes,proto3" json:"Unlikes,omitempty"`
Title string `protobuf:"bytes,6,opt,name=Title,proto3" json:"Title,omitempty"`
Content string `protobuf:"bytes,7,opt,name=Content,proto3" json:"Content,omitempty"`
UserId int32 `protobuf:"varint,8,opt,name=UserId,proto3" json:"UserId,omitempty"`
Addtime int64 `protobuf:"varint,9,opt,name=Addtime,proto3" json:"Addtime,omitempty"`
Updatetime int64 `protobuf:"varint,10,opt,name=Updatetime,proto3" json:"Updatetime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CourseTopic) Reset() { *m = CourseTopic{} }
func (m *CourseTopic) String() string { return proto.CompactTextString(m) }
func (*CourseTopic) ProtoMessage() {}
func (*CourseTopic) Descriptor() ([]byte, []int) {
return fileDescriptor_f51a07ace88d3cfc, []int{0}
}
func (m *CourseTopic) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CourseTopic.Unmarshal(m, b)
}
func (m *CourseTopic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CourseTopic.Marshal(b, m, deterministic)
}
func (m *CourseTopic) XXX_Merge(src proto.Message) {
xxx_messageInfo_CourseTopic.Merge(m, src)
}
func (m *CourseTopic) XXX_Size() int {
return xxx_messageInfo_CourseTopic.Size(m)
}
func (m *CourseTopic) XXX_DiscardUnknown() {
xxx_messageInfo_CourseTopic.DiscardUnknown(m)
}
var xxx_messageInfo_CourseTopic proto.InternalMessageInfo
func (m *CourseTopic) GetId() int32 {
if m != nil {
return m.Id
}
return 0
}
func (m *CourseTopic) GetCourseId() int32 {
if m != nil {
return m.CourseId
}
return 0
}
func (m *CourseTopic) GetCourseDid() int32 {
if m != nil {
return m.CourseDid
}
return 0
}
func (m *CourseTopic) GetLikes() int32 {
if m != nil {
return m.Likes
}
return 0
}
func (m *CourseTopic) GetUnlikes() int32 {
if m != nil {
return m.Unlikes
}
return 0
}
func (m *CourseTopic) GetTitle() string {
if m != nil {
return m.Title
}
return ""
}
func (m *CourseTopic) GetContent() string {
if m != nil {
return m.Content
}
return ""
}
func (m *CourseTopic) GetUserId() int32 {
if m != nil {
return m.UserId
}
return 0
}
func (m *CourseTopic) GetAddtime() int64 {
if m != nil {
return m.Addtime
}
return 0
}
func (m *CourseTopic) GetUpdatetime() int64 {
if m != nil {
return m.Updatetime
}
return 0
}
type CourseTopicReply struct {
Id int32 `protobuf:"varint,1,opt,name=Id,proto3" json:"Id,omitempty"`
TopicId int32 `protobuf:"varint,2,opt,name=TopicId,proto3" json:"TopicId,omitempty"`
Content string `protobuf:"bytes,3,opt,name=Content,proto3" json:"Content,omitempty"`
UserId int32 `protobuf:"varint,4,opt,name=UserId,proto3" json:"UserId,omitempty"`
Likes int32 `protobuf:"varint,5,opt,name=Likes,proto3" json:"Likes,omitempty"`
Unlikes int32 `protobuf:"varint,6,opt,name=Unlikes,proto3" json:"Unlikes,omitempty"`
Addtime int64 `protobuf:"varint,7,opt,name=Addtime,proto3" json:"Addtime,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *CourseTopicReply) Reset() { *m = CourseTopicReply{} }
func (m *CourseTopicReply) String() string { return proto.CompactTextString(m) }
func (*CourseTopicReply) ProtoMessage() {}
func (*CourseTopicReply) Descriptor() ([]byte, []int) {
return fileDescriptor_f51a07ace88d3cfc, []int{1}
}
func (m *CourseTopicReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CourseTopicReply.Unmarshal(m, b)
}
func (m *CourseTopicReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CourseTopicReply.Marshal(b, m, deterministic)
}
func (m *CourseTopicReply) XXX_Merge(src proto.Message) {
xxx_messageInfo_CourseTopicReply.Merge(m, src)
}
func (m *CourseTopicReply) XXX_Size() int {
return xxx_messageInfo_CourseTopicReply.Size(m)
}
func (m *CourseTopicReply) XXX_DiscardUnknown() {
xxx_messageInfo_CourseTopicReply.DiscardUnknown(m)
}
var xxx_messageInfo_CourseTopicReply proto.InternalMessageInfo
func (m *CourseTopicReply) GetId() int32 {
if m != nil {
return m.Id
}
return 0
}
func (m *CourseTopicReply) GetTopicId() int32 {
if m != nil {
return m.TopicId
}
return 0
}
func (m *CourseTopicReply) GetContent() string {
if m != nil {
return m.Content
}
return ""
}
func (m *CourseTopicReply) GetUserId() int32 {
if m != nil {
return m.UserId
}
return 0
}
func (m *CourseTopicReply) GetLikes() int32 {
if m != nil {
return m.Likes
}
return 0
}
func (m *CourseTopicReply) GetUnlikes() int32 {
if m != nil {
return m.Unlikes
}
return 0
}
func (m *CourseTopicReply) GetAddtime() int64 {
if m != nil {
return m.Addtime
}
return 0
}
type TopicRequest struct {
CourseId int32 `protobuf:"varint,1,opt,name=CourseId,proto3" json:"CourseId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TopicRequest) Reset() { *m = TopicRequest{} }
func (m *TopicRequest) String() string { return proto.CompactTextString(m) }
func (*TopicRequest) ProtoMessage() {}
func (*TopicRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_f51a07ace88d3cfc, []int{2}
}
func (m *TopicRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TopicRequest.Unmarshal(m, b)
}
func (m *TopicRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TopicRequest.Marshal(b, m, deterministic)
}
func (m *TopicRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_TopicRequest.Merge(m, src)
}
func (m *TopicRequest) XXX_Size() int {
return xxx_messageInfo_TopicRequest.Size(m)
}
func (m *TopicRequest) XXX_DiscardUnknown() {
xxx_messageInfo_TopicRequest.DiscardUnknown(m)
}
var xxx_messageInfo_TopicRequest proto.InternalMessageInfo
func (m *TopicRequest) GetCourseId() int32 {
if m != nil {
return m.CourseId
}
return 0
}
type TopicResponse struct {
Result []*CourseTopic `protobuf:"bytes,1,rep,name=result,proto3" json:"result,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TopicResponse) Reset() { *m = TopicResponse{} }
func (m *TopicResponse) String() string { return proto.CompactTextString(m) }
func (*TopicResponse) ProtoMessage() {}
func (*TopicResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_f51a07ace88d3cfc, []int{3}
}
func (m *TopicResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TopicResponse.Unmarshal(m, b)
}
func (m *TopicResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TopicResponse.Marshal(b, m, deterministic)
}
func (m *TopicResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_TopicResponse.Merge(m, src)
}
func (m *TopicResponse) XXX_Size() int {
return xxx_messageInfo_TopicResponse.Size(m)
}
func (m *TopicResponse) XXX_DiscardUnknown() {
xxx_messageInfo_TopicResponse.DiscardUnknown(m)
}
var xxx_messageInfo_TopicResponse proto.InternalMessageInfo
func (m *TopicResponse) GetResult() []*CourseTopic {
if m != nil {
return m.Result
}
return nil
}
func init() {
proto.RegisterType((*CourseTopic)(nil), "course.CourseTopic")
proto.RegisterType((*CourseTopicReply)(nil), "course.CourseTopicReply")
proto.RegisterType((*TopicRequest)(nil), "course.TopicRequest")
proto.RegisterType((*TopicResponse)(nil), "course.TopicResponse")
}
func init() { proto.RegisterFile("course_topic.proto", fileDescriptor_f51a07ace88d3cfc) }
var fileDescriptor_f51a07ace88d3cfc = []byte{
// 337 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xc1, 0x4b, 0xc3, 0x30,
0x14, 0xc6, 0x49, 0xbb, 0xb6, 0xdb, 0x9b, 0x8a, 0xc4, 0x29, 0x61, 0x88, 0x94, 0x9e, 0x8a, 0xc2,
0x0e, 0xf3, 0xe0, 0xc5, 0x8b, 0x4c, 0x90, 0x82, 0x5e, 0xea, 0x76, 0x16, 0x5d, 0xde, 0xa1, 0x58,
0xdb, 0xda, 0x64, 0x82, 0x7f, 0x82, 0xff, 0x91, 0x7f, 0x9e, 0xf4, 0xa5, 0x9d, 0xa9, 0xb2, 0x5b,
0xbe, 0xdf, 0xf7, 0xd2, 0x7e, 0xf9, 0x12, 0xe0, 0xeb, 0x72, 0x53, 0x2b, 0x7c, 0xd2, 0x65, 0x95,
0xad, 0x67, 0x55, 0x5d, 0xea, 0x92, 0xfb, 0x86, 0x45, 0x5f, 0x0e, 0x8c, 0x17, 0xb4, 0x5c, 0x36,
0x2e, 0x3f, 0x00, 0x27, 0x91, 0x82, 0x85, 0x2c, 0xf6, 0x52, 0x27, 0x91, 0x7c, 0x0a, 0x43, 0x63,
0x27, 0x52, 0x38, 0x44, 0xb7, 0x9a, 0x9f, 0xc2, 0xc8, 0xac, 0x6f, 0x33, 0x29, 0x5c, 0x32, 0x7f,
0x01, 0x9f, 0x80, 0x77, 0x9f, 0xbd, 0xa2, 0x12, 0x03, 0x72, 0x8c, 0xe0, 0x02, 0x82, 0x55, 0x91,
0x13, 0xf7, 0x88, 0x77, 0xb2, 0x99, 0x5f, 0x66, 0x3a, 0x47, 0xe1, 0x87, 0x2c, 0x1e, 0xa5, 0x46,
0x34, 0xf3, 0x8b, 0xb2, 0xd0, 0x58, 0x68, 0x11, 0x10, 0xef, 0x24, 0x3f, 0x01, 0x7f, 0xa5, 0xb0,
0x4e, 0xa4, 0x18, 0xd2, 0x87, 0x5a, 0xd5, 0xec, 0xb8, 0x91, 0x52, 0x67, 0x6f, 0x28, 0x46, 0x21,
0x8b, 0xdd, 0xb4, 0x93, 0xfc, 0x0c, 0x60, 0x55, 0xc9, 0x67, 0x8d, 0x64, 0x02, 0x99, 0x16, 0x89,
0xbe, 0x19, 0x1c, 0x5a, 0x5d, 0xa4, 0x58, 0xe5, 0x9f, 0xff, 0x0a, 0x11, 0x10, 0x90, 0xbb, 0xed,
0xa3, 0x93, 0x76, 0x54, 0x77, 0x57, 0xd4, 0x41, 0x2f, 0xea, 0xb6, 0x22, 0x6f, 0x47, 0x45, 0x7e,
0xbf, 0x22, 0xeb, 0x68, 0x41, 0xef, 0x68, 0xd1, 0x39, 0xec, 0xb5, 0x99, 0xdf, 0x37, 0xa8, 0x74,
0xef, 0xda, 0x58, 0xff, 0xda, 0xa2, 0x6b, 0xd8, 0x6f, 0x67, 0x55, 0x55, 0x16, 0x0a, 0xf9, 0x05,
0xf8, 0x35, 0xaa, 0x4d, 0xae, 0x05, 0x0b, 0xdd, 0x78, 0x3c, 0x3f, 0x9a, 0x99, 0xc7, 0x31, 0xb3,
0xcb, 0x68, 0x47, 0xe6, 0x0f, 0xc0, 0x2d, 0xfc, 0x88, 0xf5, 0x47, 0xb6, 0x46, 0x7e, 0x05, 0xc3,
0x3b, 0xd4, 0xe6, 0x09, 0x4d, 0xba, 0xed, 0x76, 0xa2, 0xe9, 0xf1, 0x1f, 0x6a, 0xfe, 0xfd, 0xe2,
0xd3, 0x73, 0xbc, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x1f, 0xc4, 0xb7, 0xa4, 0x02, 0x00,
0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: course_topic.proto
package course
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
import (
context "context"
api "github.com/micro/go-micro/v2/api"
client "github.com/micro/go-micro/v2/client"
server "github.com/micro/go-micro/v2/server"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Reference imports to suppress errors if they are not otherwise used.
var _ api.Endpoint
var _ context.Context
var _ client.Option
var _ server.Option
// Api Endpoints for CourseTopicService service
func NewCourseTopicServiceEndpoints() []*api.Endpoint {
return []*api.Endpoint{}
}
// Client API for CourseTopicService service
type CourseTopicService interface {
GetTopic(ctx context.Context, in *TopicRequest, opts ...client.CallOption) (*TopicResponse, error)
}
type courseTopicService struct {
c client.Client
name string
}
func NewCourseTopicService(name string, c client.Client) CourseTopicService {
return &courseTopicService{
c: c,
name: name,
}
}
func (c *courseTopicService) GetTopic(ctx context.Context, in *TopicRequest, opts ...client.CallOption) (*TopicResponse, error) {
req := c.c.NewRequest(c.name, "CourseTopicService.GetTopic", in)
out := new(TopicResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for CourseTopicService service
type CourseTopicServiceHandler interface {
GetTopic(context.Context, *TopicRequest, *TopicResponse) error
}
func RegisterCourseTopicServiceHandler(s server.Server, hdlr CourseTopicServiceHandler, opts ...server.HandlerOption) error {
type courseTopicService interface {
GetTopic(ctx context.Context, in *TopicRequest, out *TopicResponse) error
}
type CourseTopicService struct {
courseTopicService
}
h := &courseTopicServiceHandler{hdlr}
return s.Handle(s.NewHandler(&CourseTopicService{h}, opts...))
}
type courseTopicServiceHandler struct {
CourseTopicServiceHandler
}
func (h *courseTopicServiceHandler) GetTopic(ctx context.Context, in *TopicRequest, out *TopicResponse) error {
return h.CourseTopicServiceHandler.GetTopic(ctx, in, out)
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: goods.proto
package goods
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type OTHER_ATTRS struct {
GrossWegiht string `protobuf:"bytes,1,opt,name=gross_wegiht,json=grossWegiht,proto3" json:"gross_wegiht,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OTHER_ATTRS) Reset() { *m = OTHER_ATTRS{} }
func (m *OTHER_ATTRS) String() string { return proto.CompactTextString(m) }
func (*OTHER_ATTRS) ProtoMessage() {}
func (*OTHER_ATTRS) Descriptor() ([]byte, []int) {
return fileDescriptor_a30593c5487368b0, []int{0}
}
func (m *OTHER_ATTRS) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OTHER_ATTRS.Unmarshal(m, b)
}
func (m *OTHER_ATTRS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OTHER_ATTRS.Marshal(b, m, deterministic)
}
func (m *OTHER_ATTRS) XXX_Merge(src proto.Message) {
xxx_messageInfo_OTHER_ATTRS.Merge(m, src)
}
func (m *OTHER_ATTRS) XXX_Size() int {
return xxx_messageInfo_OTHER_ATTRS.Size(m)
}
func (m *OTHER_ATTRS) XXX_DiscardUnknown() {
xxx_messageInfo_OTHER_ATTRS.DiscardUnknown(m)
}
var xxx_messageInfo_OTHER_ATTRS proto.InternalMessageInfo
func (m *OTHER_ATTRS) GetGrossWegiht() string {
if m != nil {
return m.GrossWegiht
}
return ""
}
type LADDER_PRICE struct {
Purchases int64 `protobuf:"varint,1,opt,name=purchases,proto3" json:"purchases,omitempty"`
PriceCn float32 `protobuf:"fixed32,2,opt,name=price_cn,json=priceCn,proto3" json:"price_cn,omitempty"`
PriceUs float32 `protobuf:"fixed32,3,opt,name=price_us,json=priceUs,proto3" json:"price_us,omitempty"`
PriceAc float32 `protobuf:"fixed32,4,opt,name=price_ac,json=priceAc,proto3" json:"price_ac,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LADDER_PRICE) Reset() { *m = LADDER_PRICE{} }
func (m *LADDER_PRICE) String() string { return proto.CompactTextString(m) }
func (*LADDER_PRICE) ProtoMessage() {}
func (*LADDER_PRICE) Descriptor() ([]byte, []int) {
return fileDescriptor_a30593c5487368b0, []int{1}
}
func (m *LADDER_PRICE) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LADDER_PRICE.Unmarshal(m, b)
}
func (m *LADDER_PRICE) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LADDER_PRICE.Marshal(b, m, deterministic)
}
func (m *LADDER_PRICE) XXX_Merge(src proto.Message) {
xxx_messageInfo_LADDER_PRICE.Merge(m, src)
}
func (m *LADDER_PRICE) XXX_Size() int {
return xxx_messageInfo_LADDER_PRICE.Size(m)
}
func (m *LADDER_PRICE) XXX_DiscardUnknown() {
xxx_messageInfo_LADDER_PRICE.DiscardUnknown(m)
}
var xxx_messageInfo_LADDER_PRICE proto.InternalMessageInfo
func (m *LADDER_PRICE) GetPurchases() int64 {
if m != nil {
return m.Purchases
}
return 0
}
func (m *LADDER_PRICE) GetPriceCn() float32 {
if m != nil {
return m.PriceCn
}
return 0
}
func (m *LADDER_PRICE) GetPriceUs() float32 {
if m != nil {
return m.PriceUs
}
return 0
}
func (m *LADDER_PRICE) GetPriceAc() float32 {
if m != nil {
return m.PriceAc
}
return 0
}
type GoodsModel struct {
OtherAttrs *OTHER_ATTRS `protobuf:"bytes,1,opt,name=other_attrs,json=otherAttrs,proto3" json:"other_attrs,omitempty"`
PickType int64 `protobuf:"varint,2,opt,name=pick_type,json=pickType,proto3" json:"pick_type,omitempty"`
Barcode string `protobuf:"bytes,3,opt,name=barcode,proto3" json:"barcode,omitempty"`
GoodsId string `protobuf:"bytes,4,opt,name=goods_id,json=goodsId,proto3" json:"goods_id,omitempty"`
GoodsType int64 `protobuf:"varint,5,opt,name=goods_type,json=goodsType,proto3" json:"goods_type,omitempty"`
SupplierId int64 `protobuf:"varint,6,opt,name=supplier_id,json=supplierId,proto3" json:"supplier_id,omitempty"`
BrandId int64 `protobuf:"varint,7,opt,name=brand_id,json=brandId,proto3" json:"brand_id,omitempty"`
ClassId1 int64 `protobuf:"varint,8,opt,name=class_id1,json=classId1,proto3" json:"class_id1,omitempty"`
ClassId2 int64 `protobuf:"varint,9,opt,name=class_id2,json=classId2,proto3" json:"class_id2,omitempty"`
GoodsName string `protobuf:"bytes,10,opt,name=goods_name,json=goodsName,proto3" json:"goods_name,omitempty"`
Status int64 `protobuf:"varint,11,opt,name=status,proto3" json:"status,omitempty"`
Encoded string `protobuf:"bytes,12,opt,name=encoded,proto3" json:"encoded,omitempty"`
Encap string `protobuf:"bytes,13,opt,name=encap,proto3" json:"encap,omitempty"`
Packing int64 `protobuf:"varint,14,opt,name=packing,proto3" json:"packing,omitempty"`
GoodsUnit int64 `protobuf:"varint,15,opt,name=goods_unit,json=goodsUnit,proto3" json:"goods_unit,omitempty"`
GoodsImages bool `protobuf:"varint,16,opt,name=goods_images,json=goodsImages,proto3" json:"goods_images,omitempty"`
Pdf bool `protobuf:"varint,17,opt,name=pdf,proto3" json:"pdf,omitempty"`
GoodsBrief string `protobuf:"bytes,18,opt,name=goods_brief,json=goodsBrief,proto3" json:"goods_brief,omitempty"`
Moq int64 `protobuf:"varint,19,opt,name=moq,proto3" json:"moq,omitempty"`
Mpq int64 `protobuf:"varint,20,opt,name=mpq,proto3" json:"mpq,omitempty"`
LadderPrice []*LADDER_PRICE `protobuf:"bytes,21,rep,name=ladder_price,json=ladderPrice,proto3" json:"ladder_price,omitempty"`
UpdateTime int64 `protobuf:"varint,22,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
SkuName string `protobuf:"bytes,23,opt,name=sku_name,json=skuName,proto3" json:"sku_name,omitempty"`
Mpl int64 `protobuf:"varint,24,opt,name=mpl,proto3" json:"mpl,omitempty"`
Stock int64 `protobuf:"varint,25,opt,name=stock,proto3" json:"stock,omitempty"`
Attrs string `protobuf:"bytes,26,opt,name=attrs,proto3" json:"attrs,omitempty"`
Cost string `protobuf:"bytes,27,opt,name=cost,proto3" json:"cost,omitempty"`
NewCost string `protobuf:"bytes,28,opt,name=new_cost,json=newCost,proto3" json:"new_cost,omitempty"`
SupplierStock int64 `protobuf:"varint,29,opt,name=supplier_stock,json=supplierStock,proto3" json:"supplier_stock,omitempty"`
SelfSupplierType int64 `protobuf:"varint,30,opt,name=self_supplier_type,json=selfSupplierType,proto3" json:"self_supplier_type,omitempty"`
CnDeliveryTime string `protobuf:"bytes,31,opt,name=cn_delivery_time,json=cnDeliveryTime,proto3" json:"cn_delivery_time,omitempty"`
BrandName string `protobuf:"bytes,32,opt,name=brand_name,json=brandName,proto3" json:"brand_name,omitempty"`
SupplierName string `protobuf:"bytes,33,opt,name=supplier_name,json=supplierName,proto3" json:"supplier_name,omitempty"`
GoodsUnitName string `protobuf:"bytes,34,opt,name=goods_unit_name,json=goodsUnitName,proto3" json:"goods_unit_name,omitempty"`
PackingName string `protobuf:"bytes,35,opt,name=packing_name,json=packingName,proto3" json:"packing_name,omitempty"`
MpqUnitName string `protobuf:"bytes,36,opt,name=mpq_unit_name,json=mpqUnitName,proto3" json:"mpq_unit_name,omitempty"`
AcType int64 `protobuf:"varint,37,opt,name=ac_type,json=acType,proto3" json:"ac_type,omitempty"`
AllowCoupon int64 `protobuf:"varint,38,opt,name=allow_coupon,json=allowCoupon,proto3" json:"allow_coupon,omitempty"`
ClassId1Name string `protobuf:"bytes,39,opt,name=class_id1_name,json=classId1Name,proto3" json:"class_id1_name,omitempty"`
ClassId2Name string `protobuf:"bytes,40,opt,name=class_id2_name,json=classId2Name,proto3" json:"class_id2_name,omitempty"`
IsBuy int64 `protobuf:"varint,41,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"`
HkDeliveryType string `protobuf:"bytes,42,opt,name=hk_delivery_type,json=hkDeliveryType,proto3" json:"hk_delivery_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GoodsModel) Reset() { *m = GoodsModel{} }
func (m *GoodsModel) String() string { return proto.CompactTextString(m) }
func (*GoodsModel) ProtoMessage() {}
func (*GoodsModel) Descriptor() ([]byte, []int) {
return fileDescriptor_a30593c5487368b0, []int{2}
}
func (m *GoodsModel) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GoodsModel.Unmarshal(m, b)
}
func (m *GoodsModel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GoodsModel.Marshal(b, m, deterministic)
}
func (m *GoodsModel) XXX_Merge(src proto.Message) {
xxx_messageInfo_GoodsModel.Merge(m, src)
}
func (m *GoodsModel) XXX_Size() int {
return xxx_messageInfo_GoodsModel.Size(m)
}
func (m *GoodsModel) XXX_DiscardUnknown() {
xxx_messageInfo_GoodsModel.DiscardUnknown(m)
}
var xxx_messageInfo_GoodsModel proto.InternalMessageInfo
func (m *GoodsModel) GetOtherAttrs() *OTHER_ATTRS {
if m != nil {
return m.OtherAttrs
}
return nil
}
func (m *GoodsModel) GetPickType() int64 {
if m != nil {
return m.PickType
}
return 0
}
func (m *GoodsModel) GetBarcode() string {
if m != nil {
return m.Barcode
}
return ""
}
func (m *GoodsModel) GetGoodsId() string {
if m != nil {
return m.GoodsId
}
return ""
}
func (m *GoodsModel) GetGoodsType() int64 {
if m != nil {
return m.GoodsType
}
return 0
}
func (m *GoodsModel) GetSupplierId() int64 {
if m != nil {
return m.SupplierId
}
return 0
}
func (m *GoodsModel) GetBrandId() int64 {
if m != nil {
return m.BrandId
}
return 0
}
func (m *GoodsModel) GetClassId1() int64 {
if m != nil {
return m.ClassId1
}
return 0
}
func (m *GoodsModel) GetClassId2() int64 {
if m != nil {
return m.ClassId2
}
return 0
}
func (m *GoodsModel) GetGoodsName() string {
if m != nil {
return m.GoodsName
}
return ""
}
func (m *GoodsModel) GetStatus() int64 {
if m != nil {
return m.Status
}
return 0
}
func (m *GoodsModel) GetEncoded() string {
if m != nil {
return m.Encoded
}
return ""
}
func (m *GoodsModel) GetEncap() string {
if m != nil {
return m.Encap
}
return ""
}
func (m *GoodsModel) GetPacking() int64 {
if m != nil {
return m.Packing
}
return 0
}
func (m *GoodsModel) GetGoodsUnit() int64 {
if m != nil {
return m.GoodsUnit
}
return 0
}
func (m *GoodsModel) GetGoodsImages() bool {
if m != nil {
return m.GoodsImages
}
return false
}
func (m *GoodsModel) GetPdf() bool {
if m != nil {
return m.Pdf
}
return false
}
func (m *GoodsModel) GetGoodsBrief() string {
if m != nil {
return m.GoodsBrief
}
return ""
}
func (m *GoodsModel) GetMoq() int64 {
if m != nil {
return m.Moq
}
return 0
}
func (m *GoodsModel) GetMpq() int64 {
if m != nil {
return m.Mpq
}
return 0
}
func (m *GoodsModel) GetLadderPrice() []*LADDER_PRICE {
if m != nil {
return m.LadderPrice
}
return nil
}
func (m *GoodsModel) GetUpdateTime() int64 {
if m != nil {
return m.UpdateTime
}
return 0
}
func (m *GoodsModel) GetSkuName() string {
if m != nil {
return m.SkuName
}
return ""
}
func (m *GoodsModel) GetMpl() int64 {
if m != nil {
return m.Mpl
}
return 0
}
func (m *GoodsModel) GetStock() int64 {
if m != nil {
return m.Stock
}
return 0
}
func (m *GoodsModel) GetAttrs() string {
if m != nil {
return m.Attrs
}
return ""
}
func (m *GoodsModel) GetCost() string {
if m != nil {
return m.Cost
}
return ""
}
func (m *GoodsModel) GetNewCost() string {
if m != nil {
return m.NewCost
}
return ""
}
func (m *GoodsModel) GetSupplierStock() int64 {
if m != nil {
return m.SupplierStock
}
return 0
}
func (m *GoodsModel) GetSelfSupplierType() int64 {
if m != nil {
return m.SelfSupplierType
}
return 0
}
func (m *GoodsModel) GetCnDeliveryTime() string {
if m != nil {
return m.CnDeliveryTime
}
return ""
}
func (m *GoodsModel) GetBrandName() string {
if m != nil {
return m.BrandName
}
return ""
}
func (m *GoodsModel) GetSupplierName() string {
if m != nil {
return m.SupplierName
}
return ""
}
func (m *GoodsModel) GetGoodsUnitName() string {
if m != nil {
return m.GoodsUnitName
}
return ""
}
func (m *GoodsModel) GetPackingName() string {
if m != nil {
return m.PackingName
}
return ""
}
func (m *GoodsModel) GetMpqUnitName() string {
if m != nil {
return m.MpqUnitName
}
return ""
}
func (m *GoodsModel) GetAcType() int64 {
if m != nil {
return m.AcType
}
return 0
}
func (m *GoodsModel) GetAllowCoupon() int64 {
if m != nil {
return m.AllowCoupon
}
return 0
}
func (m *GoodsModel) GetClassId1Name() string {
if m != nil {
return m.ClassId1Name
}
return ""
}
func (m *GoodsModel) GetClassId2Name() string {
if m != nil {
return m.ClassId2Name
}
return ""
}
func (m *GoodsModel) GetIsBuy() int64 {
if m != nil {
return m.IsBuy
}
return 0
}
func (m *GoodsModel) GetHkDeliveryType() string {
if m != nil {
return m.HkDeliveryType
}
return ""
}
func init() {
proto.RegisterType((*OTHER_ATTRS)(nil), "goods.OTHER_ATTRS")
proto.RegisterType((*LADDER_PRICE)(nil), "goods.LADDER_PRICE")
proto.RegisterType((*GoodsModel)(nil), "goods.GoodsModel")
}
func init() { proto.RegisterFile("goods.proto", fileDescriptor_a30593c5487368b0) }
var fileDescriptor_a30593c5487368b0 = []byte{
// 774 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x54, 0x5d, 0x6f, 0xea, 0x46,
0x10, 0x15, 0x97, 0x1b, 0x3e, 0xc6, 0xc0, 0xa5, 0x7b, 0xef, 0x4d, 0x36, 0x4d, 0xd2, 0x00, 0xf9,
0x28, 0xad, 0xaa, 0xa8, 0x21, 0x52, 0xdf, 0x09, 0x89, 0x5a, 0xa4, 0x7e, 0x44, 0x0e, 0x51, 0x1f,
0xad, 0x65, 0xbd, 0x01, 0x0b, 0x7f, 0x2c, 0x5e, 0xbb, 0x11, 0x0f, 0xfd, 0x2b, 0xfd, 0xad, 0xd5,
0xce, 0x18, 0x70, 0xde, 0x3c, 0x67, 0xce, 0xee, 0x9c, 0x39, 0x9c, 0x05, 0x9c, 0x45, 0x92, 0xf8,
0xe6, 0x46, 0xa7, 0x49, 0x96, 0xb0, 0x03, 0x2c, 0x06, 0x3f, 0x83, 0xf3, 0xd7, 0xec, 0xb7, 0x47,
0xd7, 0x1b, 0xcf, 0x66, 0xee, 0x33, 0xeb, 0x43, 0x6b, 0x91, 0x26, 0xc6, 0x78, 0x6f, 0x6a, 0x11,
0x2c, 0x33, 0x5e, 0xe9, 0x55, 0x86, 0x4d, 0xd7, 0x41, 0xec, 0x6f, 0x84, 0x06, 0xff, 0x42, 0xeb,
0xf7, 0xf1, 0xc3, 0xc3, 0xa3, 0xeb, 0x3d, 0xb9, 0xd3, 0xc9, 0x23, 0x3b, 0x85, 0xa6, 0xce, 0x53,
0xb9, 0x14, 0x46, 0x19, 0xe4, 0x57, 0xdd, 0x3d, 0xc0, 0x8e, 0xa1, 0xa1, 0xd3, 0x40, 0x2a, 0x4f,
0xc6, 0xfc, 0x43, 0xaf, 0x32, 0xfc, 0xe0, 0xd6, 0xb1, 0x9e, 0xc4, 0xfb, 0x56, 0x6e, 0x78, 0xb5,
0xd4, 0x7a, 0x29, 0x9d, 0x12, 0x92, 0x7f, 0x2c, 0xb5, 0xc6, 0x72, 0xf0, 0x1f, 0x00, 0xfc, 0x6a,
0xa5, 0xff, 0x91, 0xf8, 0x2a, 0x64, 0x77, 0xe0, 0x24, 0xd9, 0x52, 0xa5, 0x9e, 0xc8, 0xb2, 0x94,
0xe6, 0x3b, 0x23, 0x76, 0x43, 0x9b, 0x96, 0x36, 0x73, 0x01, 0x69, 0x63, 0xcb, 0x62, 0x27, 0xd0,
0xd4, 0x81, 0x5c, 0x79, 0xd9, 0x46, 0x2b, 0x54, 0x55, 0x75, 0x1b, 0x16, 0x98, 0x6d, 0xb4, 0x62,
0x1c, 0xea, 0x73, 0x91, 0xca, 0xc4, 0x57, 0xa8, 0xaa, 0xe9, 0x6e, 0x4b, 0xab, 0x0a, 0xef, 0xf5,
0x02, 0x1f, 0x55, 0x35, 0xdd, 0x3a, 0xd6, 0x53, 0x9f, 0x9d, 0x01, 0x50, 0x0b, 0xaf, 0x3c, 0x20,
0x17, 0x10, 0xc1, 0x3b, 0xcf, 0xc1, 0x31, 0xb9, 0xd6, 0x61, 0xa0, 0x52, 0x7b, 0xb8, 0x86, 0x7d,
0xd8, 0x42, 0x53, 0xdf, 0x5e, 0x3d, 0x4f, 0x45, 0xec, 0xdb, 0x6e, 0x1d, 0xbb, 0x75, 0xac, 0xa7,
0xbe, 0x15, 0x2b, 0x43, 0x61, 0xec, 0xd4, 0x5b, 0xde, 0x20, 0xb1, 0x08, 0x4c, 0xfd, 0xdb, 0x72,
0x73, 0xc4, 0x9b, 0xef, 0x9a, 0xa3, 0xbd, 0xa8, 0x58, 0x44, 0x8a, 0x03, 0x2a, 0x26, 0x51, 0x7f,
0x8a, 0x48, 0xb1, 0x43, 0xa8, 0x99, 0x4c, 0x64, 0xb9, 0xe1, 0x0e, 0x1e, 0x2c, 0x2a, 0x6b, 0x80,
0x8a, 0xed, 0xc2, 0x3e, 0x6f, 0xd1, 0x96, 0x45, 0xc9, 0xbe, 0xc0, 0x81, 0x8a, 0xa5, 0xd0, 0xbc,
0x8d, 0x38, 0x15, 0x96, 0xaf, 0x85, 0x5c, 0x05, 0xf1, 0x82, 0x77, 0x48, 0x7a, 0x51, 0xee, 0x05,
0xe4, 0x71, 0x90, 0xf1, 0x4f, 0x25, 0x57, 0x5e, 0xe2, 0x20, 0xc3, 0xb0, 0x91, 0x9f, 0x91, 0x58,
0x28, 0xc3, 0xbb, 0xbd, 0xca, 0xb0, 0xe1, 0x52, 0x4a, 0xa7, 0x08, 0xb1, 0x2e, 0x54, 0xb5, 0xff,
0xca, 0xbf, 0xc1, 0x8e, 0xfd, 0xb4, 0x56, 0xd2, 0xa1, 0x79, 0x1a, 0xa8, 0x57, 0xce, 0x50, 0x09,
0x8d, 0xb9, 0xb7, 0x88, 0x3d, 0x12, 0x25, 0x6b, 0xfe, 0x19, 0xa7, 0xd9, 0x4f, 0x44, 0xf4, 0x9a,
0x7f, 0x29, 0x10, 0xbd, 0x66, 0xbf, 0x40, 0x2b, 0x14, 0xbe, 0xaf, 0x52, 0x0f, 0x63, 0xc5, 0xbf,
0xf6, 0xaa, 0x43, 0x67, 0xf4, 0xb9, 0x88, 0x4d, 0x39, 0xde, 0xae, 0x43, 0xc4, 0x27, 0xcb, 0xb3,
0xc3, 0x73, 0xed, 0x8b, 0x4c, 0x79, 0x59, 0x10, 0x29, 0x7e, 0x48, 0xbf, 0x23, 0x41, 0xb3, 0x20,
0xc2, 0x88, 0x98, 0x55, 0x4e, 0x86, 0x1f, 0x91, 0x79, 0x66, 0x95, 0xa3, 0xdd, 0xa8, 0x22, 0xe4,
0x7c, 0xab, 0x22, 0xb4, 0x76, 0x9a, 0x2c, 0x91, 0x2b, 0x7e, 0x8c, 0x18, 0x15, 0x16, 0xa5, 0x2c,
0x7f, 0x4b, 0x26, 0x63, 0xc1, 0x18, 0x7c, 0x94, 0x89, 0xc9, 0xf8, 0x09, 0x82, 0xf8, 0x6d, 0x87,
0xc5, 0xea, 0xcd, 0x43, 0xfc, 0x94, 0x86, 0xc5, 0xea, 0x6d, 0x62, 0x5b, 0x57, 0xd0, 0xd9, 0x05,
0x8e, 0x66, 0x9c, 0xe1, 0x8c, 0xf6, 0x16, 0x7d, 0xc6, 0x59, 0x3f, 0x01, 0x33, 0x2a, 0x7c, 0xf5,
0x76, 0x5c, 0x8c, 0xef, 0x77, 0x48, 0xed, 0xda, 0xce, 0x73, 0xd1, 0xc0, 0x14, 0x0f, 0xa1, 0x2b,
0x63, 0xcf, 0x57, 0x61, 0xf0, 0x8f, 0x4a, 0x37, 0x64, 0xc1, 0x39, 0xce, 0xed, 0xc8, 0xf8, 0xa1,
0x80, 0xd1, 0x86, 0x33, 0x00, 0x8a, 0x33, 0x1a, 0xd1, 0xa3, 0xe4, 0x21, 0x82, 0x56, 0x5c, 0xc0,
0x4e, 0x07, 0x31, 0xfa, 0xc8, 0x68, 0x6d, 0x41, 0x24, 0x5d, 0xc3, 0xa7, 0x7d, 0x78, 0x88, 0x36,
0x40, 0x5a, 0x7b, 0x97, 0x20, 0xe4, 0xf5, 0xa1, 0x55, 0xe4, 0x8d, 0x48, 0x17, 0xf4, 0x97, 0x55,
0x60, 0x48, 0x19, 0x40, 0x3b, 0xd2, 0xeb, 0xd2, 0x45, 0x97, 0xc4, 0x89, 0xf4, 0x7a, 0x77, 0xcd,
0x11, 0xd4, 0x85, 0xa4, 0xfd, 0xaf, 0xe8, 0x39, 0x08, 0x89, 0x5b, 0xf7, 0xa1, 0x25, 0xc2, 0x30,
0xb1, 0x3e, 0xe7, 0x3a, 0x89, 0xf9, 0x35, 0x76, 0x1d, 0xc4, 0x26, 0x08, 0xb1, 0x4b, 0xe8, 0xec,
0x9e, 0x28, 0x0d, 0xf8, 0x9e, 0x16, 0xda, 0xbe, 0x53, 0x9c, 0x50, 0x62, 0x8d, 0x88, 0x35, 0x7c,
0xc7, 0x1a, 0x21, 0xeb, 0x2b, 0xd4, 0x02, 0xe3, 0xcd, 0xf3, 0x0d, 0xff, 0x81, 0x52, 0x11, 0x98,
0xfb, 0x7c, 0x63, 0xbd, 0x5f, 0xae, 0x4a, 0xde, 0x5b, 0x9d, 0x3f, 0x92, 0xf7, 0xcb, 0xd5, 0xce,
0xfb, 0x8d, 0x56, 0xf3, 0x1a, 0xfe, 0xbf, 0xdf, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x3b, 0xa6,
0xc1, 0x76, 0xee, 0x05, 0x00, 0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: goods.proto
package goods
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0
// protoc v3.12.3
// source: mouser.proto
package mouser
import (
proto "github.com/golang/protobuf/proto"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// This is a compile-time assertion that a sufficiently up-to-date version
// of the legacy proto package is being used.
const _ = proto.ProtoPackageIsVersion4
type MouserRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// @inject_tag: uri:"goods_name"
GoodsName string `protobuf:"bytes,1,opt,name=goods_name,json=goodsName,proto3" json:"goods_name,omitempty"`
}
func (x *MouserRequest) Reset() {
*x = MouserRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MouserRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MouserRequest) ProtoMessage() {}
func (x *MouserRequest) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MouserRequest.ProtoReflect.Descriptor instead.
func (*MouserRequest) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{0}
}
func (x *MouserRequest) GetGoodsName() string {
if x != nil {
return x.GoodsName
}
return ""
}
type ResponseData struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// @inject_tag: json:"total"
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
// @inject_tag: json:"flag"
Flag int32 `protobuf:"varint,2,opt,name=flag,proto3" json:"flag,omitempty"`
// @inject_tag: json:"data"
Data []*GoodsModel `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"`
}
func (x *ResponseData) Reset() {
*x = ResponseData{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResponseData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResponseData) ProtoMessage() {}
func (x *ResponseData) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ResponseData.ProtoReflect.Descriptor instead.
func (*ResponseData) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{1}
}
func (x *ResponseData) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *ResponseData) GetFlag() int32 {
if x != nil {
return x.Flag
}
return 0
}
func (x *ResponseData) GetData() []*GoodsModel {
if x != nil {
return x.Data
}
return nil
}
type MouserResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// @inject_tag: json:"error_code"
ErrorCode int32 `protobuf:"varint,1,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
// @inject_tag: json:"error_message"
ErrorMessage string `protobuf:"bytes,2,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
// @inject_tag: json:"data"
Data *ResponseData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
}
func (x *MouserResponse) Reset() {
*x = MouserResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MouserResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MouserResponse) ProtoMessage() {}
func (x *MouserResponse) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MouserResponse.ProtoReflect.Descriptor instead.
func (*MouserResponse) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{2}
}
func (x *MouserResponse) GetErrorCode() int32 {
if x != nil {
return x.ErrorCode
}
return 0
}
func (x *MouserResponse) GetErrorMessage() string {
if x != nil {
return x.ErrorMessage
}
return ""
}
func (x *MouserResponse) GetData() *ResponseData {
if x != nil {
return x.Data
}
return nil
}
type OtherAttrs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
GrossWegiht string `protobuf:"bytes,1,opt,name=gross_wegiht,json=grossWegiht,proto3" json:"gross_wegiht,omitempty"`
}
func (x *OtherAttrs) Reset() {
*x = OtherAttrs{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OtherAttrs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OtherAttrs) ProtoMessage() {}
func (x *OtherAttrs) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OtherAttrs.ProtoReflect.Descriptor instead.
func (*OtherAttrs) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{3}
}
func (x *OtherAttrs) GetGrossWegiht() string {
if x != nil {
return x.GrossWegiht
}
return ""
}
type LadderPrice struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Purchases int64 `protobuf:"varint,1,opt,name=purchases,proto3" json:"purchases,omitempty"`
PriceCn float32 `protobuf:"fixed32,2,opt,name=price_cn,json=priceCn,proto3" json:"price_cn,omitempty"`
PriceUs float32 `protobuf:"fixed32,3,opt,name=price_us,json=priceUs,proto3" json:"price_us,omitempty"`
PriceAc float32 `protobuf:"fixed32,4,opt,name=price_ac,json=priceAc,proto3" json:"price_ac,omitempty"`
}
func (x *LadderPrice) Reset() {
*x = LadderPrice{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *LadderPrice) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LadderPrice) ProtoMessage() {}
func (x *LadderPrice) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LadderPrice.ProtoReflect.Descriptor instead.
func (*LadderPrice) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{4}
}
func (x *LadderPrice) GetPurchases() int64 {
if x != nil {
return x.Purchases
}
return 0
}
func (x *LadderPrice) GetPriceCn() float32 {
if x != nil {
return x.PriceCn
}
return 0
}
func (x *LadderPrice) GetPriceUs() float32 {
if x != nil {
return x.PriceUs
}
return 0
}
func (x *LadderPrice) GetPriceAc() float32 {
if x != nil {
return x.PriceAc
}
return 0
}
type GoodsModel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// @inject_tag: json:"other_attrs"
OtherAttrs *OtherAttrs `protobuf:"bytes,1,opt,name=other_attrs,json=otherAttrs,proto3" json:"other_attrs,omitempty"`
// @inject_tag: json:"pick_type"
PickType int64 `protobuf:"varint,2,opt,name=pick_type,json=pickType,proto3" json:"pick_type,omitempty"`
// @inject_tag: json:"barcode"
Barcode string `protobuf:"bytes,3,opt,name=barcode,proto3" json:"barcode,omitempty"`
// @inject_tag: json:"goods_id"
GoodsId string `protobuf:"bytes,4,opt,name=goods_id,json=goodsId,proto3" json:"goods_id,omitempty"`
// @inject_tag: json:"goods_type
GoodsType int64 `protobuf:"varint,5,opt,name=goods_type,json=goodsType,proto3" json:"goods_type,omitempty"`
// @inject_tag: json:"supplier_id"
SupplierId int64 `protobuf:"varint,6,opt,name=supplier_id,json=supplierId,proto3" json:"supplier_id,omitempty"`
// @inject_tag: json:"brand_id"
BrandId int64 `protobuf:"varint,7,opt,name=brand_id,json=brandId,proto3" json:"brand_id,omitempty"`
// @inject_tag: json:"class_id1"
ClassId1 int64 `protobuf:"varint,8,opt,name=class_id1,json=classId1,proto3" json:"class_id1,omitempty"`
// @inject_tag: json:"class_id2"
ClassId2 int64 `protobuf:"varint,9,opt,name=class_id2,json=classId2,proto3" json:"class_id2,omitempty"`
// @inject_tag: json:"goods_name"
GoodsName string `protobuf:"bytes,10,opt,name=goods_name,json=goodsName,proto3" json:"goods_name,omitempty"`
// @inject_tag: json:"status"
Status int64 `protobuf:"varint,11,opt,name=status,proto3" json:"status,omitempty"`
// @inject_tag: json:"encoded"
Encoded string `protobuf:"bytes,12,opt,name=encoded,proto3" json:"encoded,omitempty"`
// @inject_tag: json:"encap"
Encap string `protobuf:"bytes,13,opt,name=encap,proto3" json:"encap,omitempty"`
// @inject_tag: json:"packing"
Packing int64 `protobuf:"varint,14,opt,name=packing,proto3" json:"packing,omitempty"`
// @inject_tag: json:"goods_unit"
GoodsUnit int64 `protobuf:"varint,15,opt,name=goods_unit,json=goodsUnit,proto3" json:"goods_unit,omitempty"`
// @inject_tag: json:"goods_images"
GoodsImages bool `protobuf:"varint,16,opt,name=goods_images,json=goodsImages,proto3" json:"goods_images,omitempty"`
// @inject_tag: json:"pdf"
Pdf string `protobuf:"bytes,17,opt,name=pdf,proto3" json:"pdf,omitempty"`
// @inject_tag: json:"goods_brief"
GoodsBrief string `protobuf:"bytes,18,opt,name=goods_brief,json=goodsBrief,proto3" json:"goods_brief,omitempty"`
// @inject_tag: json:"moq"
Moq int64 `protobuf:"varint,19,opt,name=moq,proto3" json:"moq,omitempty"`
// @inject_tag: json:"mpq"
Mpq int64 `protobuf:"varint,20,opt,name=mpq,proto3" json:"mpq,omitempty"`
// @inject_tag: json:"ladder_price"
LadderPrice []*LadderPrice `protobuf:"bytes,21,rep,name=ladder_price,json=ladderPrice,proto3" json:"ladder_price,omitempty"`
// @inject_tag: json:"update_time"
UpdateTime int64 `protobuf:"varint,22,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
// @inject_tag: json:"sku_name"
SkuName string `protobuf:"bytes,23,opt,name=sku_name,json=skuName,proto3" json:"sku_name,omitempty"`
// @inject_tag: json:"mpl"
Mpl int64 `protobuf:"varint,24,opt,name=mpl,proto3" json:"mpl,omitempty"`
// @inject_tag: json:"stock"
Stock int64 `protobuf:"varint,25,opt,name=stock,proto3" json:"stock,omitempty"`
// @inject_tag: json:"attrs"
Attrs string `protobuf:"bytes,26,opt,name=attrs,proto3" json:"attrs,omitempty"`
// @inject_tag: json:"cost"
Cost string `protobuf:"bytes,27,opt,name=cost,proto3" json:"cost,omitempty"`
// @inject_tag: json:"new_cost"
NewCost string `protobuf:"bytes,28,opt,name=new_cost,json=newCost,proto3" json:"new_cost,omitempty"`
// @inject_tag: json:"supplier_stock"
SupplierStock int64 `protobuf:"varint,29,opt,name=supplier_stock,json=supplierStock,proto3" json:"supplier_stock,omitempty"`
// @inject_tag: json:"self_supplier_type"
SelfSupplierType int64 `protobuf:"varint,30,opt,name=self_supplier_type,json=selfSupplierType,proto3" json:"self_supplier_type,omitempty"`
// @inject_tag: json:"cn_delivery_time"
CnDeliveryTime string `protobuf:"bytes,31,opt,name=cn_delivery_time,json=cnDeliveryTime,proto3" json:"cn_delivery_time,omitempty"`
// @inject_tag: json:"brand_name"
BrandName string `protobuf:"bytes,32,opt,name=brand_name,json=brandName,proto3" json:"brand_name,omitempty"`
// @inject_tag: json:"supplier_name"
SupplierName string `protobuf:"bytes,33,opt,name=supplier_name,json=supplierName,proto3" json:"supplier_name,omitempty"`
GoodsUnitName string `protobuf:"bytes,34,opt,name=goods_unit_name,json=goodsUnitName,proto3" json:"goods_unit_name,omitempty"`
PackingName string `protobuf:"bytes,35,opt,name=packing_name,json=packingName,proto3" json:"packing_name,omitempty"`
MpqUnitName string `protobuf:"bytes,36,opt,name=mpq_unit_name,json=mpqUnitName,proto3" json:"mpq_unit_name,omitempty"`
// @inject_tag: json:"ac_type"
AcType int64 `protobuf:"varint,37,opt,name=ac_type,json=acType,proto3" json:"ac_type,omitempty"`
AllowCoupon int64 `protobuf:"varint,38,opt,name=allow_coupon,json=allowCoupon,proto3" json:"allow_coupon,omitempty"`
ClassId1Name string `protobuf:"bytes,39,opt,name=class_id1_name,json=classId1Name,proto3" json:"class_id1_name,omitempty"`
ClassId2Name string `protobuf:"bytes,40,opt,name=class_id2_name,json=classId2Name,proto3" json:"class_id2_name,omitempty"`
// @inject_tag: json:"otheis_buyr_attrs"
IsBuy int64 `protobuf:"varint,41,opt,name=is_buy,json=isBuy,proto3" json:"is_buy,omitempty"`
// @inject_tag: json:"hk_delivery_type"
HkDeliveryType string `protobuf:"bytes,42,opt,name=hk_delivery_type,json=hkDeliveryType,proto3" json:"hk_delivery_type,omitempty"`
}
func (x *GoodsModel) Reset() {
*x = GoodsModel{}
if protoimpl.UnsafeEnabled {
mi := &file_mouser_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GoodsModel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoodsModel) ProtoMessage() {}
func (x *GoodsModel) ProtoReflect() protoreflect.Message {
mi := &file_mouser_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoodsModel.ProtoReflect.Descriptor instead.
func (*GoodsModel) Descriptor() ([]byte, []int) {
return file_mouser_proto_rawDescGZIP(), []int{5}
}
func (x *GoodsModel) GetOtherAttrs() *OtherAttrs {
if x != nil {
return x.OtherAttrs
}
return nil
}
func (x *GoodsModel) GetPickType() int64 {
if x != nil {
return x.PickType
}
return 0
}
func (x *GoodsModel) GetBarcode() string {
if x != nil {
return x.Barcode
}
return ""
}
func (x *GoodsModel) GetGoodsId() string {
if x != nil {
return x.GoodsId
}
return ""
}
func (x *GoodsModel) GetGoodsType() int64 {
if x != nil {
return x.GoodsType
}
return 0
}
func (x *GoodsModel) GetSupplierId() int64 {
if x != nil {
return x.SupplierId
}
return 0
}
func (x *GoodsModel) GetBrandId() int64 {
if x != nil {
return x.BrandId
}
return 0
}
func (x *GoodsModel) GetClassId1() int64 {
if x != nil {
return x.ClassId1
}
return 0
}
func (x *GoodsModel) GetClassId2() int64 {
if x != nil {
return x.ClassId2
}
return 0
}
func (x *GoodsModel) GetGoodsName() string {
if x != nil {
return x.GoodsName
}
return ""
}
func (x *GoodsModel) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *GoodsModel) GetEncoded() string {
if x != nil {
return x.Encoded
}
return ""
}
func (x *GoodsModel) GetEncap() string {
if x != nil {
return x.Encap
}
return ""
}
func (x *GoodsModel) GetPacking() int64 {
if x != nil {
return x.Packing
}
return 0
}
func (x *GoodsModel) GetGoodsUnit() int64 {
if x != nil {
return x.GoodsUnit
}
return 0
}
func (x *GoodsModel) GetGoodsImages() bool {
if x != nil {
return x.GoodsImages
}
return false
}
func (x *GoodsModel) GetPdf() string {
if x != nil {
return x.Pdf
}
return ""
}
func (x *GoodsModel) GetGoodsBrief() string {
if x != nil {
return x.GoodsBrief
}
return ""
}
func (x *GoodsModel) GetMoq() int64 {
if x != nil {
return x.Moq
}
return 0
}
func (x *GoodsModel) GetMpq() int64 {
if x != nil {
return x.Mpq
}
return 0
}
func (x *GoodsModel) GetLadderPrice() []*LadderPrice {
if x != nil {
return x.LadderPrice
}
return nil
}
func (x *GoodsModel) GetUpdateTime() int64 {
if x != nil {
return x.UpdateTime
}
return 0
}
func (x *GoodsModel) GetSkuName() string {
if x != nil {
return x.SkuName
}
return ""
}
func (x *GoodsModel) GetMpl() int64 {
if x != nil {
return x.Mpl
}
return 0
}
func (x *GoodsModel) GetStock() int64 {
if x != nil {
return x.Stock
}
return 0
}
func (x *GoodsModel) GetAttrs() string {
if x != nil {
return x.Attrs
}
return ""
}
func (x *GoodsModel) GetCost() string {
if x != nil {
return x.Cost
}
return ""
}
func (x *GoodsModel) GetNewCost() string {
if x != nil {
return x.NewCost
}
return ""
}
func (x *GoodsModel) GetSupplierStock() int64 {
if x != nil {
return x.SupplierStock
}
return 0
}
func (x *GoodsModel) GetSelfSupplierType() int64 {
if x != nil {
return x.SelfSupplierType
}
return 0
}
func (x *GoodsModel) GetCnDeliveryTime() string {
if x != nil {
return x.CnDeliveryTime
}
return ""
}
func (x *GoodsModel) GetBrandName() string {
if x != nil {
return x.BrandName
}
return ""
}
func (x *GoodsModel) GetSupplierName() string {
if x != nil {
return x.SupplierName
}
return ""
}
func (x *GoodsModel) GetGoodsUnitName() string {
if x != nil {
return x.GoodsUnitName
}
return ""
}
func (x *GoodsModel) GetPackingName() string {
if x != nil {
return x.PackingName
}
return ""
}
func (x *GoodsModel) GetMpqUnitName() string {
if x != nil {
return x.MpqUnitName
}
return ""
}
func (x *GoodsModel) GetAcType() int64 {
if x != nil {
return x.AcType
}
return 0
}
func (x *GoodsModel) GetAllowCoupon() int64 {
if x != nil {
return x.AllowCoupon
}
return 0
}
func (x *GoodsModel) GetClassId1Name() string {
if x != nil {
return x.ClassId1Name
}
return ""
}
func (x *GoodsModel) GetClassId2Name() string {
if x != nil {
return x.ClassId2Name
}
return ""
}
func (x *GoodsModel) GetIsBuy() int64 {
if x != nil {
return x.IsBuy
}
return 0
}
func (x *GoodsModel) GetHkDeliveryType() string {
if x != nil {
return x.HkDeliveryType
}
return ""
}
var File_mouser_proto protoreflect.FileDescriptor
var file_mouser_proto_rawDesc = []byte{
0x0a, 0x0c, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06,
0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x22, 0x2e, 0x0a, 0x0d, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x72,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x6f,
0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x60, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18,
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04,
0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67,
0x12, 0x26, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12,
0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x6f, 0x6f, 0x64, 0x73, 0x4d, 0x6f, 0x64,
0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x7e, 0x0a, 0x0e, 0x4d, 0x6f, 0x75, 0x73,
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72,
0x72, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x65, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72,
0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x28,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d,
0x6f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x44, 0x61,
0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x2f, 0x0a, 0x0a, 0x4f, 0x74, 0x68, 0x65,
0x72, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x72, 0x6f, 0x73, 0x73, 0x5f,
0x77, 0x65, 0x67, 0x69, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x72,
0x6f, 0x73, 0x73, 0x57, 0x65, 0x67, 0x69, 0x68, 0x74, 0x22, 0x7c, 0x0a, 0x0b, 0x4c, 0x61, 0x64,
0x64, 0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x75, 0x72, 0x63,
0x68, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x75, 0x72,
0x63, 0x68, 0x61, 0x73, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f,
0x63, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x43,
0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x18, 0x03, 0x20,
0x01, 0x28, 0x02, 0x52, 0x07, 0x70, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x12, 0x19, 0x0a, 0x08,
0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07,
0x70, 0x72, 0x69, 0x63, 0x65, 0x41, 0x63, 0x22, 0x9e, 0x0a, 0x0a, 0x0a, 0x47, 0x6f, 0x6f, 0x64,
0x73, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x33, 0x0a, 0x0b, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f,
0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x6f,
0x75, 0x73, 0x65, 0x72, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x73, 0x52,
0x0a, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70,
0x69, 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
0x70, 0x69, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x72, 0x63,
0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x61, 0x72, 0x63, 0x6f,
0x64, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x04,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a,
0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x03, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28,
0x03, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a,
0x08, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52,
0x07, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73,
0x73, 0x5f, 0x69, 0x64, 0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6c, 0x61,
0x73, 0x73, 0x49, 0x64, 0x31, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69,
0x64, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49,
0x64, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28,
0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x63,
0x6f, 0x64, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x63, 0x6f,
0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6e, 0x63, 0x61, 0x70, 0x18, 0x0d, 0x20, 0x01,
0x28, 0x09, 0x52, 0x05, 0x65, 0x6e, 0x63, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63,
0x6b, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b,
0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x69,
0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x55, 0x6e,
0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x49,
0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x64, 0x66, 0x18, 0x11, 0x20, 0x01,
0x28, 0x09, 0x52, 0x03, 0x70, 0x64, 0x66, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x5f, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x6f,
0x6f, 0x64, 0x73, 0x42, 0x72, 0x69, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x6f, 0x71, 0x18,
0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x6f, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x70,
0x71, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d, 0x70, 0x71, 0x12, 0x36, 0x0a, 0x0c,
0x6c, 0x61, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x15, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x64, 0x64,
0x65, 0x72, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x64, 0x64, 0x65, 0x72, 0x50,
0x72, 0x69, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74,
0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x75, 0x5f, 0x6e, 0x61, 0x6d,
0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6b, 0x75, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x10, 0x0a, 0x03, 0x6d, 0x70, 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6d,
0x70, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x19, 0x20, 0x01, 0x28,
0x03, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72,
0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x12, 0x12,
0x0a, 0x04, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f,
0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x18, 0x1c,
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x73, 0x74, 0x12, 0x25, 0x0a,
0x0e, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18,
0x1d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x53,
0x74, 0x6f, 0x63, 0x6b, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x73, 0x75, 0x70,
0x70, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x03,
0x52, 0x10, 0x73, 0x65, 0x6c, 0x66, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x54, 0x79,
0x70, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72,
0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6e,
0x44, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x62, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x20, 0x20, 0x01, 0x28, 0x09,
0x52, 0x09, 0x62, 0x72, 0x61, 0x6e, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73,
0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x21, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x26, 0x0a, 0x0f, 0x67, 0x6f, 0x6f, 0x64, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x6f, 0x6f, 0x64, 0x73,
0x55, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b,
0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d,
0x70, 0x71, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x6d, 0x70, 0x71, 0x55, 0x6e, 0x69, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x17, 0x0a, 0x07, 0x61, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x03,
0x52, 0x06, 0x61, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x6f,
0x77, 0x5f, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x18, 0x26, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b,
0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x63,
0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x31, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x27, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x31, 0x4e, 0x61, 0x6d,
0x65, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x32, 0x5f, 0x6e,
0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x61, 0x73, 0x73,
0x49, 0x64, 0x32, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x75,
0x79, 0x18, 0x29, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x69, 0x73, 0x42, 0x75, 0x79, 0x12, 0x28,
0x0a, 0x10, 0x68, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x79,
0x70, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x68, 0x6b, 0x44, 0x65, 0x6c, 0x69,
0x76, 0x65, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x32, 0x4f, 0x0a, 0x0d, 0x4d, 0x6f, 0x75, 0x73,
0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x4d, 0x6f, 0x75,
0x73, 0x65, 0x72, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x15, 0x2e, 0x6d, 0x6f, 0x75,
0x73, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x16, 0x2e, 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x4d, 0x6f, 0x75, 0x73, 0x65,
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
}
var (
file_mouser_proto_rawDescOnce sync.Once
file_mouser_proto_rawDescData = file_mouser_proto_rawDesc
)
func file_mouser_proto_rawDescGZIP() []byte {
file_mouser_proto_rawDescOnce.Do(func() {
file_mouser_proto_rawDescData = protoimpl.X.CompressGZIP(file_mouser_proto_rawDescData)
})
return file_mouser_proto_rawDescData
}
var file_mouser_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_mouser_proto_goTypes = []interface{}{
(*MouserRequest)(nil), // 0: mouser.MouserRequest
(*ResponseData)(nil), // 1: mouser.ResponseData
(*MouserResponse)(nil), // 2: mouser.MouserResponse
(*OtherAttrs)(nil), // 3: mouser.OtherAttrs
(*LadderPrice)(nil), // 4: mouser.LadderPrice
(*GoodsModel)(nil), // 5: mouser.GoodsModel
}
var file_mouser_proto_depIdxs = []int32{
5, // 0: mouser.ResponseData.data:type_name -> mouser.GoodsModel
1, // 1: mouser.MouserResponse.data:type_name -> mouser.ResponseData
3, // 2: mouser.GoodsModel.other_attrs:type_name -> mouser.OtherAttrs
4, // 3: mouser.GoodsModel.ladder_price:type_name -> mouser.LadderPrice
0, // 4: mouser.MouserService.MouserGetData:input_type -> mouser.MouserRequest
2, // 5: mouser.MouserService.MouserGetData:output_type -> mouser.MouserResponse
5, // [5:6] is the sub-list for method output_type
4, // [4:5] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_mouser_proto_init() }
func file_mouser_proto_init() {
if File_mouser_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_mouser_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MouserRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mouser_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResponseData); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mouser_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MouserResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mouser_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OtherAttrs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mouser_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*LadderPrice); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_mouser_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GoodsModel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_mouser_proto_rawDesc,
NumEnums: 0,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_mouser_proto_goTypes,
DependencyIndexes: file_mouser_proto_depIdxs,
MessageInfos: file_mouser_proto_msgTypes,
}.Build()
File_mouser_proto = out.File
file_mouser_proto_rawDesc = nil
file_mouser_proto_goTypes = nil
file_mouser_proto_depIdxs = nil
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: mouser.proto
package mouser
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
import (
context "context"
client "github.com/micro/go-micro/client"
server "github.com/micro/go-micro/server"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ client.Option
var _ server.Option
// Client API for MouserService service
type MouserService interface {
MouserGetData(ctx context.Context, in *MouserRequest, opts ...client.CallOption) (*MouserResponse, error)
}
type mouserService struct {
c client.Client
name string
}
func NewMouserService(name string, c client.Client) MouserService {
if c == nil {
c = client.NewClient()
}
if len(name) == 0 {
name = "mouser"
}
return &mouserService{
c: c,
name: name,
}
}
func (c *mouserService) MouserGetData(ctx context.Context, in *MouserRequest, opts ...client.CallOption) (*MouserResponse, error) {
req := c.c.NewRequest(c.name, "MouserService.MouserGetData", in)
out := new(MouserResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for MouserService service
type MouserServiceHandler interface {
MouserGetData(context.Context, *MouserRequest, *MouserResponse) error
}
func RegisterMouserServiceHandler(s server.Server, hdlr MouserServiceHandler, opts ...server.HandlerOption) error {
type mouserService interface {
MouserGetData(ctx context.Context, in *MouserRequest, out *MouserResponse) error
}
type MouserService struct {
mouserService
}
h := &mouserServiceHandler{hdlr}
return s.Handle(s.NewHandler(&MouserService{h}, opts...))
}
type mouserServiceHandler struct {
MouserServiceHandler
}
func (h *mouserServiceHandler) MouserGetData(ctx context.Context, in *MouserRequest, out *MouserResponse) error {
return h.MouserServiceHandler.MouserGetData(ctx, in, out)
}
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: users.proto
package users
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type UserRequest struct {
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserRequest) Reset() { *m = UserRequest{} }
func (m *UserRequest) String() string { return proto.CompactTextString(m) }
func (*UserRequest) ProtoMessage() {}
func (*UserRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_030765f334c86cea, []int{0}
}
func (m *UserRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserRequest.Unmarshal(m, b)
}
func (m *UserRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserRequest.Marshal(b, m, deterministic)
}
func (m *UserRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserRequest.Merge(m, src)
}
func (m *UserRequest) XXX_Size() int {
return xxx_messageInfo_UserRequest.Size(m)
}
func (m *UserRequest) XXX_DiscardUnknown() {
xxx_messageInfo_UserRequest.DiscardUnknown(m)
}
var xxx_messageInfo_UserRequest proto.InternalMessageInfo
func (m *UserRequest) GetId() string {
if m != nil {
return m.Id
}
return ""
}
type UserResponse struct {
Ret string `protobuf:"bytes,2,opt,name=ret,proto3" json:"ret,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *UserResponse) Reset() { *m = UserResponse{} }
func (m *UserResponse) String() string { return proto.CompactTextString(m) }
func (*UserResponse) ProtoMessage() {}
func (*UserResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_030765f334c86cea, []int{1}
}
func (m *UserResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UserResponse.Unmarshal(m, b)
}
func (m *UserResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_UserResponse.Marshal(b, m, deterministic)
}
func (m *UserResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_UserResponse.Merge(m, src)
}
func (m *UserResponse) XXX_Size() int {
return xxx_messageInfo_UserResponse.Size(m)
}
func (m *UserResponse) XXX_DiscardUnknown() {
xxx_messageInfo_UserResponse.DiscardUnknown(m)
}
var xxx_messageInfo_UserResponse proto.InternalMessageInfo
func (m *UserResponse) GetRet() string {
if m != nil {
return m.Ret
}
return ""
}
func init() {
proto.RegisterType((*UserRequest)(nil), "users.UserRequest")
proto.RegisterType((*UserResponse)(nil), "users.UserResponse")
}
func init() { proto.RegisterFile("users.proto", fileDescriptor_030765f334c86cea) }
var fileDescriptor_030765f334c86cea = []byte{
// 134 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x2e, 0x2d, 0x4e, 0x2d,
0x2a, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x73, 0x94, 0x64, 0xb9, 0xb8, 0x43,
0x8b, 0x53, 0x8b, 0x82, 0x52, 0x0b, 0x4b, 0x53, 0x8b, 0x4b, 0x84, 0xf8, 0xb8, 0x98, 0x32, 0x53,
0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x98, 0x32, 0x53, 0x94, 0x14, 0xb8, 0x78, 0x20, 0xd2,
0xc5, 0x05, 0xf9, 0x79, 0xc5, 0xa9, 0x42, 0x02, 0x5c, 0xcc, 0x45, 0xa9, 0x25, 0x12, 0x4c, 0x60,
0x05, 0x20, 0xa6, 0x91, 0x03, 0xc4, 0x80, 0xe0, 0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0x54, 0x21, 0x43,
0x2e, 0x96, 0x10, 0x90, 0x41, 0x42, 0x7a, 0x10, 0xcb, 0x90, 0x0c, 0x97, 0x12, 0x46, 0x11, 0x83,
0x98, 0xa8, 0xc4, 0x90, 0xc4, 0x06, 0x76, 0x90, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x35, 0x8a,
0xe3, 0x2d, 0x9f, 0x00, 0x00, 0x00,
}
// Code generated by protoc-gen-micro. DO NOT EDIT.
// source: users.proto
package users
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
import (
context "context"
api "github.com/micro/go-micro/v2/api"
client "github.com/micro/go-micro/v2/client"
server "github.com/micro/go-micro/v2/server"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// Reference imports to suppress errors if they are not otherwise used.
var _ api.Endpoint
var _ context.Context
var _ client.Option
var _ server.Option
// Api Endpoints for UserService service
func NewUserServiceEndpoints() []*api.Endpoint {
return []*api.Endpoint{}
}
// Client API for UserService service
type UserService interface {
Test(ctx context.Context, in *UserRequest, opts ...client.CallOption) (*UserResponse, error)
}
type userService struct {
c client.Client
name string
}
func NewUserService(name string, c client.Client) UserService {
return &userService{
c: c,
name: name,
}
}
func (c *userService) Test(ctx context.Context, in *UserRequest, opts ...client.CallOption) (*UserResponse, error) {
req := c.c.NewRequest(c.name, "UserService.Test", in)
out := new(UserResponse)
err := c.c.Call(ctx, req, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for UserService service
type UserServiceHandler interface {
Test(context.Context, *UserRequest, *UserResponse) error
}
func RegisterUserServiceHandler(s server.Server, hdlr UserServiceHandler, opts ...server.HandlerOption) error {
type userService interface {
Test(ctx context.Context, in *UserRequest, out *UserResponse) error
}
type UserService struct {
userService
}
h := &userServiceHandler{hdlr}
return s.Handle(s.NewHandler(&UserService{h}, opts...))
}
type userServiceHandler struct {
UserServiceHandler
}
func (h *userServiceHandler) Test(ctx context.Context, in *UserRequest, out *UserResponse) error {
return h.UserServiceHandler.Test(ctx, in, out)
}
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;
}
\ No newline at end of file
syntax = "proto3";
import "google/protobuf/timestamp.proto";
package common;
message Timestamp {
google.protobuf.Timestamp timestamp = 1;
string timestr=2;
}
\ No newline at end of file
syntax = "proto3";
package course;
service CourseService {
rpc ListForTop(ListRequest) returns (ListResponse);
rpc GetDetail(DetailRequest) returns(DetailResponse);
}
message CourseModel{
int32 course_id=1;
string course_name=2;
string course_disp_name=3;
string course_intr=4;
float course_price=5;
float course_price2=6;
// @inject_tag: gorm:"type:timestamp"
int64 addtime=7;
}
message ListRequest {
// @inject_tag: form:"size"
int32 size = 1;
}
message DetailRequest{
// @inject_tag: uri:"course_id"
int32 course_id=1;
// @inject_tag: header:"fetch_type"
int32 fetch_type=2;
}
//计数
message CourseCounts{
// @inject_tag: json:"-"
int32 count_id=1;
// @inject_tag: json:"-"
int32 course_id=2;
string count_key=3;
int32 count_value=4;
}
message ListResponse {
repeated CourseModel result = 1;
}
message DetailResponse{
CourseModel course=1;
repeated CourseCounts counts=2;
}
syntax = "proto3";
package course;
message CourseTopic{
int32 Id = 1;
int32 CourseId = 2;
int32 CourseDid = 3;
int32 Likes = 4;
int32 Unlikes = 5;
string Title = 6;
string Content = 7;
int32 UserId = 8;
int64 Addtime = 9;
int64 Updatetime = 10;
}
message CourseTopicReply{
int32 Id = 1;
int32 TopicId = 2;
string Content = 3;
int32 UserId = 4;
int32 Likes = 5;
int32 Unlikes = 6;
int64 Addtime = 7;
}
message TopicRequest{
int32 CourseId = 1;
}
message TopicResponse{
repeated CourseTopic result = 1;
}
service CourseTopicService {
rpc GetTopic(TopicRequest) returns (TopicResponse);
}
\ No newline at end of file
syntax = "proto3";
package mouser;
service MouserService {
rpc MouserGetData(MouserRequest) returns (MouserResponse);
}
message MouserRequest {
// @inject_tag: uri:"goods_name"
string goods_name = 1;
}
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 MouserResponse{
// @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;
}
\ No newline at end of file
syntax = "proto3";
package users;
service UserService {
rpc Test(UserRequest) returns (UserResponse) {}
}
message UserRequest {
string id = 1;
}
message UserResponse {
string ret = 2;
}
## golang 商品微服务 ## golang 商品微服务
### 项目启动 ### 项目启动
直接到cmd下面直接找到想启动的服务进行```go run xxx```即可,需要传入配置文件地址的话,则可以 一:启动http 对外服务:
```go run xxx.go -config xxx/xxx.ini``` cd cmd/http
go build -o ./http ./http_server.go
运行-线上: ./http -config=../../conf/prod
运行-开发: ./http -config=../../conf/dev
二:启动定时任务
cd cmd/cron
go build -o ./cron ./cron_server.go
增加定时crontab 任务:
运行-线上: 0 0 */3 * * cd /go_sku_server/cmd/cron/ && ./cron -config=../../conf/prod
运行-开发: 0 0 */3 * * cd /go_sku_server/cmd/cron/ && ./cron -config=../../conf/dev
### 目录结构 ### 目录结构
├── bat //运行脚本或者protoc生成脚本 ├── bat //运行脚本或者protoc生成脚本
......
package requests
//使用根据供应商获取商品信息方法的通用请求
type GetGoodsBySupplierRequest struct {
Keyword string `form:"keyword"`
SupplierName string `form:"supplier_name"`
Stock int `form:"stock"`
SupplierId string `form:"supplier_id"`
Offset int `form:"offset"`
FollowHit int `form:"follow_hit"`
CheckButton int `form:"check_button"`
GoodsNameEq string `form:"goods_name/eq"`
IsExact int `form:"is_exact"`
BrandId string `form:"brand_id"`
Flag string `form:"flag"` //调试标志
AvailRank int `form:"avail_rank"`
SingleRank int `form:"single_rank"`
StockRank int `form:"stock_rank"`
ComRank int `form:"com_rank"`
FirstSearchPage int `form:"first_search_page"`
P int `form:"p"`
Topic int `form:"topic"`
K1 int `form:"k1"`
K2 int `form:"k2"`
}
package requests
type GetDataIndexRequest struct {
//Keyword string `form:"keyword"`
KNums int `form:"kNums"`
IsSort int `form:"is_sort"`
//SupplierId string `form:"supplier_id"`
//SupplierName string `form:"supplier_name"`
//GoodsNameEq string `form:"goods_name/eq"`
//BrandId string `form:"brand_id"`
//Offset int `form:"offset"`
//FollowHit int `form:"follow_hit"`
//Stock int `form:"stock"`
//IsExact int `form:"is_exact"`
//AvailRank int `form:"avail_rank"`
//SingleRank int `form:"single_rank"`
//StockRank int `form:"stock_rank"`
//ComRank int `form:"com_rank"`
//FirstSearchPage int `form:"first_search_page"`
//P int `form:"p"`
//Topic int `form:"topic"`
//K1 int `form:"k1"`
//K2 int `form:"k2"`
//Keyword string `form:"keyword"`
//SupplierId string `form:"supplier_id"`
//SupplierName string `form:"supplier_name"`
//Stock int `form:"stock"`
GetGoodsBySupplierRequest
}
package requests
type ExactGoodsRequest struct {
SupplierId string `json:"supplier_id"`
GoodsName string `json:"goods_name"`
}
package requests
import (
"github.com/syyongx/php2go"
"go_sku_server/pkg/config"
)
type QuoteIndexRequest struct {
GetGoodsBySupplierRequest
}
type QuoteGetDataRequest struct {
Keyword string `form:"keyword"`
SupplierName string `form:"supplier_name"`
}
func CheckQuoteRequest(r QuoteIndexRequest) (errCode int, errMsg string) {
//解码参数
var err error
if r.Keyword != "" {
r.Keyword, err = php2go.URLDecode(r.Keyword)
if err != nil {
return 1, "参数解码失败"
}
}
//判断参数
if r.Keyword == "" || r.SupplierId == "" {
return 1, "缺少参数"
}
//判断供应商
if config.Get("SUPPLIER_ALL."+r.SupplierId).String() == "" {
return 1, "供应商id有误"
}
return
}
package requests
type SumIpRequest struct {
StartTime int64 `form:"start_time"`
EndTime int64 `form:"end_time"`
Size int `form:"size"`
}
type ScrollRequest struct {
Scroll int `form:"scroll"`
ScrollId int `form:"scroll_id"`
}
package requests
type SetButtonRequest struct {
Val int `form:"val"`
}
type GetWbListRequest struct {
ListType int `form:"type"`
}
type SetWbListRequest struct {
Type string `form:"type"`
IpList string `form:"ip_list"`
AddOrRm string `form:"add_or_rm"`
}
type SetIpalgRequest struct {
Ip string `form:"ip"`
ListType int `form:"type"`
Num int `json:"num"`
}
\ No newline at end of file
#!/bin/bash #!/bin/bash
cd /data/gocode/go_sku_server cd /data/gocode/go_sku_server
git pull origin dev git pull origin dev
cp /data/gocode/go_sku_server/conf/prod/config.ini.prod /data/gocode/go_sku_server/conf/config.ini go build -o ./cmd/http/http_server ./cmd/http/http_server.go
cp /data/gocode/go_sku_server/conf/prod/database.ini.prod /data/gocode/go_sku_server/conf/database.ini go build -o ./cmd/http/cron ./cmd/http/cron_server.go
cp /data/gocode/go_sku_server/conf/prod/message.ini.prod /data/gocode/go_sku_server/conf/message.ini supervisorctl restart go_sku_server_http
cp /data/gocode/go_sku_server/conf/prod/rabmq_key.ini.prod /data/gocode/go_sku_server/conf/rabmq_key.ini \ No newline at end of file
cp /data/gocode/go_sku_server/conf/prod/redis_config.ini.prod /data/gocode/go_sku_server/conf/redis_config.ini
cp /data/gocode/go_sku_server/conf/prod/redis_key.ini.prod /data/gocode/go_sku_server/conf/redis_key.ini
cp /data/gocode/go_sku_server/conf/prod/search.ini.prod /data/gocode/go_sku_server/conf/search.ini
go build -o ./cmd/search_http_server ./cmd/search_http_server.go
supervisorctl restart go_sku_server
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment