mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	增加套餐相关代码
This commit is contained in:
		
							
								
								
									
										247
									
								
								pkg/rpc/pb/model_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										247
									
								
								pkg/rpc/pb/model_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,247 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
				
			||||||
 | 
					// versions:
 | 
				
			||||||
 | 
					// 	protoc-gen-go v1.25.0
 | 
				
			||||||
 | 
					// 	protoc        v3.12.3
 | 
				
			||||||
 | 
					// source: models/model_plan.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 Plan struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Id                 int64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
				
			||||||
 | 
						IsOn               bool    `protobuf:"varint,2,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
				
			||||||
 | 
						Name               string  `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
 | 
				
			||||||
 | 
						ClusterId          int64   `protobuf:"varint,4,opt,name=clusterId,proto3" json:"clusterId,omitempty"`
 | 
				
			||||||
 | 
						BandwidthLimitJSON []byte  `protobuf:"bytes,5,opt,name=bandwidthLimitJSON,proto3" json:"bandwidthLimitJSON,omitempty"`
 | 
				
			||||||
 | 
						FeaturesJSON       []byte  `protobuf:"bytes,6,opt,name=featuresJSON,proto3" json:"featuresJSON,omitempty"`
 | 
				
			||||||
 | 
						PriceType          string  `protobuf:"bytes,7,opt,name=priceType,proto3" json:"priceType,omitempty"`
 | 
				
			||||||
 | 
						BandwidthPriceJSON []byte  `protobuf:"bytes,8,opt,name=bandwidthPriceJSON,proto3" json:"bandwidthPriceJSON,omitempty"`
 | 
				
			||||||
 | 
						MonthlyPrice       float32 `protobuf:"fixed32,9,opt,name=monthlyPrice,proto3" json:"monthlyPrice,omitempty"`
 | 
				
			||||||
 | 
						SeasonallyPrice    float32 `protobuf:"fixed32,10,opt,name=seasonallyPrice,proto3" json:"seasonallyPrice,omitempty"`
 | 
				
			||||||
 | 
						YearlyPrice        float32 `protobuf:"fixed32,11,opt,name=yearlyPrice,proto3" json:"yearlyPrice,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) Reset() {
 | 
				
			||||||
 | 
						*x = Plan{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_models_model_plan_proto_msgTypes[0]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*Plan) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_models_model_plan_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 Plan.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*Plan) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_models_model_plan_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Id
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetIsOn() bool {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.IsOn
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetName() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Name
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetClusterId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.ClusterId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetBandwidthLimitJSON() []byte {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.BandwidthLimitJSON
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetFeaturesJSON() []byte {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.FeaturesJSON
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetPriceType() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.PriceType
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetBandwidthPriceJSON() []byte {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.BandwidthPriceJSON
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetMonthlyPrice() float32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.MonthlyPrice
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetSeasonallyPrice() float32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.SeasonallyPrice
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *Plan) GetYearlyPrice() float32 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.YearlyPrice
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var File_models_model_plan_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_models_model_plan_proto_rawDesc = []byte{
 | 
				
			||||||
 | 
						0x0a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70,
 | 
				
			||||||
 | 
						0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0xee, 0x02,
 | 
				
			||||||
 | 
						0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x02,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
 | 
				
			||||||
 | 
						0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c,
 | 
				
			||||||
 | 
						0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
				
			||||||
 | 
						0x03, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12,
 | 
				
			||||||
 | 
						0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53,
 | 
				
			||||||
 | 
						0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69,
 | 
				
			||||||
 | 
						0x64, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22, 0x0a, 0x0c,
 | 
				
			||||||
 | 
						0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01,
 | 
				
			||||||
 | 
						0x28, 0x0c, 0x52, 0x0c, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
 | 
				
			||||||
 | 
						0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20,
 | 
				
			||||||
 | 
						0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e,
 | 
				
			||||||
 | 
						0x0a, 0x12, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65,
 | 
				
			||||||
 | 
						0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x62, 0x61, 0x6e, 0x64,
 | 
				
			||||||
 | 
						0x77, 0x69, 0x64, 0x74, 0x68, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x22,
 | 
				
			||||||
 | 
						0x0a, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x09,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x50, 0x72, 0x69,
 | 
				
			||||||
 | 
						0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79,
 | 
				
			||||||
 | 
						0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x73, 0x65, 0x61,
 | 
				
			||||||
 | 
						0x73, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b,
 | 
				
			||||||
 | 
						0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
 | 
				
			||||||
 | 
						0x02, 0x52, 0x0b, 0x79, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x06,
 | 
				
			||||||
 | 
						0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						file_models_model_plan_proto_rawDescOnce sync.Once
 | 
				
			||||||
 | 
						file_models_model_plan_proto_rawDescData = file_models_model_plan_proto_rawDesc
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func file_models_model_plan_proto_rawDescGZIP() []byte {
 | 
				
			||||||
 | 
						file_models_model_plan_proto_rawDescOnce.Do(func() {
 | 
				
			||||||
 | 
							file_models_model_plan_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_plan_proto_rawDescData)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						return file_models_model_plan_proto_rawDescData
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_models_model_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
				
			||||||
 | 
					var file_models_model_plan_proto_goTypes = []interface{}{
 | 
				
			||||||
 | 
						(*Plan)(nil), // 0: pb.Plan
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					var file_models_model_plan_proto_depIdxs = []int32{
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for method output_type
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for method input_type
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0, // [0:0] is the sub-list for field type_name
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { file_models_model_plan_proto_init() }
 | 
				
			||||||
 | 
					func file_models_model_plan_proto_init() {
 | 
				
			||||||
 | 
						if File_models_model_plan_proto != nil {
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						if !protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							file_models_model_plan_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*Plan); 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_models_model_plan_proto_rawDesc,
 | 
				
			||||||
 | 
								NumEnums:      0,
 | 
				
			||||||
 | 
								NumMessages:   1,
 | 
				
			||||||
 | 
								NumExtensions: 0,
 | 
				
			||||||
 | 
								NumServices:   0,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							GoTypes:           file_models_model_plan_proto_goTypes,
 | 
				
			||||||
 | 
							DependencyIndexes: file_models_model_plan_proto_depIdxs,
 | 
				
			||||||
 | 
							MessageInfos:      file_models_model_plan_proto_msgTypes,
 | 
				
			||||||
 | 
						}.Build()
 | 
				
			||||||
 | 
						File_models_model_plan_proto = out.File
 | 
				
			||||||
 | 
						file_models_model_plan_proto_rawDesc = nil
 | 
				
			||||||
 | 
						file_models_model_plan_proto_goTypes = nil
 | 
				
			||||||
 | 
						file_models_model_plan_proto_depIdxs = nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										213
									
								
								pkg/rpc/pb/model_user_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										213
									
								
								pkg/rpc/pb/model_user_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,213 @@
 | 
				
			|||||||
 | 
					// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
				
			||||||
 | 
					// versions:
 | 
				
			||||||
 | 
					// 	protoc-gen-go v1.25.0
 | 
				
			||||||
 | 
					// 	protoc        v3.12.3
 | 
				
			||||||
 | 
					// source: models/model_user_plan.proto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 UserPlan struct {
 | 
				
			||||||
 | 
						state         protoimpl.MessageState
 | 
				
			||||||
 | 
						sizeCache     protoimpl.SizeCache
 | 
				
			||||||
 | 
						unknownFields protoimpl.UnknownFields
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						Id     int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
				
			||||||
 | 
						UserId int64  `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
				
			||||||
 | 
						PlanId int64  `protobuf:"varint,3,opt,name=planId,proto3" json:"planId,omitempty"`
 | 
				
			||||||
 | 
						IsOn   bool   `protobuf:"varint,4,opt,name=isOn,proto3" json:"isOn,omitempty"`
 | 
				
			||||||
 | 
						DayTo  string `protobuf:"bytes,5,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
				
			||||||
 | 
						User   *User  `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
 | 
				
			||||||
 | 
						Plan   *Plan  `protobuf:"bytes,31,opt,name=plan,proto3" json:"plan,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) Reset() {
 | 
				
			||||||
 | 
						*x = UserPlan{}
 | 
				
			||||||
 | 
						if protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							mi := &file_models_model_user_plan_proto_msgTypes[0]
 | 
				
			||||||
 | 
							ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
				
			||||||
 | 
							ms.StoreMessageInfo(mi)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) String() string {
 | 
				
			||||||
 | 
						return protoimpl.X.MessageStringOf(x)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (*UserPlan) ProtoMessage() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) ProtoReflect() protoreflect.Message {
 | 
				
			||||||
 | 
						mi := &file_models_model_user_plan_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 UserPlan.ProtoReflect.Descriptor instead.
 | 
				
			||||||
 | 
					func (*UserPlan) Descriptor() ([]byte, []int) {
 | 
				
			||||||
 | 
						return file_models_model_user_plan_proto_rawDescGZIP(), []int{0}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Id
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetUserId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.UserId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetPlanId() int64 {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.PlanId
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetIsOn() bool {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.IsOn
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetDayTo() string {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.DayTo
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetUser() *User {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.User
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (x *UserPlan) GetPlan() *Plan {
 | 
				
			||||||
 | 
						if x != nil {
 | 
				
			||||||
 | 
							return x.Plan
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var File_models_model_user_plan_proto protoreflect.FileDescriptor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_models_model_user_plan_proto_rawDesc = []byte{
 | 
				
			||||||
 | 
						0x0a, 0x1c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02,
 | 
				
			||||||
 | 
						0x70, 0x62, 0x1a, 0x17, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
				
			||||||
 | 
						0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x6d, 0x6f, 0x64,
 | 
				
			||||||
 | 
						0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70,
 | 
				
			||||||
 | 
						0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb0, 0x01, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
 | 
				
			||||||
 | 
						0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
				
			||||||
 | 
						0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49,
 | 
				
			||||||
 | 
						0x64, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
				
			||||||
 | 
						0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x05,
 | 
				
			||||||
 | 
						0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x12, 0x1c, 0x0a, 0x04, 0x75,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x55,
 | 
				
			||||||
 | 
						0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x04, 0x70, 0x6c, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x08, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x6c, 0x61,
 | 
				
			||||||
 | 
						0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62,
 | 
				
			||||||
 | 
						0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var (
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_rawDescOnce sync.Once
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_rawDescData = file_models_model_user_plan_proto_rawDesc
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func file_models_model_user_plan_proto_rawDescGZIP() []byte {
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_rawDescOnce.Do(func() {
 | 
				
			||||||
 | 
							file_models_model_user_plan_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_plan_proto_rawDescData)
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
						return file_models_model_user_plan_proto_rawDescData
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var file_models_model_user_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
				
			||||||
 | 
					var file_models_model_user_plan_proto_goTypes = []interface{}{
 | 
				
			||||||
 | 
						(*UserPlan)(nil), // 0: pb.UserPlan
 | 
				
			||||||
 | 
						(*User)(nil),     // 1: pb.User
 | 
				
			||||||
 | 
						(*Plan)(nil),     // 2: pb.Plan
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					var file_models_model_user_plan_proto_depIdxs = []int32{
 | 
				
			||||||
 | 
						1, // 0: pb.UserPlan.user:type_name -> pb.User
 | 
				
			||||||
 | 
						2, // 1: pb.UserPlan.plan:type_name -> pb.Plan
 | 
				
			||||||
 | 
						2, // [2:2] is the sub-list for method output_type
 | 
				
			||||||
 | 
						2, // [2:2] is the sub-list for method input_type
 | 
				
			||||||
 | 
						2, // [2:2] is the sub-list for extension type_name
 | 
				
			||||||
 | 
						2, // [2:2] is the sub-list for extension extendee
 | 
				
			||||||
 | 
						0, // [0:2] is the sub-list for field type_name
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func init() { file_models_model_user_plan_proto_init() }
 | 
				
			||||||
 | 
					func file_models_model_user_plan_proto_init() {
 | 
				
			||||||
 | 
						if File_models_model_user_plan_proto != nil {
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						file_models_model_user_proto_init()
 | 
				
			||||||
 | 
						file_models_model_plan_proto_init()
 | 
				
			||||||
 | 
						if !protoimpl.UnsafeEnabled {
 | 
				
			||||||
 | 
							file_models_model_user_plan_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
				
			||||||
 | 
								switch v := v.(*UserPlan); 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_models_model_user_plan_proto_rawDesc,
 | 
				
			||||||
 | 
								NumEnums:      0,
 | 
				
			||||||
 | 
								NumMessages:   1,
 | 
				
			||||||
 | 
								NumExtensions: 0,
 | 
				
			||||||
 | 
								NumServices:   0,
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							GoTypes:           file_models_model_user_plan_proto_goTypes,
 | 
				
			||||||
 | 
							DependencyIndexes: file_models_model_user_plan_proto_depIdxs,
 | 
				
			||||||
 | 
							MessageInfos:      file_models_model_user_plan_proto_msgTypes,
 | 
				
			||||||
 | 
						}.Build()
 | 
				
			||||||
 | 
						File_models_model_user_plan_proto = out.File
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_rawDesc = nil
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_goTypes = nil
 | 
				
			||||||
 | 
						file_models_model_user_plan_proto_depIdxs = nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1273
									
								
								pkg/rpc/pb/service_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1273
									
								
								pkg/rpc/pb/service_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1119
									
								
								pkg/rpc/pb/service_user_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1119
									
								
								pkg/rpc/pb/service_user_plan.pb.go
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										18
									
								
								pkg/rpc/protos/models/model_plan.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								pkg/rpc/protos/models/model_plan.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					option go_package = "./pb";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message Plan {
 | 
				
			||||||
 | 
						int64 id = 1;
 | 
				
			||||||
 | 
						bool isOn = 2;
 | 
				
			||||||
 | 
						string name = 3;
 | 
				
			||||||
 | 
						int64 clusterId = 4;
 | 
				
			||||||
 | 
						bytes bandwidthLimitJSON = 5;
 | 
				
			||||||
 | 
						bytes featuresJSON = 6;
 | 
				
			||||||
 | 
						string priceType = 7;
 | 
				
			||||||
 | 
						bytes bandwidthPriceJSON = 8;
 | 
				
			||||||
 | 
						float monthlyPrice = 9;
 | 
				
			||||||
 | 
						float seasonallyPrice = 10;
 | 
				
			||||||
 | 
						float yearlyPrice = 11;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										19
									
								
								pkg/rpc/protos/models/model_user_plan.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								pkg/rpc/protos/models/model_user_plan.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					option go_package = "./pb";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "models/model_user.proto";
 | 
				
			||||||
 | 
					import "models/model_plan.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message UserPlan {
 | 
				
			||||||
 | 
						int64 id = 1;
 | 
				
			||||||
 | 
						int64 userId = 2;
 | 
				
			||||||
 | 
						int64 planId = 3;
 | 
				
			||||||
 | 
						bool isOn = 4;
 | 
				
			||||||
 | 
						string dayTo = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						User user = 30;
 | 
				
			||||||
 | 
						Plan plan = 31;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										97
									
								
								pkg/rpc/protos/service_plan.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								pkg/rpc/protos/service_plan.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,97 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					option go_package = "./pb";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "models/model_plan.proto";
 | 
				
			||||||
 | 
					import "models/rpc_messages.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 套餐相关服务
 | 
				
			||||||
 | 
					service PlanService {
 | 
				
			||||||
 | 
						// 创建套餐
 | 
				
			||||||
 | 
						rpc createPlan(CreatePlanRequest) returns (CreatePlanResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 修改套餐
 | 
				
			||||||
 | 
						rpc updatePlan(UpdatePlanRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 删除套餐
 | 
				
			||||||
 | 
						rpc deletePlan(DeletePlanRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 查找单个套餐
 | 
				
			||||||
 | 
						rpc findEnabledPlan(FindEnabledPlanRequest) returns (FindEnabledPlanResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 计算套餐数量
 | 
				
			||||||
 | 
						rpc countAllEnabledPlans(CountAllEnabledPlansRequest) returns (RPCCountResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 列出单页套餐
 | 
				
			||||||
 | 
						rpc listEnabledPlans(ListEnabledPlansRequest) returns (ListEnabledPlansResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 对套餐进行排序
 | 
				
			||||||
 | 
						rpc sortPlans(SortPlansRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 创建套餐
 | 
				
			||||||
 | 
					message CreatePlanRequest {
 | 
				
			||||||
 | 
						string name = 1;
 | 
				
			||||||
 | 
						int64 clusterId = 2;
 | 
				
			||||||
 | 
						bytes bandwidthLimitJSON = 3;
 | 
				
			||||||
 | 
						bytes featuresJSON = 4;
 | 
				
			||||||
 | 
						string priceType = 5;
 | 
				
			||||||
 | 
						bytes bandwidthPriceJSON = 6;
 | 
				
			||||||
 | 
						float monthlyPrice = 7;
 | 
				
			||||||
 | 
						float seasonallyPrice = 8;
 | 
				
			||||||
 | 
						float yearlyPrice = 9;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message CreatePlanResponse {
 | 
				
			||||||
 | 
						int64 planId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 修改套餐
 | 
				
			||||||
 | 
					message UpdatePlanRequest {
 | 
				
			||||||
 | 
						int64 planId = 1;
 | 
				
			||||||
 | 
						string name = 2;
 | 
				
			||||||
 | 
						bool isOn = 3;
 | 
				
			||||||
 | 
						int64 clusterId = 4;
 | 
				
			||||||
 | 
						bytes bandwidthLimitJSON = 5;
 | 
				
			||||||
 | 
						bytes featuresJSON = 6;
 | 
				
			||||||
 | 
						string priceType = 7;
 | 
				
			||||||
 | 
						bytes bandwidthPriceJSON = 8;
 | 
				
			||||||
 | 
						float monthlyPrice = 9;
 | 
				
			||||||
 | 
						float seasonallyPrice = 10;
 | 
				
			||||||
 | 
						float yearlyPrice = 11;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 删除套餐
 | 
				
			||||||
 | 
					message DeletePlanRequest {
 | 
				
			||||||
 | 
						int64 planId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 查找单个套餐
 | 
				
			||||||
 | 
					message FindEnabledPlanRequest {
 | 
				
			||||||
 | 
						int64 planId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message FindEnabledPlanResponse {
 | 
				
			||||||
 | 
						Plan plan = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 计算套餐数量
 | 
				
			||||||
 | 
					message CountAllEnabledPlansRequest {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 列出单页套餐
 | 
				
			||||||
 | 
					message ListEnabledPlansRequest {
 | 
				
			||||||
 | 
						int64 offset = 1;
 | 
				
			||||||
 | 
						int64 size = 2;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ListEnabledPlansResponse {
 | 
				
			||||||
 | 
						repeated Plan plans = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 对套餐进行排序
 | 
				
			||||||
 | 
					message SortPlansRequest {
 | 
				
			||||||
 | 
						repeated int64 planIds = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										83
									
								
								pkg/rpc/protos/service_user_plan.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								pkg/rpc/protos/service_user_plan.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					syntax = "proto3";
 | 
				
			||||||
 | 
					option go_package = "./pb";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package pb;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import "models/rpc_messages.proto";
 | 
				
			||||||
 | 
					import "models/model_user_plan.proto";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 用户购买的套餐
 | 
				
			||||||
 | 
					service UserPlanService {
 | 
				
			||||||
 | 
						// 添加已购套餐
 | 
				
			||||||
 | 
						rpc createUserPlan(CreateUserPlanRequest) returns (CreateUserPlanResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 查找单个已购套餐信息
 | 
				
			||||||
 | 
						rpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 修改已购套餐
 | 
				
			||||||
 | 
						rpc updateUserPlan(UpdateUserPlanRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 删除已购套餐
 | 
				
			||||||
 | 
						rpc deleteUserPlan(DeleteUserPlanRequest) returns (RPCSuccess);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 计算已购套餐数
 | 
				
			||||||
 | 
						rpc countAllEnabledUserPlans(CountAllEnabledUserPlansRequest) returns (RPCCountResponse);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// 列出单页已购套餐
 | 
				
			||||||
 | 
						rpc listEnabledUserPlans(ListEnabledUserPlansRequest) returns (ListEnabledUserPlansResponse);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 添加已购套餐
 | 
				
			||||||
 | 
					message CreateUserPlanRequest{
 | 
				
			||||||
 | 
						int64 userId = 1;
 | 
				
			||||||
 | 
						int64 planId = 2;
 | 
				
			||||||
 | 
						string dayTo = 3;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message CreateUserPlanResponse {
 | 
				
			||||||
 | 
						int64 userPlanId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 查找单个已购套餐信息
 | 
				
			||||||
 | 
					message FindEnabledUserPlanRequest {
 | 
				
			||||||
 | 
						int64 userPlanId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message FindEnabledUserPlanResponse {
 | 
				
			||||||
 | 
						UserPlan userPlan = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 修改已购套餐
 | 
				
			||||||
 | 
					message UpdateUserPlanRequest {
 | 
				
			||||||
 | 
						int64 userPlanId = 1;
 | 
				
			||||||
 | 
						int64 planId = 2;
 | 
				
			||||||
 | 
						string dayTo = 3;
 | 
				
			||||||
 | 
						bool isOn = 4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 删除已购套餐
 | 
				
			||||||
 | 
					message DeleteUserPlanRequest {
 | 
				
			||||||
 | 
						int64 userPlanId = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 计算已购套餐数
 | 
				
			||||||
 | 
					message CountAllEnabledUserPlansRequest {
 | 
				
			||||||
 | 
						bool isAvailable = 1;
 | 
				
			||||||
 | 
						bool isExpired = 2;
 | 
				
			||||||
 | 
						int32 expiringDays = 3;
 | 
				
			||||||
 | 
						int64 userId = 4;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 列出单页已购套餐
 | 
				
			||||||
 | 
					message ListEnabledUserPlansRequest {
 | 
				
			||||||
 | 
						bool isAvailable = 1;
 | 
				
			||||||
 | 
						bool isExpired = 2;
 | 
				
			||||||
 | 
						int32 expiringDays = 3;
 | 
				
			||||||
 | 
						int64 userId = 4;
 | 
				
			||||||
 | 
						int64 offset = 5;
 | 
				
			||||||
 | 
						int64 size = 6;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					message ListEnabledUserPlansResponse {
 | 
				
			||||||
 | 
						repeated UserPlan userPlans = 1;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										24
									
								
								pkg/serverconfigs/plan_price_types.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								pkg/serverconfigs/plan_price_types.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package serverconfigs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type PlanPriceType = string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const (
 | 
				
			||||||
 | 
						PlanPriceTypeBandwidth PlanPriceType = "bandwidth"
 | 
				
			||||||
 | 
						PlanPriceTypePeriod    PlanPriceType = "period"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func FindPlanPriceTypeName(priceType PlanPriceType) string {
 | 
				
			||||||
 | 
						switch priceType {
 | 
				
			||||||
 | 
						case PlanPriceTypeBandwidth:
 | 
				
			||||||
 | 
							return "带宽用量"
 | 
				
			||||||
 | 
						case PlanPriceTypePeriod:
 | 
				
			||||||
 | 
							return "时间周期"
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return ""
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type PlanBandwidthPrice struct {
 | 
				
			||||||
 | 
						Base float32 `yaml:"base" json:"base"` // 基础价格,单位是 元/GB
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user