mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 13:10:24 +08:00 
			
		
		
		
	支持购买套餐/续费套餐/用户账户操作等
This commit is contained in:
		@@ -9,6 +9,7 @@ pkg/
 | 
			
		||||
  serverconfigs - 网站服务相关配置
 | 
			
		||||
  systemconfigs - 系统全局配置
 | 
			
		||||
  reporterconfigs - 区域监控终端配置
 | 
			
		||||
  userconfigs - 用户相关配置
 | 
			
		||||
  
 | 
			
		||||
  configutils/ - 配置公共函数等
 | 
			
		||||
  errors/  - 错误处理
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										190
									
								
								pkg/rpc/pb/model_user_account.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										190
									
								
								pkg/rpc/pb/model_user_account.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,190 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: models/model_user_account.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 UserAccount 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"`
 | 
			
		||||
	Total       float32 `protobuf:"fixed32,3,opt,name=total,proto3" json:"total,omitempty"`
 | 
			
		||||
	TotalFrozen float32 `protobuf:"fixed32,4,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"`
 | 
			
		||||
	User        *User   `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) Reset() {
 | 
			
		||||
	*x = UserAccount{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_user_account_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UserAccount) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_user_account_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 UserAccount.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UserAccount) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_user_account_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) GetUserId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) GetTotal() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Total
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) GetTotalFrozen() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.TotalFrozen
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccount) GetUser() *User {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.User
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_user_account_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 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, 0x22, 0x8b,
 | 
			
		||||
	0x01, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 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, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b,
 | 
			
		||||
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 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, 0x42, 0x06, 0x5a, 0x04,
 | 
			
		||||
	0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_user_account_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_user_account_proto_rawDescData = file_models_model_user_account_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_user_account_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_user_account_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_user_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_user_account_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_user_account_proto_goTypes = []interface{}{
 | 
			
		||||
	(*UserAccount)(nil), // 0: pb.UserAccount
 | 
			
		||||
	(*User)(nil),        // 1: pb.User
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_user_account_proto_depIdxs = []int32{
 | 
			
		||||
	1, // 0: pb.UserAccount.user:type_name -> pb.User
 | 
			
		||||
	1, // [1:1] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:1] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_models_model_user_account_proto_init() }
 | 
			
		||||
func file_models_model_user_account_proto_init() {
 | 
			
		||||
	if File_models_model_user_account_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_user_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_user_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UserAccount); 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_account_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_user_account_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_user_account_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_user_account_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_user_account_proto = out.File
 | 
			
		||||
	file_models_model_user_account_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_user_account_proto_goTypes = nil
 | 
			
		||||
	file_models_model_user_account_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										186
									
								
								pkg/rpc/pb/model_user_account_daily_stat.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								pkg/rpc/pb/model_user_account_daily_stat.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,186 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: models/model_user_account_daily_stat.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 UserAccountDailyStat struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Id      int64   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
 | 
			
		||||
	Day     string  `protobuf:"bytes,2,opt,name=day,proto3" json:"day,omitempty"`
 | 
			
		||||
	Month   string  `protobuf:"bytes,3,opt,name=month,proto3" json:"month,omitempty"`
 | 
			
		||||
	Income  float32 `protobuf:"fixed32,4,opt,name=income,proto3" json:"income,omitempty"`
 | 
			
		||||
	Expense float32 `protobuf:"fixed32,5,opt,name=expense,proto3" json:"expense,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) Reset() {
 | 
			
		||||
	*x = UserAccountDailyStat{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_user_account_daily_stat_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UserAccountDailyStat) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_user_account_daily_stat_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 UserAccountDailyStat.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UserAccountDailyStat) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_user_account_daily_stat_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) GetDay() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Day
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) GetMonth() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Month
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) GetIncome() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Income
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountDailyStat) GetExpense() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Expense
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_user_account_daily_stat_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_daily_stat_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x2a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x69, 0x6c,
 | 
			
		||||
	0x79, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
 | 
			
		||||
	0x22, 0x80, 0x01, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x61, 0x79,
 | 
			
		||||
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x6d,
 | 
			
		||||
	0x6f, 0x6e, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74,
 | 
			
		||||
	0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70,
 | 
			
		||||
	0x65, 0x6e, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78, 0x70, 0x65,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_rawDescData = file_models_model_user_account_daily_stat_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_user_account_daily_stat_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_user_account_daily_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_daily_stat_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_user_account_daily_stat_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_user_account_daily_stat_proto_goTypes = []interface{}{
 | 
			
		||||
	(*UserAccountDailyStat)(nil), // 0: pb.UserAccountDailyStat
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_user_account_daily_stat_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_user_account_daily_stat_proto_init() }
 | 
			
		||||
func file_models_model_user_account_daily_stat_proto_init() {
 | 
			
		||||
	if File_models_model_user_account_daily_stat_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_user_account_daily_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UserAccountDailyStat); 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_account_daily_stat_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_user_account_daily_stat_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_user_account_daily_stat_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_user_account_daily_stat_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_user_account_daily_stat_proto = out.File
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_goTypes = nil
 | 
			
		||||
	file_models_model_user_account_daily_stat_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										277
									
								
								pkg/rpc/pb/model_user_account_log.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										277
									
								
								pkg/rpc/pb/model_user_account_log.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,277 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: models/model_user_account_log.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 UserAccountLog 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"`
 | 
			
		||||
	UserAccountId int64        `protobuf:"varint,3,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
 | 
			
		||||
	Delta         float32      `protobuf:"fixed32,4,opt,name=delta,proto3" json:"delta,omitempty"`
 | 
			
		||||
	DeltaFrozen   float32      `protobuf:"fixed32,5,opt,name=deltaFrozen,proto3" json:"deltaFrozen,omitempty"`
 | 
			
		||||
	Total         float32      `protobuf:"fixed32,6,opt,name=total,proto3" json:"total,omitempty"`
 | 
			
		||||
	TotalFrozen   float32      `protobuf:"fixed32,7,opt,name=totalFrozen,proto3" json:"totalFrozen,omitempty"`
 | 
			
		||||
	EventType     string       `protobuf:"bytes,8,opt,name=eventType,proto3" json:"eventType,omitempty"`
 | 
			
		||||
	Description   string       `protobuf:"bytes,9,opt,name=description,proto3" json:"description,omitempty"`
 | 
			
		||||
	CreatedAt     int64        `protobuf:"varint,10,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
 | 
			
		||||
	ParamsJSON    []byte       `protobuf:"bytes,11,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
 | 
			
		||||
	User          *User        `protobuf:"bytes,30,opt,name=user,proto3" json:"user,omitempty"`
 | 
			
		||||
	UserAccount   *UserAccount `protobuf:"bytes,31,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) Reset() {
 | 
			
		||||
	*x = UserAccountLog{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_models_model_user_account_log_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UserAccountLog) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_models_model_user_account_log_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 UserAccountLog.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UserAccountLog) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_models_model_user_account_log_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Id
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetUserId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetUserAccountId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetDelta() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Delta
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetDeltaFrozen() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DeltaFrozen
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetTotal() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Total
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetTotalFrozen() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.TotalFrozen
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetEventType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.EventType
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetDescription() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Description
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetCreatedAt() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.CreatedAt
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetParamsJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ParamsJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetUser() *User {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.User
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UserAccountLog) GetUserAccount() *UserAccount {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccount
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_models_model_user_account_log_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_log_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 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, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72,
 | 
			
		||||
	0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x03, 0x0a, 0x0e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 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, 0x24,
 | 
			
		||||
	0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
 | 
			
		||||
	0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52,
 | 
			
		||||
	0x0b, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05,
 | 
			
		||||
	0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x74,
 | 
			
		||||
	0x61, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72, 0x6f, 0x7a, 0x65,
 | 
			
		||||
	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x72,
 | 
			
		||||
	0x6f, 0x7a, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
 | 
			
		||||
	0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79,
 | 
			
		||||
	0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
 | 
			
		||||
	0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
 | 
			
		||||
	0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
 | 
			
		||||
	0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
 | 
			
		||||
	0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e,
 | 
			
		||||
	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53,
 | 
			
		||||
	0x4f, 0x4e, 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, 0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
 | 
			
		||||
	0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f,
 | 
			
		||||
	0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_models_model_user_account_log_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_models_model_user_account_log_proto_rawDescData = file_models_model_user_account_log_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_models_model_user_account_log_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_models_model_user_account_log_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_models_model_user_account_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_models_model_user_account_log_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_models_model_user_account_log_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_models_model_user_account_log_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
 | 
			
		||||
var file_models_model_user_account_log_proto_goTypes = []interface{}{
 | 
			
		||||
	(*UserAccountLog)(nil), // 0: pb.UserAccountLog
 | 
			
		||||
	(*User)(nil),           // 1: pb.User
 | 
			
		||||
	(*UserAccount)(nil),    // 2: pb.UserAccount
 | 
			
		||||
}
 | 
			
		||||
var file_models_model_user_account_log_proto_depIdxs = []int32{
 | 
			
		||||
	1, // 0: pb.UserAccountLog.user:type_name -> pb.User
 | 
			
		||||
	2, // 1: pb.UserAccountLog.userAccount:type_name -> pb.UserAccount
 | 
			
		||||
	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_account_log_proto_init() }
 | 
			
		||||
func file_models_model_user_account_log_proto_init() {
 | 
			
		||||
	if File_models_model_user_account_log_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_user_proto_init()
 | 
			
		||||
	file_models_model_user_account_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_models_model_user_account_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UserAccountLog); 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_account_log_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   1,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   0,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_models_model_user_account_log_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_models_model_user_account_log_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_models_model_user_account_log_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_models_model_user_account_log_proto = out.File
 | 
			
		||||
	file_models_model_user_account_log_proto_rawDesc = nil
 | 
			
		||||
	file_models_model_user_account_log_proto_goTypes = nil
 | 
			
		||||
	file_models_model_user_account_log_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										952
									
								
								pkg/rpc/pb/service_user_account.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										952
									
								
								pkg/rpc/pb/service_user_account.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,952 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: service_user_account.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
	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 CountUserAccountsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountsRequest) Reset() {
 | 
			
		||||
	*x = CountUserAccountsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CountUserAccountsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 CountUserAccountsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CountUserAccountsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountsRequest) GetKeyword() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Keyword
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页账户
 | 
			
		||||
type ListUserAccountsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Keyword string `protobuf:"bytes,1,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	Offset  int64  `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Size    int64  `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) Reset() {
 | 
			
		||||
	*x = ListUserAccountsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 ListUserAccountsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) GetKeyword() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Keyword
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) GetOffset() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Offset
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccounts []*UserAccount `protobuf:"bytes,1,rep,name=userAccounts,proto3" json:"userAccounts,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsResponse) Reset() {
 | 
			
		||||
	*x = ListUserAccountsResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountsResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 ListUserAccountsResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountsResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountsResponse) GetUserAccounts() []*UserAccount {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccounts
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据用户ID查找单个账户
 | 
			
		||||
type FindEnabledUserAccountWithUserIdRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledUserAccountWithUserIdRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserAccountWithUserIdRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 FindEnabledUserAccountWithUserIdRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserAccountWithUserIdRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdRequest) GetUserId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindEnabledUserAccountWithUserIdResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledUserAccountWithUserIdResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserAccountWithUserIdResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 FindEnabledUserAccountWithUserIdResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserAccountWithUserIdResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountWithUserIdResponse) GetUserAccount() *UserAccount {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccount
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找单个账户
 | 
			
		||||
type FindEnabledUserAccountRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccountId int64 `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledUserAccountRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserAccountRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 FindEnabledUserAccountRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserAccountRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountRequest) GetUserAccountId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type FindEnabledUserAccountResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccount *UserAccount `protobuf:"bytes,1,opt,name=userAccount,proto3" json:"userAccount,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledUserAccountResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[6]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*FindEnabledUserAccountResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 FindEnabledUserAccountResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserAccountResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserAccountResponse) GetUserAccount() *UserAccount {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccount
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改用户账户
 | 
			
		||||
type UpdateUserAccountRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccountId int64   `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
 | 
			
		||||
	Delta         float32 `protobuf:"fixed32,2,opt,name=delta,proto3" json:"delta,omitempty"`
 | 
			
		||||
	EventType     string  `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
 | 
			
		||||
	Description   string  `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"`
 | 
			
		||||
	ParamsJSON    []byte  `protobuf:"bytes,5,opt,name=paramsJSON,proto3" json:"paramsJSON,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) Reset() {
 | 
			
		||||
	*x = UpdateUserAccountRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_proto_msgTypes[7]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UpdateUserAccountRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_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 UpdateUserAccountRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateUserAccountRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) GetUserAccountId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) GetDelta() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Delta
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) GetEventType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.EventType
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) GetDescription() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Description
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserAccountRequest) GetParamsJSON() []byte {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.ParamsJSON
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_user_account_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62,
 | 
			
		||||
	0x1a, 0x1f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
 | 
			
		||||
	0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65,
 | 
			
		||||
	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x18,
 | 
			
		||||
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
 | 
			
		||||
	0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
 | 
			
		||||
	0x72, 0x64, 0x22, 0x5f, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
 | 
			
		||||
	0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
 | 
			
		||||
	0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
 | 
			
		||||
	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
 | 
			
		||||
	0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73,
 | 
			
		||||
	0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x33, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x73, 0x22, 0x41, 0x0a, 0x27, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69,
 | 
			
		||||
	0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x28, 0x46, 0x69, 0x6e, 0x64, 0x45,
 | 
			
		||||
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x45, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e,
 | 
			
		||||
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x53, 0x0a,
 | 
			
		||||
	0x1e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x31, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64,
 | 
			
		||||
	0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x65,
 | 
			
		||||
	0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
 | 
			
		||||
	0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73,
 | 
			
		||||
	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
 | 
			
		||||
	0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70,
 | 
			
		||||
	0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52,
 | 
			
		||||
	0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x32, 0xcf, 0x03, 0x0a, 0x12,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
 | 
			
		||||
	0x63, 0x65, 0x12, 0x47, 0x0a, 0x11, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65,
 | 
			
		||||
	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x6c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12,
 | 
			
		||||
	0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x20, 0x66, 0x69,
 | 
			
		||||
	0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x57, 0x69, 0x74, 0x68, 0x55, 0x73, 0x65, 0x72, 0x49,
 | 
			
		||||
	0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e,
 | 
			
		||||
	0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61,
 | 
			
		||||
	0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64,
 | 
			
		||||
	0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x75, 0x70,
 | 
			
		||||
	0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
 | 
			
		||||
	0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
 | 
			
		||||
	0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x06, 0x5a,
 | 
			
		||||
	0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_user_account_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_user_account_proto_rawDescData = file_service_user_account_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_user_account_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_user_account_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_user_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_user_account_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
 | 
			
		||||
var file_service_user_account_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CountUserAccountsRequest)(nil),                 // 0: pb.CountUserAccountsRequest
 | 
			
		||||
	(*ListUserAccountsRequest)(nil),                  // 1: pb.ListUserAccountsRequest
 | 
			
		||||
	(*ListUserAccountsResponse)(nil),                 // 2: pb.ListUserAccountsResponse
 | 
			
		||||
	(*FindEnabledUserAccountWithUserIdRequest)(nil),  // 3: pb.FindEnabledUserAccountWithUserIdRequest
 | 
			
		||||
	(*FindEnabledUserAccountWithUserIdResponse)(nil), // 4: pb.FindEnabledUserAccountWithUserIdResponse
 | 
			
		||||
	(*FindEnabledUserAccountRequest)(nil),            // 5: pb.FindEnabledUserAccountRequest
 | 
			
		||||
	(*FindEnabledUserAccountResponse)(nil),           // 6: pb.FindEnabledUserAccountResponse
 | 
			
		||||
	(*UpdateUserAccountRequest)(nil),                 // 7: pb.UpdateUserAccountRequest
 | 
			
		||||
	(*UserAccount)(nil),                              // 8: pb.UserAccount
 | 
			
		||||
	(*RPCCountResponse)(nil),                         // 9: pb.RPCCountResponse
 | 
			
		||||
	(*RPCSuccess)(nil),                               // 10: pb.RPCSuccess
 | 
			
		||||
}
 | 
			
		||||
var file_service_user_account_proto_depIdxs = []int32{
 | 
			
		||||
	8,  // 0: pb.ListUserAccountsResponse.userAccounts:type_name -> pb.UserAccount
 | 
			
		||||
	8,  // 1: pb.FindEnabledUserAccountWithUserIdResponse.userAccount:type_name -> pb.UserAccount
 | 
			
		||||
	8,  // 2: pb.FindEnabledUserAccountResponse.userAccount:type_name -> pb.UserAccount
 | 
			
		||||
	0,  // 3: pb.UserAccountService.countUserAccounts:input_type -> pb.CountUserAccountsRequest
 | 
			
		||||
	1,  // 4: pb.UserAccountService.listUserAccounts:input_type -> pb.ListUserAccountsRequest
 | 
			
		||||
	3,  // 5: pb.UserAccountService.findEnabledUserAccountWithUserId:input_type -> pb.FindEnabledUserAccountWithUserIdRequest
 | 
			
		||||
	5,  // 6: pb.UserAccountService.findEnabledUserAccount:input_type -> pb.FindEnabledUserAccountRequest
 | 
			
		||||
	7,  // 7: pb.UserAccountService.updateUserAccount:input_type -> pb.UpdateUserAccountRequest
 | 
			
		||||
	9,  // 8: pb.UserAccountService.countUserAccounts:output_type -> pb.RPCCountResponse
 | 
			
		||||
	2,  // 9: pb.UserAccountService.listUserAccounts:output_type -> pb.ListUserAccountsResponse
 | 
			
		||||
	4,  // 10: pb.UserAccountService.findEnabledUserAccountWithUserId:output_type -> pb.FindEnabledUserAccountWithUserIdResponse
 | 
			
		||||
	6,  // 11: pb.UserAccountService.findEnabledUserAccount:output_type -> pb.FindEnabledUserAccountResponse
 | 
			
		||||
	10, // 12: pb.UserAccountService.updateUserAccount:output_type -> pb.RPCSuccess
 | 
			
		||||
	8,  // [8:13] is the sub-list for method output_type
 | 
			
		||||
	3,  // [3:8] is the sub-list for method input_type
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension type_name
 | 
			
		||||
	3,  // [3:3] is the sub-list for extension extendee
 | 
			
		||||
	0,  // [0:3] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_user_account_proto_init() }
 | 
			
		||||
func file_service_user_account_proto_init() {
 | 
			
		||||
	if File_service_user_account_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_user_account_proto_init()
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_user_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CountUserAccountsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountsResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserAccountWithUserIdRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserAccountWithUserIdResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserAccountRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserAccountResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateUserAccountRequest); 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_service_user_account_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   8,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_user_account_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_user_account_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_user_account_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_user_account_proto = out.File
 | 
			
		||||
	file_service_user_account_proto_rawDesc = nil
 | 
			
		||||
	file_service_user_account_proto_goTypes = nil
 | 
			
		||||
	file_service_user_account_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Reference imports to suppress errors if they are not otherwise used.
 | 
			
		||||
var _ context.Context
 | 
			
		||||
var _ grpc.ClientConnInterface
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
 | 
			
		||||
// UserAccountServiceClient is the client API for UserAccountService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type UserAccountServiceClient interface {
 | 
			
		||||
	// 计算账户数量
 | 
			
		||||
	CountUserAccounts(ctx context.Context, in *CountUserAccountsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页账户
 | 
			
		||||
	ListUserAccounts(ctx context.Context, in *ListUserAccountsRequest, opts ...grpc.CallOption) (*ListUserAccountsResponse, error)
 | 
			
		||||
	// 根据用户ID查找单个账户
 | 
			
		||||
	FindEnabledUserAccountWithUserId(ctx context.Context, in *FindEnabledUserAccountWithUserIdRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountWithUserIdResponse, error)
 | 
			
		||||
	// 查找单个账户
 | 
			
		||||
	FindEnabledUserAccount(ctx context.Context, in *FindEnabledUserAccountRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountResponse, error)
 | 
			
		||||
	// 修改用户账户
 | 
			
		||||
	UpdateUserAccount(ctx context.Context, in *UpdateUserAccountRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type userAccountServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewUserAccountServiceClient(cc grpc.ClientConnInterface) UserAccountServiceClient {
 | 
			
		||||
	return &userAccountServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountServiceClient) CountUserAccounts(ctx context.Context, in *CountUserAccountsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
 | 
			
		||||
	out := new(RPCCountResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountService/countUserAccounts", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountServiceClient) ListUserAccounts(ctx context.Context, in *ListUserAccountsRequest, opts ...grpc.CallOption) (*ListUserAccountsResponse, error) {
 | 
			
		||||
	out := new(ListUserAccountsResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountService/listUserAccounts", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountServiceClient) FindEnabledUserAccountWithUserId(ctx context.Context, in *FindEnabledUserAccountWithUserIdRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountWithUserIdResponse, error) {
 | 
			
		||||
	out := new(FindEnabledUserAccountWithUserIdResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountService/findEnabledUserAccountWithUserId", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountServiceClient) FindEnabledUserAccount(ctx context.Context, in *FindEnabledUserAccountRequest, opts ...grpc.CallOption) (*FindEnabledUserAccountResponse, error) {
 | 
			
		||||
	out := new(FindEnabledUserAccountResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountService/findEnabledUserAccount", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountServiceClient) UpdateUserAccount(ctx context.Context, in *UpdateUserAccountRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountService/updateUserAccount", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UserAccountServiceServer is the server API for UserAccountService service.
 | 
			
		||||
type UserAccountServiceServer interface {
 | 
			
		||||
	// 计算账户数量
 | 
			
		||||
	CountUserAccounts(context.Context, *CountUserAccountsRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页账户
 | 
			
		||||
	ListUserAccounts(context.Context, *ListUserAccountsRequest) (*ListUserAccountsResponse, error)
 | 
			
		||||
	// 根据用户ID查找单个账户
 | 
			
		||||
	FindEnabledUserAccountWithUserId(context.Context, *FindEnabledUserAccountWithUserIdRequest) (*FindEnabledUserAccountWithUserIdResponse, error)
 | 
			
		||||
	// 查找单个账户
 | 
			
		||||
	FindEnabledUserAccount(context.Context, *FindEnabledUserAccountRequest) (*FindEnabledUserAccountResponse, error)
 | 
			
		||||
	// 修改用户账户
 | 
			
		||||
	UpdateUserAccount(context.Context, *UpdateUserAccountRequest) (*RPCSuccess, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedUserAccountServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedUserAccountServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedUserAccountServiceServer) CountUserAccounts(context.Context, *CountUserAccountsRequest) (*RPCCountResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CountUserAccounts not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountServiceServer) ListUserAccounts(context.Context, *ListUserAccountsRequest) (*ListUserAccountsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListUserAccounts not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountServiceServer) FindEnabledUserAccountWithUserId(context.Context, *FindEnabledUserAccountWithUserIdRequest) (*FindEnabledUserAccountWithUserIdResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserAccountWithUserId not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountServiceServer) FindEnabledUserAccount(context.Context, *FindEnabledUserAccountRequest) (*FindEnabledUserAccountResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserAccount not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountServiceServer) UpdateUserAccount(context.Context, *UpdateUserAccountRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAccount not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterUserAccountServiceServer(s *grpc.Server, srv UserAccountServiceServer) {
 | 
			
		||||
	s.RegisterService(&_UserAccountService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountService_CountUserAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CountUserAccountsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountServiceServer).CountUserAccounts(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountService/CountUserAccounts",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountServiceServer).CountUserAccounts(ctx, req.(*CountUserAccountsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountService_ListUserAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListUserAccountsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountServiceServer).ListUserAccounts(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountService/ListUserAccounts",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountServiceServer).ListUserAccounts(ctx, req.(*ListUserAccountsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountService_FindEnabledUserAccountWithUserId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindEnabledUserAccountWithUserIdRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountServiceServer).FindEnabledUserAccountWithUserId(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountService/FindEnabledUserAccountWithUserId",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountServiceServer).FindEnabledUserAccountWithUserId(ctx, req.(*FindEnabledUserAccountWithUserIdRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountService_FindEnabledUserAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(FindEnabledUserAccountRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountServiceServer).FindEnabledUserAccount(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountService/FindEnabledUserAccount",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountServiceServer).FindEnabledUserAccount(ctx, req.(*FindEnabledUserAccountRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountService_UpdateUserAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(UpdateUserAccountRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountServiceServer).UpdateUserAccount(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountService/UpdateUserAccount",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountServiceServer).UpdateUserAccount(ctx, req.(*UpdateUserAccountRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _UserAccountService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.UserAccountService",
 | 
			
		||||
	HandlerType: (*UserAccountServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "countUserAccounts",
 | 
			
		||||
			Handler:    _UserAccountService_CountUserAccounts_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listUserAccounts",
 | 
			
		||||
			Handler:    _UserAccountService_ListUserAccounts_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledUserAccountWithUserId",
 | 
			
		||||
			Handler:    _UserAccountService_FindEnabledUserAccountWithUserId_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledUserAccount",
 | 
			
		||||
			Handler:    _UserAccountService_FindEnabledUserAccount_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "updateUserAccount",
 | 
			
		||||
			Handler:    _UserAccountService_UpdateUserAccount_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_user_account.proto",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										674
									
								
								pkg/rpc/pb/service_user_account_daily_stat.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										674
									
								
								pkg/rpc/pb/service_user_account_daily_stat.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,674 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: service_user_account_daily_stat.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
	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 ListUserAccountDailyStatsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	DayFrom string `protobuf:"bytes,1,opt,name=dayFrom,proto3" json:"dayFrom,omitempty"`
 | 
			
		||||
	DayTo   string `protobuf:"bytes,2,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsRequest) Reset() {
 | 
			
		||||
	*x = ListUserAccountDailyStatsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountDailyStatsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountDailyStatsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsRequest) GetDayFrom() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayFrom
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsRequest) GetDayTo() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayTo
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountDailyStatsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Stats []*ListUserAccountDailyStatsResponse_Stat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse) Reset() {
 | 
			
		||||
	*x = ListUserAccountDailyStatsResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountDailyStatsResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountDailyStatsResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse) GetStats() []*ListUserAccountDailyStatsResponse_Stat {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Stats
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出按月统计
 | 
			
		||||
type ListUserAccountMonthlyStatsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	DayFrom string `protobuf:"bytes,1,opt,name=dayFrom,proto3" json:"dayFrom,omitempty"`
 | 
			
		||||
	DayTo   string `protobuf:"bytes,2,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsRequest) Reset() {
 | 
			
		||||
	*x = ListUserAccountMonthlyStatsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountMonthlyStatsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountMonthlyStatsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsRequest) GetDayFrom() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayFrom
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsRequest) GetDayTo() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayTo
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountMonthlyStatsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Stats []*ListUserAccountMonthlyStatsResponse_Stat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse) Reset() {
 | 
			
		||||
	*x = ListUserAccountMonthlyStatsResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountMonthlyStatsResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountMonthlyStatsResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse) GetStats() []*ListUserAccountMonthlyStatsResponse_Stat {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Stats
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountDailyStatsResponse_Stat struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Day     string  `protobuf:"bytes,1,opt,name=day,proto3" json:"day,omitempty"` // YYYYMMDD
 | 
			
		||||
	Income  float32 `protobuf:"fixed32,2,opt,name=income,proto3" json:"income,omitempty"`
 | 
			
		||||
	Expense float32 `protobuf:"fixed32,3,opt,name=expense,proto3" json:"expense,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) Reset() {
 | 
			
		||||
	*x = ListUserAccountDailyStatsResponse_Stat{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountDailyStatsResponse_Stat) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountDailyStatsResponse_Stat.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountDailyStatsResponse_Stat) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{1, 0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) GetDay() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Day
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) GetIncome() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Income
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountDailyStatsResponse_Stat) GetExpense() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Expense
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountMonthlyStatsResponse_Stat struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	Month   string  `protobuf:"bytes,1,opt,name=month,proto3" json:"month,omitempty"` // YYYYMM
 | 
			
		||||
	Income  float32 `protobuf:"fixed32,2,opt,name=income,proto3" json:"income,omitempty"`
 | 
			
		||||
	Expense float32 `protobuf:"fixed32,3,opt,name=expense,proto3" json:"expense,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) Reset() {
 | 
			
		||||
	*x = ListUserAccountMonthlyStatsResponse_Stat{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_daily_stat_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountMonthlyStatsResponse_Stat) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_daily_stat_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 ListUserAccountMonthlyStatsResponse_Stat.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountMonthlyStatsResponse_Stat) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescGZIP(), []int{3, 0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetMonth() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Month
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetIncome() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Income
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountMonthlyStatsResponse_Stat) GetExpense() float32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Expense
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_user_account_daily_stat_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_daily_stat_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x25, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x64, 0x61, 0x69, 0x6c, 0x79, 0x5f, 0x73, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x52, 0x0a, 0x20, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61,
 | 
			
		||||
	0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x18, 0x0a, 0x07, 0x64, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
 | 
			
		||||
	0x52, 0x07, 0x64, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79,
 | 
			
		||||
	0x54, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x22,
 | 
			
		||||
	0xb1, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73,
 | 
			
		||||
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01,
 | 
			
		||||
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74,
 | 
			
		||||
	0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x4a, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12,
 | 
			
		||||
	0x10, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x61,
 | 
			
		||||
	0x79, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x70,
 | 
			
		||||
	0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78, 0x70, 0x65,
 | 
			
		||||
	0x6e, 0x73, 0x65, 0x22, 0x54, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x61, 0x79,
 | 
			
		||||
	0x46, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x61, 0x79, 0x46,
 | 
			
		||||
	0x72, 0x6f, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x02, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x23, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e,
 | 
			
		||||
	0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
 | 
			
		||||
	0x65, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
 | 
			
		||||
	0x32, 0x2c, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05,
 | 
			
		||||
	0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x4e, 0x0a, 0x04, 0x53, 0x74, 0x61, 0x74, 0x12, 0x14, 0x0a,
 | 
			
		||||
	0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f,
 | 
			
		||||
	0x6e, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x02, 0x52, 0x06, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65,
 | 
			
		||||
	0x78, 0x70, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x65, 0x78,
 | 
			
		||||
	0x70, 0x65, 0x6e, 0x73, 0x65, 0x32, 0xf7, 0x01, 0x0a, 0x1b, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x53, 0x65,
 | 
			
		||||
	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x19, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61,
 | 
			
		||||
	0x74, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x44, 0x61, 0x69,
 | 
			
		||||
	0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x6e, 0x0a, 0x1b, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
 | 
			
		||||
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x6f, 0x6e, 0x74, 0x68,
 | 
			
		||||
	0x6c, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42,
 | 
			
		||||
	0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_user_account_daily_stat_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_user_account_daily_stat_proto_rawDescData = file_service_user_account_daily_stat_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_user_account_daily_stat_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_user_account_daily_stat_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_user_account_daily_stat_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_daily_stat_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_user_account_daily_stat_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_daily_stat_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
 | 
			
		||||
var file_service_user_account_daily_stat_proto_goTypes = []interface{}{
 | 
			
		||||
	(*ListUserAccountDailyStatsRequest)(nil),         // 0: pb.ListUserAccountDailyStatsRequest
 | 
			
		||||
	(*ListUserAccountDailyStatsResponse)(nil),        // 1: pb.ListUserAccountDailyStatsResponse
 | 
			
		||||
	(*ListUserAccountMonthlyStatsRequest)(nil),       // 2: pb.ListUserAccountMonthlyStatsRequest
 | 
			
		||||
	(*ListUserAccountMonthlyStatsResponse)(nil),      // 3: pb.ListUserAccountMonthlyStatsResponse
 | 
			
		||||
	(*ListUserAccountDailyStatsResponse_Stat)(nil),   // 4: pb.ListUserAccountDailyStatsResponse.Stat
 | 
			
		||||
	(*ListUserAccountMonthlyStatsResponse_Stat)(nil), // 5: pb.ListUserAccountMonthlyStatsResponse.Stat
 | 
			
		||||
}
 | 
			
		||||
var file_service_user_account_daily_stat_proto_depIdxs = []int32{
 | 
			
		||||
	4, // 0: pb.ListUserAccountDailyStatsResponse.stats:type_name -> pb.ListUserAccountDailyStatsResponse.Stat
 | 
			
		||||
	5, // 1: pb.ListUserAccountMonthlyStatsResponse.stats:type_name -> pb.ListUserAccountMonthlyStatsResponse.Stat
 | 
			
		||||
	0, // 2: pb.UserAccountDailyStatService.listUserAccountDailyStats:input_type -> pb.ListUserAccountDailyStatsRequest
 | 
			
		||||
	2, // 3: pb.UserAccountDailyStatService.listUserAccountMonthlyStats:input_type -> pb.ListUserAccountMonthlyStatsRequest
 | 
			
		||||
	1, // 4: pb.UserAccountDailyStatService.listUserAccountDailyStats:output_type -> pb.ListUserAccountDailyStatsResponse
 | 
			
		||||
	3, // 5: pb.UserAccountDailyStatService.listUserAccountMonthlyStats:output_type -> pb.ListUserAccountMonthlyStatsResponse
 | 
			
		||||
	4, // [4:6] is the sub-list for method output_type
 | 
			
		||||
	2, // [2:4] 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_service_user_account_daily_stat_proto_init() }
 | 
			
		||||
func file_service_user_account_daily_stat_proto_init() {
 | 
			
		||||
	if File_service_user_account_daily_stat_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountDailyStatsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountDailyStatsResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountMonthlyStatsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountMonthlyStatsResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountDailyStatsResponse_Stat); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_daily_stat_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountMonthlyStatsResponse_Stat); 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_service_user_account_daily_stat_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   6,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_user_account_daily_stat_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_user_account_daily_stat_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_user_account_daily_stat_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_user_account_daily_stat_proto = out.File
 | 
			
		||||
	file_service_user_account_daily_stat_proto_rawDesc = nil
 | 
			
		||||
	file_service_user_account_daily_stat_proto_goTypes = nil
 | 
			
		||||
	file_service_user_account_daily_stat_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Reference imports to suppress errors if they are not otherwise used.
 | 
			
		||||
var _ context.Context
 | 
			
		||||
var _ grpc.ClientConnInterface
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
 | 
			
		||||
// UserAccountDailyStatServiceClient is the client API for UserAccountDailyStatService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type UserAccountDailyStatServiceClient interface {
 | 
			
		||||
	// 列出按天统计
 | 
			
		||||
	ListUserAccountDailyStats(ctx context.Context, in *ListUserAccountDailyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountDailyStatsResponse, error)
 | 
			
		||||
	// 列出按月统计
 | 
			
		||||
	ListUserAccountMonthlyStats(ctx context.Context, in *ListUserAccountMonthlyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountMonthlyStatsResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type userAccountDailyStatServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewUserAccountDailyStatServiceClient(cc grpc.ClientConnInterface) UserAccountDailyStatServiceClient {
 | 
			
		||||
	return &userAccountDailyStatServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountDailyStatServiceClient) ListUserAccountDailyStats(ctx context.Context, in *ListUserAccountDailyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountDailyStatsResponse, error) {
 | 
			
		||||
	out := new(ListUserAccountDailyStatsResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountDailyStatService/listUserAccountDailyStats", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountDailyStatServiceClient) ListUserAccountMonthlyStats(ctx context.Context, in *ListUserAccountMonthlyStatsRequest, opts ...grpc.CallOption) (*ListUserAccountMonthlyStatsResponse, error) {
 | 
			
		||||
	out := new(ListUserAccountMonthlyStatsResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountDailyStatService/listUserAccountMonthlyStats", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UserAccountDailyStatServiceServer is the server API for UserAccountDailyStatService service.
 | 
			
		||||
type UserAccountDailyStatServiceServer interface {
 | 
			
		||||
	// 列出按天统计
 | 
			
		||||
	ListUserAccountDailyStats(context.Context, *ListUserAccountDailyStatsRequest) (*ListUserAccountDailyStatsResponse, error)
 | 
			
		||||
	// 列出按月统计
 | 
			
		||||
	ListUserAccountMonthlyStats(context.Context, *ListUserAccountMonthlyStatsRequest) (*ListUserAccountMonthlyStatsResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedUserAccountDailyStatServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedUserAccountDailyStatServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedUserAccountDailyStatServiceServer) ListUserAccountDailyStats(context.Context, *ListUserAccountDailyStatsRequest) (*ListUserAccountDailyStatsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountDailyStats not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountDailyStatServiceServer) ListUserAccountMonthlyStats(context.Context, *ListUserAccountMonthlyStatsRequest) (*ListUserAccountMonthlyStatsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountMonthlyStats not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterUserAccountDailyStatServiceServer(s *grpc.Server, srv UserAccountDailyStatServiceServer) {
 | 
			
		||||
	s.RegisterService(&_UserAccountDailyStatService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountDailyStatService_ListUserAccountDailyStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListUserAccountDailyStatsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountDailyStatServiceServer).ListUserAccountDailyStats(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountDailyStatService/ListUserAccountDailyStats",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountDailyStatServiceServer).ListUserAccountDailyStats(ctx, req.(*ListUserAccountDailyStatsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountDailyStatService_ListUserAccountMonthlyStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListUserAccountMonthlyStatsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountDailyStatServiceServer).ListUserAccountMonthlyStats(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountDailyStatService/ListUserAccountMonthlyStats",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountDailyStatServiceServer).ListUserAccountMonthlyStats(ctx, req.(*ListUserAccountMonthlyStatsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _UserAccountDailyStatService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.UserAccountDailyStatService",
 | 
			
		||||
	HandlerType: (*UserAccountDailyStatServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listUserAccountDailyStats",
 | 
			
		||||
			Handler:    _UserAccountDailyStatService_ListUserAccountDailyStats_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listUserAccountMonthlyStats",
 | 
			
		||||
			Handler:    _UserAccountDailyStatService_ListUserAccountMonthlyStats_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_user_account_daily_stat.proto",
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										488
									
								
								pkg/rpc/pb/service_user_account_log.pb.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										488
									
								
								pkg/rpc/pb/service_user_account_log.pb.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,488 @@
 | 
			
		||||
// Code generated by protoc-gen-go. DO NOT EDIT.
 | 
			
		||||
// versions:
 | 
			
		||||
// 	protoc-gen-go v1.25.0
 | 
			
		||||
// 	protoc        v3.12.3
 | 
			
		||||
// source: service_user_account_log.proto
 | 
			
		||||
 | 
			
		||||
package pb
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	context "context"
 | 
			
		||||
	proto "github.com/golang/protobuf/proto"
 | 
			
		||||
	grpc "google.golang.org/grpc"
 | 
			
		||||
	codes "google.golang.org/grpc/codes"
 | 
			
		||||
	status "google.golang.org/grpc/status"
 | 
			
		||||
	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 CountUserAccountLogsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccountId int64  `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
 | 
			
		||||
	Keyword       string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	EventType     string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) Reset() {
 | 
			
		||||
	*x = CountUserAccountLogsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_log_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CountUserAccountLogsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_log_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 CountUserAccountLogsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CountUserAccountLogsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_log_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) GetUserAccountId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) GetKeyword() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Keyword
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountUserAccountLogsRequest) GetEventType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.EventType
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页日志
 | 
			
		||||
type ListUserAccountLogsRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccountId int64  `protobuf:"varint,1,opt,name=userAccountId,proto3" json:"userAccountId,omitempty"`
 | 
			
		||||
	Keyword       string `protobuf:"bytes,2,opt,name=keyword,proto3" json:"keyword,omitempty"`
 | 
			
		||||
	EventType     string `protobuf:"bytes,3,opt,name=eventType,proto3" json:"eventType,omitempty"`
 | 
			
		||||
	Offset        int64  `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"`
 | 
			
		||||
	Size          int64  `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) Reset() {
 | 
			
		||||
	*x = ListUserAccountLogsRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_log_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountLogsRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_log_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 ListUserAccountLogsRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountLogsRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_log_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) GetUserAccountId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) GetKeyword() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Keyword
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) GetEventType() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.EventType
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) GetOffset() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Offset
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsRequest) GetSize() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Size
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ListUserAccountLogsResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserAccountLogs []*UserAccountLog `protobuf:"bytes,1,rep,name=userAccountLogs,proto3" json:"userAccountLogs,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsResponse) Reset() {
 | 
			
		||||
	*x = ListUserAccountLogsResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_account_log_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*ListUserAccountLogsResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_account_log_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 ListUserAccountLogsResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListUserAccountLogsResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_account_log_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListUserAccountLogsResponse) GetUserAccountLogs() []*UserAccountLog {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserAccountLogs
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var File_service_user_account_log_proto protoreflect.FileDescriptor
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_log_proto_rawDesc = []byte{
 | 
			
		||||
	0x0a, 0x1e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
 | 
			
		||||
	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
 | 
			
		||||
	0x12, 0x02, 0x70, 0x62, 0x1a, 0x23, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x6d, 0x6f, 0x64,
 | 
			
		||||
	0x65, 0x6c, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f,
 | 
			
		||||
	0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
 | 
			
		||||
	0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70,
 | 
			
		||||
	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x7b, 0x0a, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75,
 | 
			
		||||
	0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79,
 | 
			
		||||
	0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77,
 | 
			
		||||
	0x6f, 0x72, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
 | 
			
		||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
 | 
			
		||||
	0x65, 0x22, 0xa6, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
			
		||||
	0x12, 0x24, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49,
 | 
			
		||||
	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
 | 
			
		||||
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64,
 | 
			
		||||
	0x12, 0x1c, 0x0a, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16,
 | 
			
		||||
	0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
 | 
			
		||||
	0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x1b, 0x4c, 0x69,
 | 
			
		||||
	0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0f, 0x75, 0x73, 0x65,
 | 
			
		||||
	0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03,
 | 
			
		||||
	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x32, 0xbe, 0x01, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
 | 
			
		||||
	0x65, 0x12, 0x4d, 0x0a, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63,
 | 
			
		||||
	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c,
 | 
			
		||||
	0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e,
 | 
			
		||||
	0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x56, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f,
 | 
			
		||||
	0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73,
 | 
			
		||||
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62,
 | 
			
		||||
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var (
 | 
			
		||||
	file_service_user_account_log_proto_rawDescOnce sync.Once
 | 
			
		||||
	file_service_user_account_log_proto_rawDescData = file_service_user_account_log_proto_rawDesc
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func file_service_user_account_log_proto_rawDescGZIP() []byte {
 | 
			
		||||
	file_service_user_account_log_proto_rawDescOnce.Do(func() {
 | 
			
		||||
		file_service_user_account_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_service_user_account_log_proto_rawDescData)
 | 
			
		||||
	})
 | 
			
		||||
	return file_service_user_account_log_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_user_account_log_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
 | 
			
		||||
var file_service_user_account_log_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CountUserAccountLogsRequest)(nil), // 0: pb.CountUserAccountLogsRequest
 | 
			
		||||
	(*ListUserAccountLogsRequest)(nil),  // 1: pb.ListUserAccountLogsRequest
 | 
			
		||||
	(*ListUserAccountLogsResponse)(nil), // 2: pb.ListUserAccountLogsResponse
 | 
			
		||||
	(*UserAccountLog)(nil),              // 3: pb.UserAccountLog
 | 
			
		||||
	(*RPCCountResponse)(nil),            // 4: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_user_account_log_proto_depIdxs = []int32{
 | 
			
		||||
	3, // 0: pb.ListUserAccountLogsResponse.userAccountLogs:type_name -> pb.UserAccountLog
 | 
			
		||||
	0, // 1: pb.UserAccountLogService.countUserAccountLogs:input_type -> pb.CountUserAccountLogsRequest
 | 
			
		||||
	1, // 2: pb.UserAccountLogService.listUserAccountLogs:input_type -> pb.ListUserAccountLogsRequest
 | 
			
		||||
	4, // 3: pb.UserAccountLogService.countUserAccountLogs:output_type -> pb.RPCCountResponse
 | 
			
		||||
	2, // 4: pb.UserAccountLogService.listUserAccountLogs:output_type -> pb.ListUserAccountLogsResponse
 | 
			
		||||
	3, // [3:5] is the sub-list for method output_type
 | 
			
		||||
	1, // [1:3] is the sub-list for method input_type
 | 
			
		||||
	1, // [1:1] is the sub-list for extension type_name
 | 
			
		||||
	1, // [1:1] is the sub-list for extension extendee
 | 
			
		||||
	0, // [0:1] is the sub-list for field type_name
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func init() { file_service_user_account_log_proto_init() }
 | 
			
		||||
func file_service_user_account_log_proto_init() {
 | 
			
		||||
	if File_service_user_account_log_proto != nil {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	file_models_model_user_account_log_proto_init()
 | 
			
		||||
	file_models_rpc_messages_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_user_account_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CountUserAccountLogsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_log_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountLogsRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_account_log_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListUserAccountLogsResponse); 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_service_user_account_log_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   3,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
		GoTypes:           file_service_user_account_log_proto_goTypes,
 | 
			
		||||
		DependencyIndexes: file_service_user_account_log_proto_depIdxs,
 | 
			
		||||
		MessageInfos:      file_service_user_account_log_proto_msgTypes,
 | 
			
		||||
	}.Build()
 | 
			
		||||
	File_service_user_account_log_proto = out.File
 | 
			
		||||
	file_service_user_account_log_proto_rawDesc = nil
 | 
			
		||||
	file_service_user_account_log_proto_goTypes = nil
 | 
			
		||||
	file_service_user_account_log_proto_depIdxs = nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Reference imports to suppress errors if they are not otherwise used.
 | 
			
		||||
var _ context.Context
 | 
			
		||||
var _ grpc.ClientConnInterface
 | 
			
		||||
 | 
			
		||||
// This is a compile-time assertion to ensure that this generated file
 | 
			
		||||
// is compatible with the grpc package it is being compiled against.
 | 
			
		||||
const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
 | 
			
		||||
// UserAccountLogServiceClient is the client API for UserAccountLogService service.
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type UserAccountLogServiceClient interface {
 | 
			
		||||
	// 计算日志数量
 | 
			
		||||
	CountUserAccountLogs(ctx context.Context, in *CountUserAccountLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页日志
 | 
			
		||||
	ListUserAccountLogs(ctx context.Context, in *ListUserAccountLogsRequest, opts ...grpc.CallOption) (*ListUserAccountLogsResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type userAccountLogServiceClient struct {
 | 
			
		||||
	cc grpc.ClientConnInterface
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewUserAccountLogServiceClient(cc grpc.ClientConnInterface) UserAccountLogServiceClient {
 | 
			
		||||
	return &userAccountLogServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountLogServiceClient) CountUserAccountLogs(ctx context.Context, in *CountUserAccountLogsRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) {
 | 
			
		||||
	out := new(RPCCountResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountLogService/countUserAccountLogs", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userAccountLogServiceClient) ListUserAccountLogs(ctx context.Context, in *ListUserAccountLogsRequest, opts ...grpc.CallOption) (*ListUserAccountLogsResponse, error) {
 | 
			
		||||
	out := new(ListUserAccountLogsResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserAccountLogService/listUserAccountLogs", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UserAccountLogServiceServer is the server API for UserAccountLogService service.
 | 
			
		||||
type UserAccountLogServiceServer interface {
 | 
			
		||||
	// 计算日志数量
 | 
			
		||||
	CountUserAccountLogs(context.Context, *CountUserAccountLogsRequest) (*RPCCountResponse, error)
 | 
			
		||||
	// 列出单页日志
 | 
			
		||||
	ListUserAccountLogs(context.Context, *ListUserAccountLogsRequest) (*ListUserAccountLogsResponse, error)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// UnimplementedUserAccountLogServiceServer can be embedded to have forward compatible implementations.
 | 
			
		||||
type UnimplementedUserAccountLogServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedUserAccountLogServiceServer) CountUserAccountLogs(context.Context, *CountUserAccountLogsRequest) (*RPCCountResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CountUserAccountLogs not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserAccountLogServiceServer) ListUserAccountLogs(context.Context, *ListUserAccountLogsRequest) (*ListUserAccountLogsResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method ListUserAccountLogs not implemented")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func RegisterUserAccountLogServiceServer(s *grpc.Server, srv UserAccountLogServiceServer) {
 | 
			
		||||
	s.RegisterService(&_UserAccountLogService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountLogService_CountUserAccountLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CountUserAccountLogsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountLogServiceServer).CountUserAccountLogs(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountLogService/CountUserAccountLogs",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountLogServiceServer).CountUserAccountLogs(ctx, req.(*CountUserAccountLogsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserAccountLogService_ListUserAccountLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(ListUserAccountLogsRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserAccountLogServiceServer).ListUserAccountLogs(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserAccountLogService/ListUserAccountLogs",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserAccountLogServiceServer).ListUserAccountLogs(ctx, req.(*ListUserAccountLogsRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _UserAccountLogService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	ServiceName: "pb.UserAccountLogService",
 | 
			
		||||
	HandlerType: (*UserAccountLogServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "countUserAccountLogs",
 | 
			
		||||
			Handler:    _UserAccountLogService_CountUserAccountLogs_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "listUserAccountLogs",
 | 
			
		||||
			Handler:    _UserAccountLogService_ListUserAccountLogs_Handler,
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
	Streams:  []grpc.StreamDesc{},
 | 
			
		||||
	Metadata: "service_user_account_log.proto",
 | 
			
		||||
}
 | 
			
		||||
@@ -30,18 +30,20 @@ const (
 | 
			
		||||
const _ = proto.ProtoPackageIsVersion4
 | 
			
		||||
 | 
			
		||||
// 添加已购套餐
 | 
			
		||||
type CreateUserPlanRequest struct {
 | 
			
		||||
type BuyUserPlanRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserId int64  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	PlanId int64  `protobuf:"varint,2,opt,name=planId,proto3" json:"planId,omitempty"`
 | 
			
		||||
	DayTo  string `protobuf:"bytes,3,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
			
		||||
	UserId      int64  `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"`
 | 
			
		||||
	PlanId      int64  `protobuf:"varint,2,opt,name=planId,proto3" json:"planId,omitempty"`
 | 
			
		||||
	DayTo       string `protobuf:"bytes,3,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
			
		||||
	Period      string `protobuf:"bytes,4,opt,name=period,proto3" json:"period,omitempty"`
 | 
			
		||||
	CountPeriod int32  `protobuf:"varint,5,opt,name=countPeriod,proto3" json:"countPeriod,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) Reset() {
 | 
			
		||||
	*x = CreateUserPlanRequest{}
 | 
			
		||||
func (x *BuyUserPlanRequest) Reset() {
 | 
			
		||||
	*x = BuyUserPlanRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[0]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
@@ -49,13 +51,13 @@ func (x *CreateUserPlanRequest) Reset() {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) String() string {
 | 
			
		||||
func (x *BuyUserPlanRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreateUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
func (*BuyUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
func (x *BuyUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[0]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
@@ -67,33 +69,47 @@ func (x *CreateUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreateUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreateUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
// Deprecated: Use BuyUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*BuyUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{0}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) GetUserId() int64 {
 | 
			
		||||
func (x *BuyUserPlanRequest) GetUserId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) GetPlanId() int64 {
 | 
			
		||||
func (x *BuyUserPlanRequest) GetPlanId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.PlanId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanRequest) GetDayTo() string {
 | 
			
		||||
func (x *BuyUserPlanRequest) GetDayTo() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayTo
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CreateUserPlanResponse struct {
 | 
			
		||||
func (x *BuyUserPlanRequest) GetPeriod() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Period
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *BuyUserPlanRequest) GetCountPeriod() int32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.CountPeriod
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type BuyUserPlanResponse struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
@@ -101,8 +117,8 @@ type CreateUserPlanResponse struct {
 | 
			
		||||
	UserPlanId int64 `protobuf:"varint,1,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanResponse) Reset() {
 | 
			
		||||
	*x = CreateUserPlanResponse{}
 | 
			
		||||
func (x *BuyUserPlanResponse) Reset() {
 | 
			
		||||
	*x = BuyUserPlanResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[1]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
@@ -110,13 +126,13 @@ func (x *CreateUserPlanResponse) Reset() {
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanResponse) String() string {
 | 
			
		||||
func (x *BuyUserPlanResponse) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*CreateUserPlanResponse) ProtoMessage() {}
 | 
			
		||||
func (*BuyUserPlanResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
func (x *BuyUserPlanResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[1]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
@@ -128,18 +144,90 @@ func (x *CreateUserPlanResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	return mi.MessageOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CreateUserPlanResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CreateUserPlanResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
// Deprecated: Use BuyUserPlanResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*BuyUserPlanResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{1}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CreateUserPlanResponse) GetUserPlanId() int64 {
 | 
			
		||||
func (x *BuyUserPlanResponse) GetUserPlanId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserPlanId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 续费套餐
 | 
			
		||||
type RenewUserPlanRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
	sizeCache     protoimpl.SizeCache
 | 
			
		||||
	unknownFields protoimpl.UnknownFields
 | 
			
		||||
 | 
			
		||||
	UserPlanId  int64  `protobuf:"varint,1,opt,name=userPlanId,proto3" json:"userPlanId,omitempty"`
 | 
			
		||||
	DayTo       string `protobuf:"bytes,3,opt,name=dayTo,proto3" json:"dayTo,omitempty"`
 | 
			
		||||
	Period      string `protobuf:"bytes,4,opt,name=period,proto3" json:"period,omitempty"`
 | 
			
		||||
	CountPeriod int32  `protobuf:"varint,5,opt,name=countPeriod,proto3" json:"countPeriod,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) Reset() {
 | 
			
		||||
	*x = RenewUserPlanRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[2]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) String() string {
 | 
			
		||||
	return protoimpl.X.MessageStringOf(x)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*RenewUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_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 RenewUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*RenewUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) GetUserPlanId() int64 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.UserPlanId
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) GetDayTo() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.DayTo
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) GetPeriod() string {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.Period
 | 
			
		||||
	}
 | 
			
		||||
	return ""
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *RenewUserPlanRequest) GetCountPeriod() int32 {
 | 
			
		||||
	if x != nil {
 | 
			
		||||
		return x.CountPeriod
 | 
			
		||||
	}
 | 
			
		||||
	return 0
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找单个已购套餐信息
 | 
			
		||||
type FindEnabledUserPlanRequest struct {
 | 
			
		||||
	state         protoimpl.MessageState
 | 
			
		||||
@@ -152,7 +240,7 @@ type FindEnabledUserPlanRequest struct {
 | 
			
		||||
func (x *FindEnabledUserPlanRequest) Reset() {
 | 
			
		||||
	*x = FindEnabledUserPlanRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[2]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[3]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -165,7 +253,7 @@ func (x *FindEnabledUserPlanRequest) String() string {
 | 
			
		||||
func (*FindEnabledUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[2]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[3]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -178,7 +266,7 @@ func (x *FindEnabledUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{2}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserPlanRequest) GetUserPlanId() int64 {
 | 
			
		||||
@@ -199,7 +287,7 @@ type FindEnabledUserPlanResponse struct {
 | 
			
		||||
func (x *FindEnabledUserPlanResponse) Reset() {
 | 
			
		||||
	*x = FindEnabledUserPlanResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[3]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[4]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -212,7 +300,7 @@ func (x *FindEnabledUserPlanResponse) String() string {
 | 
			
		||||
func (*FindEnabledUserPlanResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserPlanResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[3]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[4]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -225,7 +313,7 @@ func (x *FindEnabledUserPlanResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use FindEnabledUserPlanResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*FindEnabledUserPlanResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{3}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *FindEnabledUserPlanResponse) GetUserPlan() *UserPlan {
 | 
			
		||||
@@ -250,7 +338,7 @@ type UpdateUserPlanRequest struct {
 | 
			
		||||
func (x *UpdateUserPlanRequest) Reset() {
 | 
			
		||||
	*x = UpdateUserPlanRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[4]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[5]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -263,7 +351,7 @@ func (x *UpdateUserPlanRequest) String() string {
 | 
			
		||||
func (*UpdateUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[4]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[5]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -276,7 +364,7 @@ func (x *UpdateUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use UpdateUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*UpdateUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{4}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *UpdateUserPlanRequest) GetUserPlanId() int64 {
 | 
			
		||||
@@ -319,7 +407,7 @@ type DeleteUserPlanRequest struct {
 | 
			
		||||
func (x *DeleteUserPlanRequest) Reset() {
 | 
			
		||||
	*x = DeleteUserPlanRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[5]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[6]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -332,7 +420,7 @@ func (x *DeleteUserPlanRequest) String() string {
 | 
			
		||||
func (*DeleteUserPlanRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *DeleteUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[5]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[6]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -345,7 +433,7 @@ func (x *DeleteUserPlanRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use DeleteUserPlanRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*DeleteUserPlanRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{5}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *DeleteUserPlanRequest) GetUserPlanId() int64 {
 | 
			
		||||
@@ -370,7 +458,7 @@ type CountAllEnabledUserPlansRequest struct {
 | 
			
		||||
func (x *CountAllEnabledUserPlansRequest) Reset() {
 | 
			
		||||
	*x = CountAllEnabledUserPlansRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[6]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[7]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -383,7 +471,7 @@ func (x *CountAllEnabledUserPlansRequest) String() string {
 | 
			
		||||
func (*CountAllEnabledUserPlansRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *CountAllEnabledUserPlansRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[6]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[7]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -396,7 +484,7 @@ func (x *CountAllEnabledUserPlansRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use CountAllEnabledUserPlansRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*CountAllEnabledUserPlansRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{6}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *CountAllEnabledUserPlansRequest) GetIsAvailable() bool {
 | 
			
		||||
@@ -444,7 +532,7 @@ type ListEnabledUserPlansRequest struct {
 | 
			
		||||
func (x *ListEnabledUserPlansRequest) Reset() {
 | 
			
		||||
	*x = ListEnabledUserPlansRequest{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[7]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[8]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -457,7 +545,7 @@ func (x *ListEnabledUserPlansRequest) String() string {
 | 
			
		||||
func (*ListEnabledUserPlansRequest) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledUserPlansRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[7]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[8]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -470,7 +558,7 @@ func (x *ListEnabledUserPlansRequest) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListEnabledUserPlansRequest.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListEnabledUserPlansRequest) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{7}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledUserPlansRequest) GetIsAvailable() bool {
 | 
			
		||||
@@ -526,7 +614,7 @@ type ListEnabledUserPlansResponse struct {
 | 
			
		||||
func (x *ListEnabledUserPlansResponse) Reset() {
 | 
			
		||||
	*x = ListEnabledUserPlansResponse{}
 | 
			
		||||
	if protoimpl.UnsafeEnabled {
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[8]
 | 
			
		||||
		mi := &file_service_user_plan_proto_msgTypes[9]
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		ms.StoreMessageInfo(mi)
 | 
			
		||||
	}
 | 
			
		||||
@@ -539,7 +627,7 @@ func (x *ListEnabledUserPlansResponse) String() string {
 | 
			
		||||
func (*ListEnabledUserPlansResponse) ProtoMessage() {}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledUserPlansResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[8]
 | 
			
		||||
	mi := &file_service_user_plan_proto_msgTypes[9]
 | 
			
		||||
	if protoimpl.UnsafeEnabled && x != nil {
 | 
			
		||||
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
			
		||||
		if ms.LoadMessageInfo() == nil {
 | 
			
		||||
@@ -552,7 +640,7 @@ func (x *ListEnabledUserPlansResponse) ProtoReflect() protoreflect.Message {
 | 
			
		||||
 | 
			
		||||
// Deprecated: Use ListEnabledUserPlansResponse.ProtoReflect.Descriptor instead.
 | 
			
		||||
func (*ListEnabledUserPlansResponse) Descriptor() ([]byte, []int) {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{8}
 | 
			
		||||
	return file_service_user_plan_proto_rawDescGZIP(), []int{9}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (x *ListEnabledUserPlansResponse) GetUserPlans() []*UserPlan {
 | 
			
		||||
@@ -570,69 +658,84 @@ var file_service_user_plan_proto_rawDesc = []byte{
 | 
			
		||||
	0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x70, 0x63, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
 | 
			
		||||
	0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 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, 0x22, 0x5d, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49,
 | 
			
		||||
	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
 | 
			
		||||
	0x64, 0x61, 0x79, 0x54, 0x6f, 0x22, 0x38, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22,
 | 
			
		||||
	0x3c, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
 | 
			
		||||
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x42, 0x75, 0x79, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18,
 | 
			
		||||
	0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a,
 | 
			
		||||
	0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61,
 | 
			
		||||
	0x79, 0x54, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
 | 
			
		||||
	0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x35, 0x0a,
 | 
			
		||||
	0x13, 0x42, 0x75, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70,
 | 
			
		||||
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e,
 | 
			
		||||
	0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c,
 | 
			
		||||
	0x61, 0x6e, 0x49, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a,
 | 
			
		||||
	0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a,
 | 
			
		||||
	0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c,
 | 
			
		||||
	0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x08, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x22, 0x79, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
 | 
			
		||||
	0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12,
 | 
			
		||||
	0x16, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f,
 | 
			
		||||
	0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x12, 0x12, 0x0a,
 | 
			
		||||
	0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f,
 | 
			
		||||
	0x6e, 0x22, 0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50,
 | 
			
		||||
	0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x43,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
 | 
			
		||||
	0x0a, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22,
 | 
			
		||||
	0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61,
 | 
			
		||||
	0x79, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x1b, 0x4c,
 | 
			
		||||
	0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c,
 | 
			
		||||
	0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73,
 | 
			
		||||
	0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
			
		||||
	0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09,
 | 
			
		||||
	0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
 | 
			
		||||
	0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78,
 | 
			
		||||
	0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
 | 
			
		||||
	0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x12, 0x16,
 | 
			
		||||
	0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
 | 
			
		||||
	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12,
 | 
			
		||||
	0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69,
 | 
			
		||||
	0x7a, 0x65, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
 | 
			
		||||
	0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
			
		||||
	0x73, 0x65, 0x12, 0x2a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x18,
 | 
			
		||||
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50,
 | 
			
		||||
	0x6c, 0x61, 0x6e, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x32, 0xde,
 | 
			
		||||
	0x03, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69,
 | 
			
		||||
	0x63, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x12, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
			
		||||
	0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50,
 | 
			
		||||
	0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x66,
 | 
			
		||||
	0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a,
 | 
			
		||||
	0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61,
 | 
			
		||||
	0x79, 0x54, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 0x20,
 | 
			
		||||
	0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63,
 | 
			
		||||
	0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05,
 | 
			
		||||
	0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 0x3c, 0x0a,
 | 
			
		||||
	0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
 | 
			
		||||
	0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x47, 0x0a, 0x1b, 0x46,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c,
 | 
			
		||||
	0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x08, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70,
 | 
			
		||||
	0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x22, 0x79, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a,
 | 
			
		||||
	0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x03, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a,
 | 
			
		||||
	0x06, 0x70, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70,
 | 
			
		||||
	0x6c, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x18, 0x03,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x64, 0x61, 0x79, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x69,
 | 
			
		||||
	0x73, 0x4f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x22,
 | 
			
		||||
	0x37, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61,
 | 
			
		||||
	0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x9d, 0x01, 0x0a, 0x1f, 0x43, 0x6f, 0x75,
 | 
			
		||||
	0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b,
 | 
			
		||||
	0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x08, 0x52, 0x0b, 0x69, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c,
 | 
			
		||||
	0x0a, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
 | 
			
		||||
	0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c,
 | 
			
		||||
	0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01,
 | 
			
		||||
	0x28, 0x05, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73,
 | 
			
		||||
	0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
 | 
			
		||||
	0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73,
 | 
			
		||||
	0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e,
 | 
			
		||||
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x73, 0x41, 0x76,
 | 
			
		||||
	0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69,
 | 
			
		||||
	0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73,
 | 
			
		||||
	0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69,
 | 
			
		||||
	0x73, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x78, 0x70, 0x69,
 | 
			
		||||
	0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c,
 | 
			
		||||
	0x65, 0x78, 0x70, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x79, 0x73, 0x12, 0x16, 0x0a, 0x06,
 | 
			
		||||
	0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73,
 | 
			
		||||
	0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05,
 | 
			
		||||
	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04,
 | 
			
		||||
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65,
 | 
			
		||||
	0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55,
 | 
			
		||||
	0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x2a, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x01, 0x20,
 | 
			
		||||
	0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61,
 | 
			
		||||
	0x6e, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x32, 0x90, 0x04, 0x0a,
 | 
			
		||||
	0x0f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
 | 
			
		||||
	0x12, 0x3e, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x12,
 | 
			
		||||
	0x16, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x75, 0x79, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e,
 | 
			
		||||
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x42, 0x75, 0x79,
 | 
			
		||||
	0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
			
		||||
	0x12, 0x39, 0x0a, 0x0d, 0x72, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61,
 | 
			
		||||
	0x6e, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6e, 0x65, 0x77, 0x55, 0x73, 0x65, 0x72,
 | 
			
		||||
	0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62,
 | 
			
		||||
	0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x13, 0x66,
 | 
			
		||||
	0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c,
 | 
			
		||||
	0x61, 0x6e, 0x12, 0x1e, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62,
 | 
			
		||||
	0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
			
		||||
@@ -672,38 +775,41 @@ func file_service_user_plan_proto_rawDescGZIP() []byte {
 | 
			
		||||
	return file_service_user_plan_proto_rawDescData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var file_service_user_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
 | 
			
		||||
var file_service_user_plan_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
 | 
			
		||||
var file_service_user_plan_proto_goTypes = []interface{}{
 | 
			
		||||
	(*CreateUserPlanRequest)(nil),           // 0: pb.CreateUserPlanRequest
 | 
			
		||||
	(*CreateUserPlanResponse)(nil),          // 1: pb.CreateUserPlanResponse
 | 
			
		||||
	(*FindEnabledUserPlanRequest)(nil),      // 2: pb.FindEnabledUserPlanRequest
 | 
			
		||||
	(*FindEnabledUserPlanResponse)(nil),     // 3: pb.FindEnabledUserPlanResponse
 | 
			
		||||
	(*UpdateUserPlanRequest)(nil),           // 4: pb.UpdateUserPlanRequest
 | 
			
		||||
	(*DeleteUserPlanRequest)(nil),           // 5: pb.DeleteUserPlanRequest
 | 
			
		||||
	(*CountAllEnabledUserPlansRequest)(nil), // 6: pb.CountAllEnabledUserPlansRequest
 | 
			
		||||
	(*ListEnabledUserPlansRequest)(nil),     // 7: pb.ListEnabledUserPlansRequest
 | 
			
		||||
	(*ListEnabledUserPlansResponse)(nil),    // 8: pb.ListEnabledUserPlansResponse
 | 
			
		||||
	(*UserPlan)(nil),                        // 9: pb.UserPlan
 | 
			
		||||
	(*RPCSuccess)(nil),                      // 10: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                // 11: pb.RPCCountResponse
 | 
			
		||||
	(*BuyUserPlanRequest)(nil),              // 0: pb.BuyUserPlanRequest
 | 
			
		||||
	(*BuyUserPlanResponse)(nil),             // 1: pb.BuyUserPlanResponse
 | 
			
		||||
	(*RenewUserPlanRequest)(nil),            // 2: pb.RenewUserPlanRequest
 | 
			
		||||
	(*FindEnabledUserPlanRequest)(nil),      // 3: pb.FindEnabledUserPlanRequest
 | 
			
		||||
	(*FindEnabledUserPlanResponse)(nil),     // 4: pb.FindEnabledUserPlanResponse
 | 
			
		||||
	(*UpdateUserPlanRequest)(nil),           // 5: pb.UpdateUserPlanRequest
 | 
			
		||||
	(*DeleteUserPlanRequest)(nil),           // 6: pb.DeleteUserPlanRequest
 | 
			
		||||
	(*CountAllEnabledUserPlansRequest)(nil), // 7: pb.CountAllEnabledUserPlansRequest
 | 
			
		||||
	(*ListEnabledUserPlansRequest)(nil),     // 8: pb.ListEnabledUserPlansRequest
 | 
			
		||||
	(*ListEnabledUserPlansResponse)(nil),    // 9: pb.ListEnabledUserPlansResponse
 | 
			
		||||
	(*UserPlan)(nil),                        // 10: pb.UserPlan
 | 
			
		||||
	(*RPCSuccess)(nil),                      // 11: pb.RPCSuccess
 | 
			
		||||
	(*RPCCountResponse)(nil),                // 12: pb.RPCCountResponse
 | 
			
		||||
}
 | 
			
		||||
var file_service_user_plan_proto_depIdxs = []int32{
 | 
			
		||||
	9,  // 0: pb.FindEnabledUserPlanResponse.userPlan:type_name -> pb.UserPlan
 | 
			
		||||
	9,  // 1: pb.ListEnabledUserPlansResponse.userPlans:type_name -> pb.UserPlan
 | 
			
		||||
	0,  // 2: pb.UserPlanService.createUserPlan:input_type -> pb.CreateUserPlanRequest
 | 
			
		||||
	2,  // 3: pb.UserPlanService.findEnabledUserPlan:input_type -> pb.FindEnabledUserPlanRequest
 | 
			
		||||
	4,  // 4: pb.UserPlanService.updateUserPlan:input_type -> pb.UpdateUserPlanRequest
 | 
			
		||||
	5,  // 5: pb.UserPlanService.deleteUserPlan:input_type -> pb.DeleteUserPlanRequest
 | 
			
		||||
	6,  // 6: pb.UserPlanService.countAllEnabledUserPlans:input_type -> pb.CountAllEnabledUserPlansRequest
 | 
			
		||||
	7,  // 7: pb.UserPlanService.listEnabledUserPlans:input_type -> pb.ListEnabledUserPlansRequest
 | 
			
		||||
	1,  // 8: pb.UserPlanService.createUserPlan:output_type -> pb.CreateUserPlanResponse
 | 
			
		||||
	3,  // 9: pb.UserPlanService.findEnabledUserPlan:output_type -> pb.FindEnabledUserPlanResponse
 | 
			
		||||
	10, // 10: pb.UserPlanService.updateUserPlan:output_type -> pb.RPCSuccess
 | 
			
		||||
	10, // 11: pb.UserPlanService.deleteUserPlan:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 12: pb.UserPlanService.countAllEnabledUserPlans:output_type -> pb.RPCCountResponse
 | 
			
		||||
	8,  // 13: pb.UserPlanService.listEnabledUserPlans:output_type -> pb.ListEnabledUserPlansResponse
 | 
			
		||||
	8,  // [8:14] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:8] is the sub-list for method input_type
 | 
			
		||||
	10, // 0: pb.FindEnabledUserPlanResponse.userPlan:type_name -> pb.UserPlan
 | 
			
		||||
	10, // 1: pb.ListEnabledUserPlansResponse.userPlans:type_name -> pb.UserPlan
 | 
			
		||||
	0,  // 2: pb.UserPlanService.buyUserPlan:input_type -> pb.BuyUserPlanRequest
 | 
			
		||||
	2,  // 3: pb.UserPlanService.renewUserPlan:input_type -> pb.RenewUserPlanRequest
 | 
			
		||||
	3,  // 4: pb.UserPlanService.findEnabledUserPlan:input_type -> pb.FindEnabledUserPlanRequest
 | 
			
		||||
	5,  // 5: pb.UserPlanService.updateUserPlan:input_type -> pb.UpdateUserPlanRequest
 | 
			
		||||
	6,  // 6: pb.UserPlanService.deleteUserPlan:input_type -> pb.DeleteUserPlanRequest
 | 
			
		||||
	7,  // 7: pb.UserPlanService.countAllEnabledUserPlans:input_type -> pb.CountAllEnabledUserPlansRequest
 | 
			
		||||
	8,  // 8: pb.UserPlanService.listEnabledUserPlans:input_type -> pb.ListEnabledUserPlansRequest
 | 
			
		||||
	1,  // 9: pb.UserPlanService.buyUserPlan:output_type -> pb.BuyUserPlanResponse
 | 
			
		||||
	11, // 10: pb.UserPlanService.renewUserPlan:output_type -> pb.RPCSuccess
 | 
			
		||||
	4,  // 11: pb.UserPlanService.findEnabledUserPlan:output_type -> pb.FindEnabledUserPlanResponse
 | 
			
		||||
	11, // 12: pb.UserPlanService.updateUserPlan:output_type -> pb.RPCSuccess
 | 
			
		||||
	11, // 13: pb.UserPlanService.deleteUserPlan:output_type -> pb.RPCSuccess
 | 
			
		||||
	12, // 14: pb.UserPlanService.countAllEnabledUserPlans:output_type -> pb.RPCCountResponse
 | 
			
		||||
	9,  // 15: pb.UserPlanService.listEnabledUserPlans:output_type -> pb.ListEnabledUserPlansResponse
 | 
			
		||||
	9,  // [9:16] is the sub-list for method output_type
 | 
			
		||||
	2,  // [2:9] 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
 | 
			
		||||
@@ -718,7 +824,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
	file_models_model_user_plan_proto_init()
 | 
			
		||||
	if !protoimpl.UnsafeEnabled {
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateUserPlanRequest); i {
 | 
			
		||||
			switch v := v.(*BuyUserPlanRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -730,7 +836,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CreateUserPlanResponse); i {
 | 
			
		||||
			switch v := v.(*BuyUserPlanResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -742,7 +848,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserPlanRequest); i {
 | 
			
		||||
			switch v := v.(*RenewUserPlanRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -754,7 +860,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*FindEnabledUserPlanResponse); i {
 | 
			
		||||
			switch v := v.(*FindEnabledUserPlanRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -766,7 +872,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*UpdateUserPlanRequest); i {
 | 
			
		||||
			switch v := v.(*FindEnabledUserPlanResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -778,7 +884,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*DeleteUserPlanRequest); i {
 | 
			
		||||
			switch v := v.(*UpdateUserPlanRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -790,7 +896,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*CountAllEnabledUserPlansRequest); i {
 | 
			
		||||
			switch v := v.(*DeleteUserPlanRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -802,7 +908,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListEnabledUserPlansRequest); i {
 | 
			
		||||
			switch v := v.(*CountAllEnabledUserPlansRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
@@ -814,6 +920,18 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListEnabledUserPlansRequest); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
			case 1:
 | 
			
		||||
				return &v.sizeCache
 | 
			
		||||
			case 2:
 | 
			
		||||
				return &v.unknownFields
 | 
			
		||||
			default:
 | 
			
		||||
				return nil
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		file_service_user_plan_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 | 
			
		||||
			switch v := v.(*ListEnabledUserPlansResponse); i {
 | 
			
		||||
			case 0:
 | 
			
		||||
				return &v.state
 | 
			
		||||
@@ -832,7 +950,7 @@ func file_service_user_plan_proto_init() {
 | 
			
		||||
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
			
		||||
			RawDescriptor: file_service_user_plan_proto_rawDesc,
 | 
			
		||||
			NumEnums:      0,
 | 
			
		||||
			NumMessages:   9,
 | 
			
		||||
			NumMessages:   10,
 | 
			
		||||
			NumExtensions: 0,
 | 
			
		||||
			NumServices:   1,
 | 
			
		||||
		},
 | 
			
		||||
@@ -858,8 +976,10 @@ const _ = grpc.SupportPackageIsVersion6
 | 
			
		||||
//
 | 
			
		||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
 | 
			
		||||
type UserPlanServiceClient interface {
 | 
			
		||||
	// 添加已购套餐
 | 
			
		||||
	CreateUserPlan(ctx context.Context, in *CreateUserPlanRequest, opts ...grpc.CallOption) (*CreateUserPlanResponse, error)
 | 
			
		||||
	// 购买套餐
 | 
			
		||||
	BuyUserPlan(ctx context.Context, in *BuyUserPlanRequest, opts ...grpc.CallOption) (*BuyUserPlanResponse, error)
 | 
			
		||||
	// 续费套餐
 | 
			
		||||
	RenewUserPlan(ctx context.Context, in *RenewUserPlanRequest, opts ...grpc.CallOption) (*RPCSuccess, error)
 | 
			
		||||
	// 查找单个已购套餐信息
 | 
			
		||||
	FindEnabledUserPlan(ctx context.Context, in *FindEnabledUserPlanRequest, opts ...grpc.CallOption) (*FindEnabledUserPlanResponse, error)
 | 
			
		||||
	// 修改已购套餐
 | 
			
		||||
@@ -880,9 +1000,18 @@ func NewUserPlanServiceClient(cc grpc.ClientConnInterface) UserPlanServiceClient
 | 
			
		||||
	return &userPlanServiceClient{cc}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userPlanServiceClient) CreateUserPlan(ctx context.Context, in *CreateUserPlanRequest, opts ...grpc.CallOption) (*CreateUserPlanResponse, error) {
 | 
			
		||||
	out := new(CreateUserPlanResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserPlanService/createUserPlan", in, out, opts...)
 | 
			
		||||
func (c *userPlanServiceClient) BuyUserPlan(ctx context.Context, in *BuyUserPlanRequest, opts ...grpc.CallOption) (*BuyUserPlanResponse, error) {
 | 
			
		||||
	out := new(BuyUserPlanResponse)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserPlanService/buyUserPlan", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return out, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *userPlanServiceClient) RenewUserPlan(ctx context.Context, in *RenewUserPlanRequest, opts ...grpc.CallOption) (*RPCSuccess, error) {
 | 
			
		||||
	out := new(RPCSuccess)
 | 
			
		||||
	err := c.cc.Invoke(ctx, "/pb.UserPlanService/renewUserPlan", in, out, opts...)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
@@ -936,8 +1065,10 @@ func (c *userPlanServiceClient) ListEnabledUserPlans(ctx context.Context, in *Li
 | 
			
		||||
 | 
			
		||||
// UserPlanServiceServer is the server API for UserPlanService service.
 | 
			
		||||
type UserPlanServiceServer interface {
 | 
			
		||||
	// 添加已购套餐
 | 
			
		||||
	CreateUserPlan(context.Context, *CreateUserPlanRequest) (*CreateUserPlanResponse, error)
 | 
			
		||||
	// 购买套餐
 | 
			
		||||
	BuyUserPlan(context.Context, *BuyUserPlanRequest) (*BuyUserPlanResponse, error)
 | 
			
		||||
	// 续费套餐
 | 
			
		||||
	RenewUserPlan(context.Context, *RenewUserPlanRequest) (*RPCSuccess, error)
 | 
			
		||||
	// 查找单个已购套餐信息
 | 
			
		||||
	FindEnabledUserPlan(context.Context, *FindEnabledUserPlanRequest) (*FindEnabledUserPlanResponse, error)
 | 
			
		||||
	// 修改已购套餐
 | 
			
		||||
@@ -954,8 +1085,11 @@ type UserPlanServiceServer interface {
 | 
			
		||||
type UnimplementedUserPlanServiceServer struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (*UnimplementedUserPlanServiceServer) CreateUserPlan(context.Context, *CreateUserPlanRequest) (*CreateUserPlanResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method CreateUserPlan not implemented")
 | 
			
		||||
func (*UnimplementedUserPlanServiceServer) BuyUserPlan(context.Context, *BuyUserPlanRequest) (*BuyUserPlanResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method BuyUserPlan not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserPlanServiceServer) RenewUserPlan(context.Context, *RenewUserPlanRequest) (*RPCSuccess, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method RenewUserPlan not implemented")
 | 
			
		||||
}
 | 
			
		||||
func (*UnimplementedUserPlanServiceServer) FindEnabledUserPlan(context.Context, *FindEnabledUserPlanRequest) (*FindEnabledUserPlanResponse, error) {
 | 
			
		||||
	return nil, status.Errorf(codes.Unimplemented, "method FindEnabledUserPlan not implemented")
 | 
			
		||||
@@ -977,20 +1111,38 @@ func RegisterUserPlanServiceServer(s *grpc.Server, srv UserPlanServiceServer) {
 | 
			
		||||
	s.RegisterService(&_UserPlanService_serviceDesc, srv)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserPlanService_CreateUserPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(CreateUserPlanRequest)
 | 
			
		||||
func _UserPlanService_BuyUserPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(BuyUserPlanRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserPlanServiceServer).CreateUserPlan(ctx, in)
 | 
			
		||||
		return srv.(UserPlanServiceServer).BuyUserPlan(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserPlanService/CreateUserPlan",
 | 
			
		||||
		FullMethod: "/pb.UserPlanService/BuyUserPlan",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserPlanServiceServer).CreateUserPlan(ctx, req.(*CreateUserPlanRequest))
 | 
			
		||||
		return srv.(UserPlanServiceServer).BuyUserPlan(ctx, req.(*BuyUserPlanRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func _UserPlanService_RenewUserPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 | 
			
		||||
	in := new(RenewUserPlanRequest)
 | 
			
		||||
	if err := dec(in); err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	if interceptor == nil {
 | 
			
		||||
		return srv.(UserPlanServiceServer).RenewUserPlan(ctx, in)
 | 
			
		||||
	}
 | 
			
		||||
	info := &grpc.UnaryServerInfo{
 | 
			
		||||
		Server:     srv,
 | 
			
		||||
		FullMethod: "/pb.UserPlanService/RenewUserPlan",
 | 
			
		||||
	}
 | 
			
		||||
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
 | 
			
		||||
		return srv.(UserPlanServiceServer).RenewUserPlan(ctx, req.(*RenewUserPlanRequest))
 | 
			
		||||
	}
 | 
			
		||||
	return interceptor(ctx, in, info, handler)
 | 
			
		||||
}
 | 
			
		||||
@@ -1090,8 +1242,12 @@ var _UserPlanService_serviceDesc = grpc.ServiceDesc{
 | 
			
		||||
	HandlerType: (*UserPlanServiceServer)(nil),
 | 
			
		||||
	Methods: []grpc.MethodDesc{
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "createUserPlan",
 | 
			
		||||
			Handler:    _UserPlanService_CreateUserPlan_Handler,
 | 
			
		||||
			MethodName: "buyUserPlan",
 | 
			
		||||
			Handler:    _UserPlanService_BuyUserPlan_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "renewUserPlan",
 | 
			
		||||
			Handler:    _UserPlanService_RenewUserPlan_Handler,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			MethodName: "findEnabledUserPlan",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								pkg/rpc/protos/models/model_user_account.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								pkg/rpc/protos/models/model_user_account.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,15 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_user.proto";
 | 
			
		||||
 | 
			
		||||
message UserAccount {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	int64 userId = 2;
 | 
			
		||||
	float total = 3;
 | 
			
		||||
	float totalFrozen = 4;
 | 
			
		||||
 | 
			
		||||
	User user = 30;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								pkg/rpc/protos/models/model_user_account_daily_stat.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								pkg/rpc/protos/models/model_user_account_daily_stat.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
message UserAccountDailyStat {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	string day = 2;
 | 
			
		||||
	string month = 3;
 | 
			
		||||
	float income = 4;
 | 
			
		||||
	float expense = 5;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								pkg/rpc/protos/models/model_user_account_log.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								pkg/rpc/protos/models/model_user_account_log.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_user.proto";
 | 
			
		||||
import "models/model_user_account.proto";
 | 
			
		||||
 | 
			
		||||
message UserAccountLog {
 | 
			
		||||
	int64 id = 1;
 | 
			
		||||
	int64 userId = 2;
 | 
			
		||||
	int64 userAccountId = 3;
 | 
			
		||||
	float delta = 4;
 | 
			
		||||
	float deltaFrozen = 5;
 | 
			
		||||
	float total = 6;
 | 
			
		||||
	float totalFrozen = 7;
 | 
			
		||||
	string eventType = 8;
 | 
			
		||||
	string description = 9;
 | 
			
		||||
	int64 createdAt = 10;
 | 
			
		||||
	bytes paramsJSON = 11;
 | 
			
		||||
 | 
			
		||||
	User user = 30;
 | 
			
		||||
	UserAccount userAccount = 31;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										68
									
								
								pkg/rpc/protos/service_user_account.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								pkg/rpc/protos/service_user_account.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,68 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_user_account.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 用户账户服务
 | 
			
		||||
service UserAccountService {
 | 
			
		||||
	// 计算账户数量
 | 
			
		||||
	rpc countUserAccounts(CountUserAccountsRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出单页账户
 | 
			
		||||
	rpc listUserAccounts(ListUserAccountsRequest) returns (ListUserAccountsResponse);
 | 
			
		||||
 | 
			
		||||
	// 根据用户ID查找单个账户
 | 
			
		||||
	rpc findEnabledUserAccountWithUserId(FindEnabledUserAccountWithUserIdRequest) returns (FindEnabledUserAccountWithUserIdResponse);
 | 
			
		||||
 | 
			
		||||
	// 查找单个账户
 | 
			
		||||
	rpc findEnabledUserAccount(FindEnabledUserAccountRequest) returns (FindEnabledUserAccountResponse);
 | 
			
		||||
 | 
			
		||||
	// 修改用户账户
 | 
			
		||||
	rpc updateUserAccount(UpdateUserAccountRequest) returns (RPCSuccess);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算账户数量
 | 
			
		||||
message CountUserAccountsRequest {
 | 
			
		||||
	string keyword = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页账户
 | 
			
		||||
message ListUserAccountsRequest  {
 | 
			
		||||
	string keyword = 1;
 | 
			
		||||
	int64 offset = 2;
 | 
			
		||||
	int64 size = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListUserAccountsResponse {
 | 
			
		||||
	repeated UserAccount userAccounts = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 根据用户ID查找单个账户
 | 
			
		||||
message FindEnabledUserAccountWithUserIdRequest {
 | 
			
		||||
	int64 userId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledUserAccountWithUserIdResponse {
 | 
			
		||||
	UserAccount userAccount = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找单个账户
 | 
			
		||||
message FindEnabledUserAccountRequest {
 | 
			
		||||
	int64 userAccountId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message FindEnabledUserAccountResponse {
 | 
			
		||||
	UserAccount userAccount = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 修改用户账户
 | 
			
		||||
message UpdateUserAccountRequest {
 | 
			
		||||
	int64 userAccountId = 1;
 | 
			
		||||
	float delta = 2;
 | 
			
		||||
	string eventType = 3;
 | 
			
		||||
	string description = 4;
 | 
			
		||||
	bytes paramsJSON = 5;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										45
									
								
								pkg/rpc/protos/service_user_account_daily_stat.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								pkg/rpc/protos/service_user_account_daily_stat.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
// 用户账户统计服务
 | 
			
		||||
service UserAccountDailyStatService {
 | 
			
		||||
	// 列出按天统计
 | 
			
		||||
	rpc listUserAccountDailyStats(ListUserAccountDailyStatsRequest) returns (ListUserAccountDailyStatsResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出按月统计
 | 
			
		||||
	rpc listUserAccountMonthlyStats(ListUserAccountMonthlyStatsRequest) returns (ListUserAccountMonthlyStatsResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出按天统计
 | 
			
		||||
message ListUserAccountDailyStatsRequest {
 | 
			
		||||
	string dayFrom = 1;
 | 
			
		||||
	string dayTo = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListUserAccountDailyStatsResponse {
 | 
			
		||||
	repeated Stat stats = 1;
 | 
			
		||||
 | 
			
		||||
	message Stat {
 | 
			
		||||
		string day = 1; // YYYYMMDD
 | 
			
		||||
		float income = 2;
 | 
			
		||||
		float expense = 3;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出按月统计
 | 
			
		||||
message ListUserAccountMonthlyStatsRequest {
 | 
			
		||||
	string dayFrom = 1;
 | 
			
		||||
	string dayTo = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListUserAccountMonthlyStatsResponse {
 | 
			
		||||
	repeated Stat stats = 1;
 | 
			
		||||
 | 
			
		||||
	message Stat {
 | 
			
		||||
		string month = 1; // YYYYMM
 | 
			
		||||
		float income = 2;
 | 
			
		||||
		float expense = 3;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										37
									
								
								pkg/rpc/protos/service_user_account_log.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								pkg/rpc/protos/service_user_account_log.proto
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
option go_package = "./pb";
 | 
			
		||||
 | 
			
		||||
package pb;
 | 
			
		||||
 | 
			
		||||
import "models/model_user_account_log.proto";
 | 
			
		||||
import "models/rpc_messages.proto";
 | 
			
		||||
 | 
			
		||||
// 用户账户日志服务
 | 
			
		||||
service UserAccountLogService {
 | 
			
		||||
	// 计算日志数量
 | 
			
		||||
	rpc countUserAccountLogs(CountUserAccountLogsRequest) returns (RPCCountResponse);
 | 
			
		||||
 | 
			
		||||
	// 列出单页日志
 | 
			
		||||
	rpc listUserAccountLogs(ListUserAccountLogsRequest) returns (ListUserAccountLogsResponse);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 计算日志数量
 | 
			
		||||
message CountUserAccountLogsRequest {
 | 
			
		||||
	int64 userAccountId = 1;
 | 
			
		||||
	string keyword = 2;
 | 
			
		||||
	string eventType = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 列出单页日志
 | 
			
		||||
message ListUserAccountLogsRequest {
 | 
			
		||||
	int64 userAccountId = 1;
 | 
			
		||||
	string keyword = 2;
 | 
			
		||||
	string eventType = 3;
 | 
			
		||||
	int64 offset = 4;
 | 
			
		||||
	int64 size = 5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListUserAccountLogsResponse {
 | 
			
		||||
	repeated UserAccountLog userAccountLogs = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -8,8 +8,11 @@ import "models/model_user_plan.proto";
 | 
			
		||||
 | 
			
		||||
// 用户购买的套餐
 | 
			
		||||
service UserPlanService {
 | 
			
		||||
	// 添加已购套餐
 | 
			
		||||
	rpc createUserPlan(CreateUserPlanRequest) returns (CreateUserPlanResponse);
 | 
			
		||||
	// 购买套餐
 | 
			
		||||
	rpc buyUserPlan(BuyUserPlanRequest) returns (BuyUserPlanResponse);
 | 
			
		||||
 | 
			
		||||
	// 续费套餐
 | 
			
		||||
	rpc renewUserPlan(RenewUserPlanRequest) returns (RPCSuccess);
 | 
			
		||||
 | 
			
		||||
	// 查找单个已购套餐信息
 | 
			
		||||
	rpc findEnabledUserPlan(FindEnabledUserPlanRequest) returns (FindEnabledUserPlanResponse);
 | 
			
		||||
@@ -28,16 +31,26 @@ service UserPlanService {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 添加已购套餐
 | 
			
		||||
message CreateUserPlanRequest{
 | 
			
		||||
message BuyUserPlanRequest{
 | 
			
		||||
	int64 userId = 1;
 | 
			
		||||
	int64 planId = 2;
 | 
			
		||||
	string dayTo = 3;
 | 
			
		||||
	string period = 4;
 | 
			
		||||
	int32  countPeriod = 5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CreateUserPlanResponse {
 | 
			
		||||
message BuyUserPlanResponse {
 | 
			
		||||
	int64 userPlanId = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 续费套餐
 | 
			
		||||
message RenewUserPlanRequest {
 | 
			
		||||
	int64 userPlanId = 1;
 | 
			
		||||
	string dayTo = 3;
 | 
			
		||||
	string period = 4;
 | 
			
		||||
	int32  countPeriod = 5;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 查找单个已购套餐信息
 | 
			
		||||
message FindEnabledUserPlanRequest {
 | 
			
		||||
	int64 userPlanId = 1;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										78
									
								
								pkg/userconfigs/account_events.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								pkg/userconfigs/account_events.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
			
		||||
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
			
		||||
 | 
			
		||||
package userconfigs
 | 
			
		||||
 | 
			
		||||
// 所有账户相关的事件类型
 | 
			
		||||
 | 
			
		||||
type AccountEventType = string
 | 
			
		||||
 | 
			
		||||
const (
 | 
			
		||||
	AccountEventTypeCharge   AccountEventType = "charge"   // 充值
 | 
			
		||||
	AccountEventTypeAward    AccountEventType = "award"    // 赠送
 | 
			
		||||
	AccountEventTypeBuyPlan  AccountEventType = "buyPlan"  // 购买套餐
 | 
			
		||||
	AccountEventTypePayBill  AccountEventType = "payBill"  // 支付账单
 | 
			
		||||
	AccountEventTypeRefund   AccountEventType = "refund"   // 退款
 | 
			
		||||
	AccountEventTypeWithdraw AccountEventType = "withdraw" // 提现
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type AccountEvent struct {
 | 
			
		||||
	Name        string           `json:"name"`        // 名称
 | 
			
		||||
	Code        AccountEventType `json:"code"`        // 代号
 | 
			
		||||
	Description string           `json:"description"` // 描述
 | 
			
		||||
	IsPositive  bool             `json:"isPositive"`  // 是否为正向
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var AccountIncomeEventTypes = []AccountEventType{AccountEventTypeCharge}    // 收入
 | 
			
		||||
var AccountExpenseEventTypes = []AccountEventType{AccountEventTypeWithdraw} // 支出
 | 
			
		||||
 | 
			
		||||
// FindAllAccountEventTypes 查找所有的事件类型
 | 
			
		||||
func FindAllAccountEventTypes() []*AccountEvent {
 | 
			
		||||
	return []*AccountEvent{
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "充值",
 | 
			
		||||
			Code:        AccountEventTypeCharge,
 | 
			
		||||
			Description: "为用户账户充值。",
 | 
			
		||||
			IsPositive:  true,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "赠送",
 | 
			
		||||
			Code:        AccountEventTypeAward,
 | 
			
		||||
			Description: "为用户账户赠送余额。",
 | 
			
		||||
			IsPositive:  true,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "购买套餐",
 | 
			
		||||
			Code:        AccountEventTypeBuyPlan,
 | 
			
		||||
			Description: "购买套餐支出。",
 | 
			
		||||
			IsPositive:  false,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "支付账单",
 | 
			
		||||
			Code:        AccountEventTypePayBill,
 | 
			
		||||
			Description: "支付账单支出。",
 | 
			
		||||
			IsPositive:  false,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "退款",
 | 
			
		||||
			Code:        AccountEventTypeRefund,
 | 
			
		||||
			Description: "退款到用户账户。",
 | 
			
		||||
			IsPositive:  true,
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			Name:        "提现",
 | 
			
		||||
			Code:        AccountEventTypeWithdraw,
 | 
			
		||||
			Description: "用户从账户提现。",
 | 
			
		||||
			IsPositive:  false,
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FindAccountEvent 根据事件类型查找事件定义
 | 
			
		||||
func FindAccountEvent(eventType AccountEventType) *AccountEvent {
 | 
			
		||||
	for _, e := range FindAllAccountEventTypes() {
 | 
			
		||||
		if e.Code == eventType {
 | 
			
		||||
			return e
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user