// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.1 // protoc v3.21.9 // source: backend/operation/feed_formula.proto package operationPb import ( 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) ) type AddFeedFormulaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 名称 EncodeNumber string `protobuf:"bytes,3,opt,name=encode_number,json=encodeNumber,proto3" json:"encode_number,omitempty"` // 编码 Colour string `protobuf:"bytes,4,opt,name=colour,proto3" json:"colour,omitempty"` // 颜色 CattleCategoryId CattleCategoryParent_Kind `protobuf:"varint,5,opt,name=cattle_category_id,json=cattleCategoryId,proto3,enum=backend.operation.CattleCategoryParent_Kind" json:"cattle_category_id,omitempty"` // 畜牧类别id CattleCategoryName string `protobuf:"bytes,6,opt,name=cattle_category_name,json=cattleCategoryName,proto3" json:"cattle_category_name,omitempty"` // 畜牧类型名称 FormulaTypeId int32 `protobuf:"varint,7,opt,name=formula_type_id,json=formulaTypeId,proto3" json:"formula_type_id,omitempty"` // 配方类型id FormulaTypeName string `protobuf:"bytes,8,opt,name=formula_type_name,json=formulaTypeName,proto3" json:"formula_type_name,omitempty"` // 配方类型名称 DataSourceId DataSource_Kind `protobuf:"varint,9,opt,name=data_source_id,json=dataSourceId,proto3,enum=backend.operation.DataSource_Kind" json:"data_source_id,omitempty"` // 数据来源 DataSourceName string `protobuf:"bytes,10,opt,name=data_source_name,json=dataSourceName,proto3" json:"data_source_name,omitempty"` // 数据来源 Remarks string `protobuf:"bytes,11,opt,name=remarks,proto3" json:"remarks,omitempty"` // 备注 Version int32 `protobuf:"varint,12,opt,name=version,proto3" json:"version,omitempty"` // 版本号 IsShow IsShow_Kind `protobuf:"varint,13,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 IsModify IsShow_Kind `protobuf:"varint,14,opt,name=is_modify,json=isModify,proto3,enum=backend.operation.IsShow_Kind" json:"is_modify,omitempty"` // 是否可修改 CreatedAt int32 `protobuf:"varint,15,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,16,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化 PastureName string `protobuf:"bytes,17,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称 } func (x *AddFeedFormulaRequest) Reset() { *x = AddFeedFormulaRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddFeedFormulaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddFeedFormulaRequest) ProtoMessage() {} func (x *AddFeedFormulaRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 AddFeedFormulaRequest.ProtoReflect.Descriptor instead. func (*AddFeedFormulaRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{0} } func (x *AddFeedFormulaRequest) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddFeedFormulaRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *AddFeedFormulaRequest) GetEncodeNumber() string { if x != nil { return x.EncodeNumber } return "" } func (x *AddFeedFormulaRequest) GetColour() string { if x != nil { return x.Colour } return "" } func (x *AddFeedFormulaRequest) GetCattleCategoryId() CattleCategoryParent_Kind { if x != nil { return x.CattleCategoryId } return CattleCategoryParent_INVALID } func (x *AddFeedFormulaRequest) GetCattleCategoryName() string { if x != nil { return x.CattleCategoryName } return "" } func (x *AddFeedFormulaRequest) GetFormulaTypeId() int32 { if x != nil { return x.FormulaTypeId } return 0 } func (x *AddFeedFormulaRequest) GetFormulaTypeName() string { if x != nil { return x.FormulaTypeName } return "" } func (x *AddFeedFormulaRequest) GetDataSourceId() DataSource_Kind { if x != nil { return x.DataSourceId } return DataSource_INVALID } func (x *AddFeedFormulaRequest) GetDataSourceName() string { if x != nil { return x.DataSourceName } return "" } func (x *AddFeedFormulaRequest) GetRemarks() string { if x != nil { return x.Remarks } return "" } func (x *AddFeedFormulaRequest) GetVersion() int32 { if x != nil { return x.Version } return 0 } func (x *AddFeedFormulaRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *AddFeedFormulaRequest) GetIsModify() IsShow_Kind { if x != nil { return x.IsModify } return IsShow_INVALID } func (x *AddFeedFormulaRequest) GetCreatedAt() int32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddFeedFormulaRequest) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } func (x *AddFeedFormulaRequest) GetPastureName() string { if x != nil { return x.PastureName } return "" } type SearchFeedFormulaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CattleCategoryId int32 `protobuf:"varint,1,opt,name=cattle_category_id,json=cattleCategoryId,proto3" json:"cattle_category_id,omitempty"` // 分类id FormulaTypeId int32 `protobuf:"varint,2,opt,name=formula_type_id,json=formulaTypeId,proto3" json:"formula_type_id,omitempty"` // 配方类型id DataSource int32 `protobuf:"varint,3,opt,name=data_source,json=dataSource,proto3" json:"data_source,omitempty"` // 饲料来源 IsShow IsShow_Kind `protobuf:"varint,4,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` // 是否启用 Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // 配方名称 Remarks string `protobuf:"bytes,6,opt,name=remarks,proto3" json:"remarks,omitempty"` // 备注 Pagination *PaginationModel `protobuf:"bytes,7,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 } func (x *SearchFeedFormulaRequest) Reset() { *x = SearchFeedFormulaRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFeedFormulaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFeedFormulaRequest) ProtoMessage() {} func (x *SearchFeedFormulaRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 SearchFeedFormulaRequest.ProtoReflect.Descriptor instead. func (*SearchFeedFormulaRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{1} } func (x *SearchFeedFormulaRequest) GetCattleCategoryId() int32 { if x != nil { return x.CattleCategoryId } return 0 } func (x *SearchFeedFormulaRequest) GetFormulaTypeId() int32 { if x != nil { return x.FormulaTypeId } return 0 } func (x *SearchFeedFormulaRequest) GetDataSource() int32 { if x != nil { return x.DataSource } return 0 } func (x *SearchFeedFormulaRequest) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *SearchFeedFormulaRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *SearchFeedFormulaRequest) GetRemarks() string { if x != nil { return x.Remarks } return "" } func (x *SearchFeedFormulaRequest) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } type SearchFeedFormulaListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data *SearchFeedFormulaListData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *SearchFeedFormulaListResponse) Reset() { *x = SearchFeedFormulaListResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFeedFormulaListResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFeedFormulaListResponse) ProtoMessage() {} func (x *SearchFeedFormulaListResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 SearchFeedFormulaListResponse.ProtoReflect.Descriptor instead. func (*SearchFeedFormulaListResponse) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{2} } func (x *SearchFeedFormulaListResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *SearchFeedFormulaListResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *SearchFeedFormulaListResponse) GetData() *SearchFeedFormulaListData { if x != nil { return x.Data } return nil } type SearchFeedFormulaListData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total,omitempty"` List []*AddFeedFormulaRequest `protobuf:"bytes,4,rep,name=list,proto3" json:"list,omitempty"` } func (x *SearchFeedFormulaListData) Reset() { *x = SearchFeedFormulaListData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SearchFeedFormulaListData) String() string { return protoimpl.X.MessageStringOf(x) } func (*SearchFeedFormulaListData) ProtoMessage() {} func (x *SearchFeedFormulaListData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 SearchFeedFormulaListData.ProtoReflect.Descriptor instead. func (*SearchFeedFormulaListData) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{3} } func (x *SearchFeedFormulaListData) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *SearchFeedFormulaListData) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } func (x *SearchFeedFormulaListData) GetTotal() int32 { if x != nil { return x.Total } return 0 } func (x *SearchFeedFormulaListData) GetList() []*AddFeedFormulaRequest { if x != nil { return x.List } return nil } // 是否启用 type IsShowModifyFeedFormula struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` IsShow IsShow_Kind `protobuf:"varint,2,opt,name=is_show,json=isShow,proto3,enum=backend.operation.IsShow_Kind" json:"is_show,omitempty"` EditType int32 `protobuf:"varint,3,opt,name=edit_type,json=editType,proto3" json:"edit_type,omitempty"` // 1 更新是否启用 2 更新 modify } func (x *IsShowModifyFeedFormula) Reset() { *x = IsShowModifyFeedFormula{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IsShowModifyFeedFormula) String() string { return protoimpl.X.MessageStringOf(x) } func (*IsShowModifyFeedFormula) ProtoMessage() {} func (x *IsShowModifyFeedFormula) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 IsShowModifyFeedFormula.ProtoReflect.Descriptor instead. func (*IsShowModifyFeedFormula) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{4} } func (x *IsShowModifyFeedFormula) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *IsShowModifyFeedFormula) GetIsShow() IsShow_Kind { if x != nil { return x.IsShow } return IsShow_INVALID } func (x *IsShowModifyFeedFormula) GetEditType() int32 { if x != nil { return x.EditType } return 0 } // 配方编码 type UniqueID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data *UniqueID_UniqueData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *UniqueID) Reset() { *x = UniqueID{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UniqueID) String() string { return protoimpl.X.MessageStringOf(x) } func (*UniqueID) ProtoMessage() {} func (x *UniqueID) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_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 UniqueID.ProtoReflect.Descriptor instead. func (*UniqueID) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{5} } func (x *UniqueID) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *UniqueID) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *UniqueID) GetData() *UniqueID_UniqueData { if x != nil { return x.Data } return nil } // DistributeFeedFormulaRequest 饲料配方下发 type DistributeFeedFormulaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PastureIds []int32 `protobuf:"varint,1,rep,packed,name=pasture_ids,json=pastureIds,proto3" json:"pasture_ids,omitempty"` // 牧场ids集合 FeedFormulaIds []int32 `protobuf:"varint,2,rep,packed,name=feed_formula_ids,json=feedFormulaIds,proto3" json:"feed_formula_ids,omitempty"` // 配方ids集合 } func (x *DistributeFeedFormulaRequest) Reset() { *x = DistributeFeedFormulaRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DistributeFeedFormulaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DistributeFeedFormulaRequest) ProtoMessage() {} func (x *DistributeFeedFormulaRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[6] 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 DistributeFeedFormulaRequest.ProtoReflect.Descriptor instead. func (*DistributeFeedFormulaRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{6} } func (x *DistributeFeedFormulaRequest) GetPastureIds() []int32 { if x != nil { return x.PastureIds } return nil } func (x *DistributeFeedFormulaRequest) GetFeedFormulaIds() []int32 { if x != nil { return x.FeedFormulaIds } return nil } // EditRecodeFeedFormulaRequest 饲料配方修改记录 type EditRecodeFeedFormulaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id FeedFormulaId int32 `protobuf:"varint,2,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 饲料配方id StartTime int32 `protobuf:"varint,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间 EndTime int32 `protobuf:"varint,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间 } func (x *EditRecodeFeedFormulaRequest) Reset() { *x = EditRecodeFeedFormulaRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EditRecodeFeedFormulaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*EditRecodeFeedFormulaRequest) ProtoMessage() {} func (x *EditRecodeFeedFormulaRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[7] 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 EditRecodeFeedFormulaRequest.ProtoReflect.Descriptor instead. func (*EditRecodeFeedFormulaRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{7} } func (x *EditRecodeFeedFormulaRequest) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } func (x *EditRecodeFeedFormulaRequest) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *EditRecodeFeedFormulaRequest) GetStartTime() int32 { if x != nil { return x.StartTime } return 0 } func (x *EditRecodeFeedFormulaRequest) GetEndTime() int32 { if x != nil { return x.EndTime } return 0 } // EditRecodeFeedFormulaResponse 饲料配方修改记录 type EditRecodeFeedFormulaResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data []*EditRecodeFeedFormulaData `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` } func (x *EditRecodeFeedFormulaResponse) Reset() { *x = EditRecodeFeedFormulaResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EditRecodeFeedFormulaResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*EditRecodeFeedFormulaResponse) ProtoMessage() {} func (x *EditRecodeFeedFormulaResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[8] 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 EditRecodeFeedFormulaResponse.ProtoReflect.Descriptor instead. func (*EditRecodeFeedFormulaResponse) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{8} } func (x *EditRecodeFeedFormulaResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *EditRecodeFeedFormulaResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *EditRecodeFeedFormulaResponse) GetData() []*EditRecodeFeedFormulaData { if x != nil { return x.Data } return nil } type EditRecodeFeedFormulaData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` PastureName string `protobuf:"bytes,2,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` ModifyTime string `protobuf:"bytes,3,opt,name=modify_time,json=modifyTime,proto3" json:"modify_time,omitempty"` ModifyDetail string `protobuf:"bytes,4,opt,name=modify_detail,json=modifyDetail,proto3" json:"modify_detail,omitempty"` } func (x *EditRecodeFeedFormulaData) Reset() { *x = EditRecodeFeedFormulaData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *EditRecodeFeedFormulaData) String() string { return protoimpl.X.MessageStringOf(x) } func (*EditRecodeFeedFormulaData) ProtoMessage() {} func (x *EditRecodeFeedFormulaData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[9] 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 EditRecodeFeedFormulaData.ProtoReflect.Descriptor instead. func (*EditRecodeFeedFormulaData) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{9} } func (x *EditRecodeFeedFormulaData) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } func (x *EditRecodeFeedFormulaData) GetPastureName() string { if x != nil { return x.PastureName } return "" } func (x *EditRecodeFeedFormulaData) GetModifyTime() string { if x != nil { return x.ModifyTime } return "" } func (x *EditRecodeFeedFormulaData) GetModifyDetail() string { if x != nil { return x.ModifyDetail } return "" } // GroupAddFeedFormulaDetail 配方添加饲料 type GroupAddFeedFormulaDetail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id List []*AddFeedFormulaDetail `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"` // 饲料详情 } func (x *GroupAddFeedFormulaDetail) Reset() { *x = GroupAddFeedFormulaDetail{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *GroupAddFeedFormulaDetail) String() string { return protoimpl.X.MessageStringOf(x) } func (*GroupAddFeedFormulaDetail) ProtoMessage() {} func (x *GroupAddFeedFormulaDetail) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[10] 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 GroupAddFeedFormulaDetail.ProtoReflect.Descriptor instead. func (*GroupAddFeedFormulaDetail) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{10} } func (x *GroupAddFeedFormulaDetail) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *GroupAddFeedFormulaDetail) GetList() []*AddFeedFormulaDetail { if x != nil { return x.List } return nil } type AddFeedFormulaDetail struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id ForageId int32 `protobuf:"varint,2,opt,name=forage_id,json=forageId,proto3" json:"forage_id,omitempty"` // 饲料id ForageName string `protobuf:"bytes,3,opt,name=forage_name,json=forageName,proto3" json:"forage_name,omitempty"` // 饲料名称 ForageGroupName string `protobuf:"bytes,4,opt,name=forage_group_name,json=forageGroupName,proto3" json:"forage_group_name,omitempty"` // 饲料分组名称 Weight float32 `protobuf:"fixed32,5,opt,name=weight,proto3" json:"weight,omitempty"` // 重量 StirDelay int32 `protobuf:"varint,6,opt,name=stir_delay,json=stirDelay,proto3" json:"stir_delay,omitempty"` // 搅拌延迟 AllowError int32 `protobuf:"varint,7,opt,name=allow_error,json=allowError,proto3" json:"allow_error,omitempty"` // 允许误差 CreatedAt int32 `protobuf:"varint,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // 创建时间 CreatedAtFormat string `protobuf:"bytes,9,opt,name=created_at_format,json=createdAtFormat,proto3" json:"created_at_format,omitempty"` // 创建时间格式化 Id int32 `protobuf:"varint,10,opt,name=id,proto3" json:"id,omitempty"` Sort int32 `protobuf:"varint,11,opt,name=sort,proto3" json:"sort,omitempty"` // 排序 IsLockCowCountRatio int32 `protobuf:"varint,12,opt,name=is_lock_cow_count_ratio,json=isLockCowCountRatio,proto3" json:"is_lock_cow_count_ratio,omitempty"` // 是否锁定牛头数比例 Pagination *PaginationModel `protobuf:"bytes,13,opt,name=pagination,proto3" json:"pagination,omitempty"` // 分页 PreFit int32 `protobuf:"varint,14,opt,name=pre_fit,json=preFit,proto3" json:"pre_fit,omitempty"` // 预混料id IsModify IsShow_Kind `protobuf:"varint,15,opt,name=is_modify,json=isModify,proto3,enum=backend.operation.IsShow_Kind" json:"is_modify,omitempty"` } func (x *AddFeedFormulaDetail) Reset() { *x = AddFeedFormulaDetail{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *AddFeedFormulaDetail) String() string { return protoimpl.X.MessageStringOf(x) } func (*AddFeedFormulaDetail) ProtoMessage() {} func (x *AddFeedFormulaDetail) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[11] 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 AddFeedFormulaDetail.ProtoReflect.Descriptor instead. func (*AddFeedFormulaDetail) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{11} } func (x *AddFeedFormulaDetail) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *AddFeedFormulaDetail) GetForageId() int32 { if x != nil { return x.ForageId } return 0 } func (x *AddFeedFormulaDetail) GetForageName() string { if x != nil { return x.ForageName } return "" } func (x *AddFeedFormulaDetail) GetForageGroupName() string { if x != nil { return x.ForageGroupName } return "" } func (x *AddFeedFormulaDetail) GetWeight() float32 { if x != nil { return x.Weight } return 0 } func (x *AddFeedFormulaDetail) GetStirDelay() int32 { if x != nil { return x.StirDelay } return 0 } func (x *AddFeedFormulaDetail) GetAllowError() int32 { if x != nil { return x.AllowError } return 0 } func (x *AddFeedFormulaDetail) GetCreatedAt() int32 { if x != nil { return x.CreatedAt } return 0 } func (x *AddFeedFormulaDetail) GetCreatedAtFormat() string { if x != nil { return x.CreatedAtFormat } return "" } func (x *AddFeedFormulaDetail) GetId() int32 { if x != nil { return x.Id } return 0 } func (x *AddFeedFormulaDetail) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *AddFeedFormulaDetail) GetIsLockCowCountRatio() int32 { if x != nil { return x.IsLockCowCountRatio } return 0 } func (x *AddFeedFormulaDetail) GetPagination() *PaginationModel { if x != nil { return x.Pagination } return nil } func (x *AddFeedFormulaDetail) GetPreFit() int32 { if x != nil { return x.PreFit } return 0 } func (x *AddFeedFormulaDetail) GetIsModify() IsShow_Kind { if x != nil { return x.IsModify } return IsShow_INVALID } // FeedFormulaDetailRequest 饲料配方详情 type FeedFormulaDetailRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 配方id } func (x *FeedFormulaDetailRequest) Reset() { *x = FeedFormulaDetailRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FeedFormulaDetailRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FeedFormulaDetailRequest) ProtoMessage() {} func (x *FeedFormulaDetailRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[12] 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 FeedFormulaDetailRequest.ProtoReflect.Descriptor instead. func (*FeedFormulaDetailRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{12} } func (x *FeedFormulaDetailRequest) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } // FeedFormulaDetailRequest 饲料配方详情 type FeedFormulaDetailResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data []*AddFeedFormulaDetail `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` } func (x *FeedFormulaDetailResponse) Reset() { *x = FeedFormulaDetailResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FeedFormulaDetailResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FeedFormulaDetailResponse) ProtoMessage() {} func (x *FeedFormulaDetailResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[13] 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 FeedFormulaDetailResponse.ProtoReflect.Descriptor instead. func (*FeedFormulaDetailResponse) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{13} } func (x *FeedFormulaDetailResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *FeedFormulaDetailResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *FeedFormulaDetailResponse) GetData() []*AddFeedFormulaDetail { if x != nil { return x.Data } return nil } // 配方使用概况 type FeedFormulaUsageRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields FeedFormulaId int32 `protobuf:"varint,1,opt,name=feed_formula_id,json=feedFormulaId,proto3" json:"feed_formula_id,omitempty"` // 饲料配方id StartTime string `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` // 开始时间 EndTime string `protobuf:"bytes,3,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` // 结束时间 PastureId int32 `protobuf:"varint,4,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id } func (x *FeedFormulaUsageRequest) Reset() { *x = FeedFormulaUsageRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FeedFormulaUsageRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FeedFormulaUsageRequest) ProtoMessage() {} func (x *FeedFormulaUsageRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[14] 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 FeedFormulaUsageRequest.ProtoReflect.Descriptor instead. func (*FeedFormulaUsageRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{14} } func (x *FeedFormulaUsageRequest) GetFeedFormulaId() int32 { if x != nil { return x.FeedFormulaId } return 0 } func (x *FeedFormulaUsageRequest) GetStartTime() string { if x != nil { return x.StartTime } return "" } func (x *FeedFormulaUsageRequest) GetEndTime() string { if x != nil { return x.EndTime } return "" } func (x *FeedFormulaUsageRequest) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } // 配方使用概况 type FeedFormulaUsageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data []*FeedFormulaUsageList `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` } func (x *FeedFormulaUsageResponse) Reset() { *x = FeedFormulaUsageResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FeedFormulaUsageResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FeedFormulaUsageResponse) ProtoMessage() {} func (x *FeedFormulaUsageResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[15] 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 FeedFormulaUsageResponse.ProtoReflect.Descriptor instead. func (*FeedFormulaUsageResponse) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{15} } func (x *FeedFormulaUsageResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *FeedFormulaUsageResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *FeedFormulaUsageResponse) GetData() []*FeedFormulaUsageList { if x != nil { return x.Data } return nil } // 配方使用概况 type FeedFormulaUsageList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PastureId int32 `protobuf:"varint,1,opt,name=pasture_id,json=pastureId,proto3" json:"pasture_id,omitempty"` // 牧场id PastureName string `protobuf:"bytes,2,opt,name=pasture_name,json=pastureName,proto3" json:"pasture_name,omitempty"` // 牧场名称 MixedFodderAccurateRatio string `protobuf:"bytes,3,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"` // 混料准确率 MixedFodderCorrectRatio string `protobuf:"bytes,4,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"` // 混料正确率 SprinkleFodderAccurateRatio string `protobuf:"bytes,5,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率 SprinkleFodderCorrectRatio string `protobuf:"bytes,6,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"` // 撒料正确率 AddFeedTime string `protobuf:"bytes,7,opt,name=add_feed_time,json=addFeedTime,proto3" json:"add_feed_time,omitempty"` // 加料时间 SprinkleTime string `protobuf:"bytes,8,opt,name=sprinkle_time,json=sprinkleTime,proto3" json:"sprinkle_time,omitempty"` // 撒料时间 StirTime string `protobuf:"bytes,9,opt,name=stir_time,json=stirTime,proto3" json:"stir_time,omitempty"` // 搅拌延迟时间 LastEditTime string `protobuf:"bytes,10,opt,name=last_edit_time,json=lastEditTime,proto3" json:"last_edit_time,omitempty"` // 最近一次修改配方时间 } func (x *FeedFormulaUsageList) Reset() { *x = FeedFormulaUsageList{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *FeedFormulaUsageList) String() string { return protoimpl.X.MessageStringOf(x) } func (*FeedFormulaUsageList) ProtoMessage() {} func (x *FeedFormulaUsageList) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[16] 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 FeedFormulaUsageList.ProtoReflect.Descriptor instead. func (*FeedFormulaUsageList) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{16} } func (x *FeedFormulaUsageList) GetPastureId() int32 { if x != nil { return x.PastureId } return 0 } func (x *FeedFormulaUsageList) GetPastureName() string { if x != nil { return x.PastureName } return "" } func (x *FeedFormulaUsageList) GetMixedFodderAccurateRatio() string { if x != nil { return x.MixedFodderAccurateRatio } return "" } func (x *FeedFormulaUsageList) GetMixedFodderCorrectRatio() string { if x != nil { return x.MixedFodderCorrectRatio } return "" } func (x *FeedFormulaUsageList) GetSprinkleFodderAccurateRatio() string { if x != nil { return x.SprinkleFodderAccurateRatio } return "" } func (x *FeedFormulaUsageList) GetSprinkleFodderCorrectRatio() string { if x != nil { return x.SprinkleFodderCorrectRatio } return "" } func (x *FeedFormulaUsageList) GetAddFeedTime() string { if x != nil { return x.AddFeedTime } return "" } func (x *FeedFormulaUsageList) GetSprinkleTime() string { if x != nil { return x.SprinkleTime } return "" } func (x *FeedFormulaUsageList) GetStirTime() string { if x != nil { return x.StirTime } return "" } func (x *FeedFormulaUsageList) GetLastEditTime() string { if x != nil { return x.LastEditTime } return "" } type PastureFeedFormulaUsageResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"` Data *PastureData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (x *PastureFeedFormulaUsageResponse) Reset() { *x = PastureFeedFormulaUsageResponse{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PastureFeedFormulaUsageResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*PastureFeedFormulaUsageResponse) ProtoMessage() {} func (x *PastureFeedFormulaUsageResponse) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[17] 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 PastureFeedFormulaUsageResponse.ProtoReflect.Descriptor instead. func (*PastureFeedFormulaUsageResponse) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{17} } func (x *PastureFeedFormulaUsageResponse) GetCode() int32 { if x != nil { return x.Code } return 0 } func (x *PastureFeedFormulaUsageResponse) GetMsg() string { if x != nil { return x.Msg } return "" } func (x *PastureFeedFormulaUsageResponse) GetData() *PastureData { if x != nil { return x.Data } return nil } type PastureData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MixedFodderAccurateRatio string `protobuf:"bytes,3,opt,name=mixed_fodder_accurate_ratio,json=mixedFodderAccurateRatio,proto3" json:"mixed_fodder_accurate_ratio,omitempty"` // 混料准确率 MixedFodderCorrectRatio string `protobuf:"bytes,4,opt,name=mixed_fodder_correct_ratio,json=mixedFodderCorrectRatio,proto3" json:"mixed_fodder_correct_ratio,omitempty"` // 混料正确率 SprinkleFodderAccurateRatio string `protobuf:"bytes,5,opt,name=sprinkle_fodder_accurate_ratio,json=sprinkleFodderAccurateRatio,proto3" json:"sprinkle_fodder_accurate_ratio,omitempty"` // 撒料准确率 SprinkleFodderCorrectRatio string `protobuf:"bytes,6,opt,name=sprinkle_fodder_correct_ratio,json=sprinkleFodderCorrectRatio,proto3" json:"sprinkle_fodder_correct_ratio,omitempty"` // 撒料正确率 AddFeedTime string `protobuf:"bytes,7,opt,name=add_feed_time,json=addFeedTime,proto3" json:"add_feed_time,omitempty"` // 加料时间 SprinkleTime string `protobuf:"bytes,8,opt,name=sprinkle_time,json=sprinkleTime,proto3" json:"sprinkle_time,omitempty"` // 撒料时间 StirTime string `protobuf:"bytes,9,opt,name=stir_time,json=stirTime,proto3" json:"stir_time,omitempty"` // 搅拌延迟时间 LastEditTime string `protobuf:"bytes,10,opt,name=last_edit_time,json=lastEditTime,proto3" json:"last_edit_time,omitempty"` // 最近一次修改配方时间 } func (x *PastureData) Reset() { *x = PastureData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *PastureData) String() string { return protoimpl.X.MessageStringOf(x) } func (*PastureData) ProtoMessage() {} func (x *PastureData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[18] 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 PastureData.ProtoReflect.Descriptor instead. func (*PastureData) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{18} } func (x *PastureData) GetMixedFodderAccurateRatio() string { if x != nil { return x.MixedFodderAccurateRatio } return "" } func (x *PastureData) GetMixedFodderCorrectRatio() string { if x != nil { return x.MixedFodderCorrectRatio } return "" } func (x *PastureData) GetSprinkleFodderAccurateRatio() string { if x != nil { return x.SprinkleFodderAccurateRatio } return "" } func (x *PastureData) GetSprinkleFodderCorrectRatio() string { if x != nil { return x.SprinkleFodderCorrectRatio } return "" } func (x *PastureData) GetAddFeedTime() string { if x != nil { return x.AddFeedTime } return "" } func (x *PastureData) GetSprinkleTime() string { if x != nil { return x.SprinkleTime } return "" } func (x *PastureData) GetStirTime() string { if x != nil { return x.StirTime } return "" } func (x *PastureData) GetLastEditTime() string { if x != nil { return x.LastEditTime } return "" } type MixedFeedFormulaRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 配方名称 Colour string `protobuf:"bytes,2,opt,name=colour,proto3" json:"colour,omitempty"` // 颜色 CattleCategoryId int32 `protobuf:"varint,3,opt,name=cattle_category_id,json=cattleCategoryId,proto3" json:"cattle_category_id,omitempty"` // 分类id CattleCategoryName string `protobuf:"bytes,4,opt,name=cattle_category_name,json=cattleCategoryName,proto3" json:"cattle_category_name,omitempty"` // 分类名称 FormulaTypeId int32 `protobuf:"varint,5,opt,name=formula_type_id,json=formulaTypeId,proto3" json:"formula_type_id,omitempty"` // 配方类型id FormulaTypeName string `protobuf:"bytes,6,opt,name=formula_type_name,json=formulaTypeName,proto3" json:"formula_type_name,omitempty"` // 配方类型名称 DataSourceId int32 `protobuf:"varint,7,opt,name=data_source_id,json=dataSourceId,proto3" json:"data_source_id,omitempty"` // 来源id Remarks string `protobuf:"bytes,8,opt,name=remarks,proto3" json:"remarks,omitempty"` // 备注 FeedList []*AddFeedFormulaDetail `protobuf:"bytes,9,rep,name=feed_list,json=feedList,proto3" json:"feed_list,omitempty"` } func (x *MixedFeedFormulaRequest) Reset() { *x = MixedFeedFormulaRequest{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *MixedFeedFormulaRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MixedFeedFormulaRequest) ProtoMessage() {} func (x *MixedFeedFormulaRequest) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[19] 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 MixedFeedFormulaRequest.ProtoReflect.Descriptor instead. func (*MixedFeedFormulaRequest) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{19} } func (x *MixedFeedFormulaRequest) GetName() string { if x != nil { return x.Name } return "" } func (x *MixedFeedFormulaRequest) GetColour() string { if x != nil { return x.Colour } return "" } func (x *MixedFeedFormulaRequest) GetCattleCategoryId() int32 { if x != nil { return x.CattleCategoryId } return 0 } func (x *MixedFeedFormulaRequest) GetCattleCategoryName() string { if x != nil { return x.CattleCategoryName } return "" } func (x *MixedFeedFormulaRequest) GetFormulaTypeId() int32 { if x != nil { return x.FormulaTypeId } return 0 } func (x *MixedFeedFormulaRequest) GetFormulaTypeName() string { if x != nil { return x.FormulaTypeName } return "" } func (x *MixedFeedFormulaRequest) GetDataSourceId() int32 { if x != nil { return x.DataSourceId } return 0 } func (x *MixedFeedFormulaRequest) GetRemarks() string { if x != nil { return x.Remarks } return "" } func (x *MixedFeedFormulaRequest) GetFeedList() []*AddFeedFormulaDetail { if x != nil { return x.FeedList } return nil } type UniqueID_UniqueData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EncodeNumber string `protobuf:"bytes,1,opt,name=encode_number,json=encodeNumber,proto3" json:"encode_number,omitempty"` } func (x *UniqueID_UniqueData) Reset() { *x = UniqueID_UniqueData{} if protoimpl.UnsafeEnabled { mi := &file_backend_operation_feed_formula_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UniqueID_UniqueData) String() string { return protoimpl.X.MessageStringOf(x) } func (*UniqueID_UniqueData) ProtoMessage() {} func (x *UniqueID_UniqueData) ProtoReflect() protoreflect.Message { mi := &file_backend_operation_feed_formula_proto_msgTypes[20] 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 UniqueID_UniqueData.ProtoReflect.Descriptor instead. func (*UniqueID_UniqueData) Descriptor() ([]byte, []int) { return file_backend_operation_feed_formula_proto_rawDescGZIP(), []int{5, 0} } func (x *UniqueID_UniqueData) GetEncodeNumber() string { if x != nil { return x.EncodeNumber } return "" } var File_backend_operation_feed_formula_proto protoreflect.FileDescriptor var file_backend_operation_feed_formula_proto_rawDesc = []byte{ 0x0a, 0x24, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe6, 0x05, 0x0a, 0x15, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x12, 0x5a, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x10, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x3b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x18, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x87, 0x01, 0x0a, 0x1d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0x97, 0x01, 0x0a, 0x17, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x08, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x44, 0x2e, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x31, 0x0a, 0x0a, 0x55, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x69, 0x0a, 0x1c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x73, 0x22, 0x9f, 0x01, 0x0a, 0x1c, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x40, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa3, 0x01, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x80, 0x01, 0x0a, 0x19, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x22, 0xbf, 0x04, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x74, 0x69, 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x34, 0x0a, 0x17, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x43, 0x6f, 0x77, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x5f, 0x66, 0x69, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x70, 0x72, 0x65, 0x46, 0x69, 0x74, 0x12, 0x3b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x08, 0x69, 0x73, 0x4d, 0x6f, 0x64, 0x69, 0x66, 0x79, 0x22, 0x42, 0x0a, 0x18, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x19, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x17, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x22, 0x7d, 0x0a, 0x18, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe8, 0x03, 0x0a, 0x14, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x7b, 0x0a, 0x1f, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9d, 0x03, 0x0a, 0x0b, 0x50, 0x61, 0x73, 0x74, 0x75, 0x72, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x1b, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x3b, 0x0a, 0x1a, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x43, 0x0a, 0x1e, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x41, 0x63, 0x63, 0x75, 0x72, 0x61, 0x74, 0x65, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x41, 0x0a, 0x1d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x66, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x46, 0x6f, 0x64, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x64, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x6b, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x74, 0x69, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x69, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x45, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xff, 0x02, 0x0a, 0x17, 0x4d, 0x69, 0x78, 0x65, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x6f, 0x75, 0x72, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x61, 0x74, 0x74, 0x6c, 0x65, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x46, 0x65, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x75, 0x6c, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x0f, 0x5a, 0x0d, 0x2e, 0x3b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_backend_operation_feed_formula_proto_rawDescOnce sync.Once file_backend_operation_feed_formula_proto_rawDescData = file_backend_operation_feed_formula_proto_rawDesc ) func file_backend_operation_feed_formula_proto_rawDescGZIP() []byte { file_backend_operation_feed_formula_proto_rawDescOnce.Do(func() { file_backend_operation_feed_formula_proto_rawDescData = protoimpl.X.CompressGZIP(file_backend_operation_feed_formula_proto_rawDescData) }) return file_backend_operation_feed_formula_proto_rawDescData } var file_backend_operation_feed_formula_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_backend_operation_feed_formula_proto_goTypes = []interface{}{ (*AddFeedFormulaRequest)(nil), // 0: backend.operation.AddFeedFormulaRequest (*SearchFeedFormulaRequest)(nil), // 1: backend.operation.SearchFeedFormulaRequest (*SearchFeedFormulaListResponse)(nil), // 2: backend.operation.SearchFeedFormulaListResponse (*SearchFeedFormulaListData)(nil), // 3: backend.operation.SearchFeedFormulaListData (*IsShowModifyFeedFormula)(nil), // 4: backend.operation.IsShowModifyFeedFormula (*UniqueID)(nil), // 5: backend.operation.UniqueID (*DistributeFeedFormulaRequest)(nil), // 6: backend.operation.DistributeFeedFormulaRequest (*EditRecodeFeedFormulaRequest)(nil), // 7: backend.operation.EditRecodeFeedFormulaRequest (*EditRecodeFeedFormulaResponse)(nil), // 8: backend.operation.EditRecodeFeedFormulaResponse (*EditRecodeFeedFormulaData)(nil), // 9: backend.operation.EditRecodeFeedFormulaData (*GroupAddFeedFormulaDetail)(nil), // 10: backend.operation.GroupAddFeedFormulaDetail (*AddFeedFormulaDetail)(nil), // 11: backend.operation.AddFeedFormulaDetail (*FeedFormulaDetailRequest)(nil), // 12: backend.operation.FeedFormulaDetailRequest (*FeedFormulaDetailResponse)(nil), // 13: backend.operation.FeedFormulaDetailResponse (*FeedFormulaUsageRequest)(nil), // 14: backend.operation.FeedFormulaUsageRequest (*FeedFormulaUsageResponse)(nil), // 15: backend.operation.FeedFormulaUsageResponse (*FeedFormulaUsageList)(nil), // 16: backend.operation.FeedFormulaUsageList (*PastureFeedFormulaUsageResponse)(nil), // 17: backend.operation.PastureFeedFormulaUsageResponse (*PastureData)(nil), // 18: backend.operation.PastureData (*MixedFeedFormulaRequest)(nil), // 19: backend.operation.MixedFeedFormulaRequest (*UniqueID_UniqueData)(nil), // 20: backend.operation.UniqueID.UniqueData (CattleCategoryParent_Kind)(0), // 21: backend.operation.CattleCategoryParent.Kind (DataSource_Kind)(0), // 22: backend.operation.DataSource.Kind (IsShow_Kind)(0), // 23: backend.operation.IsShow.Kind (*PaginationModel)(nil), // 24: backend.operation.PaginationModel } var file_backend_operation_feed_formula_proto_depIdxs = []int32{ 21, // 0: backend.operation.AddFeedFormulaRequest.cattle_category_id:type_name -> backend.operation.CattleCategoryParent.Kind 22, // 1: backend.operation.AddFeedFormulaRequest.data_source_id:type_name -> backend.operation.DataSource.Kind 23, // 2: backend.operation.AddFeedFormulaRequest.is_show:type_name -> backend.operation.IsShow.Kind 23, // 3: backend.operation.AddFeedFormulaRequest.is_modify:type_name -> backend.operation.IsShow.Kind 23, // 4: backend.operation.SearchFeedFormulaRequest.is_show:type_name -> backend.operation.IsShow.Kind 24, // 5: backend.operation.SearchFeedFormulaRequest.pagination:type_name -> backend.operation.PaginationModel 3, // 6: backend.operation.SearchFeedFormulaListResponse.data:type_name -> backend.operation.SearchFeedFormulaListData 0, // 7: backend.operation.SearchFeedFormulaListData.list:type_name -> backend.operation.AddFeedFormulaRequest 23, // 8: backend.operation.IsShowModifyFeedFormula.is_show:type_name -> backend.operation.IsShow.Kind 20, // 9: backend.operation.UniqueID.data:type_name -> backend.operation.UniqueID.UniqueData 9, // 10: backend.operation.EditRecodeFeedFormulaResponse.data:type_name -> backend.operation.EditRecodeFeedFormulaData 11, // 11: backend.operation.GroupAddFeedFormulaDetail.list:type_name -> backend.operation.AddFeedFormulaDetail 24, // 12: backend.operation.AddFeedFormulaDetail.pagination:type_name -> backend.operation.PaginationModel 23, // 13: backend.operation.AddFeedFormulaDetail.is_modify:type_name -> backend.operation.IsShow.Kind 11, // 14: backend.operation.FeedFormulaDetailResponse.data:type_name -> backend.operation.AddFeedFormulaDetail 16, // 15: backend.operation.FeedFormulaUsageResponse.data:type_name -> backend.operation.FeedFormulaUsageList 18, // 16: backend.operation.PastureFeedFormulaUsageResponse.data:type_name -> backend.operation.PastureData 11, // 17: backend.operation.MixedFeedFormulaRequest.feed_list:type_name -> backend.operation.AddFeedFormulaDetail 18, // [18:18] is the sub-list for method output_type 18, // [18:18] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name } func init() { file_backend_operation_feed_formula_proto_init() } func file_backend_operation_feed_formula_proto_init() { if File_backend_operation_feed_formula_proto != nil { return } file_backend_operation_pagination_proto_init() file_backend_operation_enum_proto_init() if !protoimpl.UnsafeEnabled { file_backend_operation_feed_formula_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddFeedFormulaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFeedFormulaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFeedFormulaListResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SearchFeedFormulaListData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IsShowModifyFeedFormula); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniqueID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DistributeFeedFormulaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditRecodeFeedFormulaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditRecodeFeedFormulaResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EditRecodeFeedFormulaData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroupAddFeedFormulaDetail); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AddFeedFormulaDetail); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeedFormulaDetailRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeedFormulaDetailResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeedFormulaUsageRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeedFormulaUsageResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FeedFormulaUsageList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PastureFeedFormulaUsageResponse); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*PastureData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MixedFeedFormulaRequest); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_backend_operation_feed_formula_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UniqueID_UniqueData); 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_backend_operation_feed_formula_proto_rawDesc, NumEnums: 0, NumMessages: 21, NumExtensions: 0, NumServices: 0, }, GoTypes: file_backend_operation_feed_formula_proto_goTypes, DependencyIndexes: file_backend_operation_feed_formula_proto_depIdxs, MessageInfos: file_backend_operation_feed_formula_proto_msgTypes, }.Build() File_backend_operation_feed_formula_proto = out.File file_backend_operation_feed_formula_proto_rawDesc = nil file_backend_operation_feed_formula_proto_goTypes = nil file_backend_operation_feed_formula_proto_depIdxs = nil }