wfz 3 роки тому
батько
коміт
b70ac98a59

+ 139 - 129
api/account/account.pb.go

@@ -273,6 +273,7 @@ type IdentityInfo struct {
 	Pid        string `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid"`
 	Type       string `protobuf:"bytes,2,opt,name=type,proto3" json:"type"`
 	IdentityID int64  `protobuf:"varint,3,opt,name=identityID,proto3" json:"identityID"`
+	OpenId     string `protobuf:"bytes,4,opt,name=openId,proto3" json:"openId"`
 }
 
 func (x *IdentityInfo) Reset() {
@@ -328,6 +329,13 @@ func (x *IdentityInfo) GetIdentityID() int64 {
 	return 0
 }
 
+func (x *IdentityInfo) GetOpenId() string {
+	if x != nil {
+		return x.OpenId
+	}
+	return ""
+}
+
 type UserInfoDB struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -761,140 +769,142 @@ var file_account_proto_rawDesc = []byte{
 	0x70, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
 	0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65,
 	0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0x54, 0x0a, 0x0c, 0x49, 0x64, 0x65,
+	0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0x6c, 0x0a, 0x0c, 0x49, 0x64, 0x65,
 	0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64,
 	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74,
 	0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
 	0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x44, 0x18, 0x03, 0x20,
-	0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x44, 0x22,
-	0x96, 0x01, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x42, 0x12, 0x0e,
-	0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a,
-	0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76,
-	0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61,
-	0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e,
-	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x10,
-	0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78,
-	0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
-	0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72,
-	0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x44, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
-	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69,
-	0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69,
-	0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72,
-	0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61,
-	0x72, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65,
-	0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06,
-	0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x72,
-	0x65, 0x64, 0x69, 0x74, 0x22, 0x78, 0x0a, 0x14, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a,
-	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06,
-	0x6a, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x73,
-	0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79,
-	0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e,
-	0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01,
-	0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x38,
-	0x0a, 0x0a, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05,
-	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b,
-	0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x11, 0x44, 0x65, 0x62, 0x75,
-	0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
-	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
-	0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64,
-	0x65, 0x22, 0x32, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12,
-	0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69,
-	0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x04, 0x74, 0x79, 0x70, 0x65, 0x32, 0xd5, 0x0a, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
-	0x74, 0x12, 0x62, 0x0a, 0x0a, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12,
-	0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65,
-	0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f,
-	0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15,
-	0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x62,
-	0x75, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
-	0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63,
-	0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69,
-	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69,
-	0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61,
-	0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12, 0x6e, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
-	0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e,
-	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x64,
-	0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
-	0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x63, 0x6b,
-	0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x68, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x64, 0x6f,
-	0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, 0x70,
-	0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
-	0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4,
-	0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x3a, 0x01,
-	0x2a, 0x12, 0x5c, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
-	0x42, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44,
-	0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f,
-	0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75,
-	0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12,
-	0x4d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79,
-	0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x64, 0x50, 0x49, 0x44, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61,
-	0x72, 0x61, 0x6d, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
-	0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60,
-	0x0a, 0x1f, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x46,
-	0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49,
-	0x44, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e,
-	0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f,
-	0x75, 0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f,
-	0x12, 0x40, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42,
-	0x79, 0x53, 0x65, 0x78, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79,
-	0x49, 0x44, 0x73, 0x12, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
-	0x2e, 0x49, 0x64, 0x73, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
-	0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x70,
-	0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63,
+	0x01, 0x28, 0x03, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x44, 0x12,
+	0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72,
+	0x49, 0x6e, 0x66, 0x6f, 0x44, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
+	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+	0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+	0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18,
+	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c,
+	0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+	0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20,
+	0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x64,
+	0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74,
+	0x22, 0x99, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
+	0x44, 0x42, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
+	0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c,
+	0x0a, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
+	0x09, 0x52, 0x09, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05,
+	0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f,
+	0x6e, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
+	0x03, 0x73, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x18, 0x06,
+	0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x22, 0x78, 0x0a, 0x14,
+	0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05,
+	0x61, 0x70, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70,
+	0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
+	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x72, 0x6f, 0x6d, 0x4f, 0x70,
+	0x65, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x72, 0x6f, 0x6d,
+	0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x0a, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
+	0x65, 0x70, 0x6c, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70,
+	0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x64,
+	0x22, 0x37, 0x0a, 0x11, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+	0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20,
+	0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x32, 0x0a, 0x0a, 0x4c, 0x6f, 0x67,
+	0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01,
+	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x70, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
+	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x32, 0xd5, 0x0a,
+	0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x0a, 0x44, 0x65, 0x62,
+	0x75, 0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c,
+	0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0x70, 0x0a,
+	0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21,
+	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74,
+	0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e,
+	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93,
+	0x02, 0x1d, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x2f, 0x61,
+	0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x01, 0x2a, 0x12,
+	0x6e, 0x0a, 0x0e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d,
 	0x65, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53,
-	0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75,
-	0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22,
-	0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x6e,
-	0x64, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x3a, 0x01, 0x2a,
-	0x12, 0x74, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69,
-	0x61, 0x6c, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63,
-	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x49, 0x44, 0x1a, 0x19, 0x2e,
-	0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x65,
-	0x72, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26,
-	0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61,
-	0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x6f,
-	0x69, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x41, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65,
-	0x6d, 0x65, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
-	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
-	0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x46, 0x69, 0x6e,
-	0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69,
-	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74,
-	0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61,
-	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f,
-	0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x0a, 0x52, 0x61, 0x6e,
-	0x64, 0x6f, 0x6d, 0x4d, 0x65, 0x6d, 0x65, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
-	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x1a, 0x1a,
-	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
-	0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x12,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x77, 0x69, 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
-	0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
-	0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a,
-	0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d,
-	0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x42, 0x46, 0x0a,
-	0x0b, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x01, 0x5a, 0x35,
-	0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73,
-	0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
-	0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x61, 0x63,
-	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x69, 0x63, 0x6b, 0x6e, 0x61,
+	0x6d, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x22,
+	0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x6e,
+	0x64, 0x6f, 0x6d, 0x2f, 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x01, 0x2a, 0x12,
+	0x68, 0x0a, 0x0c, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12,
+	0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78,
+	0x52, 0x65, 0x71, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
+	0x74, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, 0x52, 0x65,
+	0x70, 0x6c, 0x79, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x61, 0x70,
+	0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f,
+	0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0x5c, 0x0a, 0x1b, 0x47, 0x65, 0x74,
+	0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44,
+	0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61,
+	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e, 0x64,
+	0x41, 0x70, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74,
+	0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x4d, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x49, 0x64,
+	0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65, 0x41, 0x6e, 0x64, 0x50,
+	0x49, 0x44, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x1a, 0x19, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69,
+	0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x60, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x49, 0x64, 0x65,
+	0x6e, 0x74, 0x69, 0x74, 0x79, 0x42, 0x79, 0x46, 0x72, 0x6f, 0x6d, 0x4f, 0x70, 0x65, 0x6e, 0x49,
+	0x44, 0x41, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x41, 0x6e,
+	0x64, 0x41, 0x70, 0x70, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x64, 0x65, 0x6e,
+	0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x40, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64,
+	0x54, 0x61, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x53, 0x65, 0x78, 0x12, 0x12, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71,
+	0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61,
+	0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x3a, 0x0a, 0x0d, 0x46, 0x69,
+	0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x42, 0x79, 0x49, 0x44, 0x73, 0x12, 0x0f, 0x2e, 0x61, 0x70,
+	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x49, 0x64, 0x73, 0x1a, 0x18, 0x2e, 0x61,
+	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x61, 0x67, 0x4c, 0x69, 0x73,
+	0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x70, 0x0a, 0x0f, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d,
+	0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x12, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x78, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e,
+	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f,
+	0x6d, 0x49, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x69, 0x6e, 0x74, 0x72,
+	0x6f, 0x64, 0x75, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x74, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f,
+	0x61, 0x64, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x12,
+	0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x65,
+	0x64, 0x69, 0x61, 0x49, 0x44, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63, 0x6f,
+	0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x6e, 0x6b,
+	0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
+	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2f, 0x75,
+	0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2f, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x41,
+	0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x4d, 0x65, 0x6d, 0x65, 0x42, 0x79, 0x54, 0x79, 0x70, 0x65,
+	0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65,
+	0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e,
+	0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x6d, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22,
+	0x00, 0x12, 0x4e, 0x0a, 0x0d, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70,
+	0x69, 0x63, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
+	0x46, 0x69, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+	0x6e, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x22,
+	0x00, 0x12, 0x41, 0x0a, 0x0a, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4d, 0x65, 0x6d, 0x65, 0x12,
+	0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e,
+	0x64, 0x6f, 0x6d, 0x4e, 0x75, 0x6d, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
+	0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c, 0x69,
+	0x73, 0x74, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x12, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x77,
+	0x69, 0x66, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69,
+	0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x4e, 0x75,
+	0x6d, 0x41, 0x6e, 0x64, 0x53, 0x65, 0x78, 0x1a, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
+	0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x54, 0x65, 0x78, 0x74, 0x4c,
+	0x69, 0x73, 0x74, 0x22, 0x00, 0x42, 0x46, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x2e, 0x61, 0x63, 0x63,
+	0x6f, 0x75, 0x6e, 0x74, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x2e, 0x69, 0x6b, 0x75, 0x62,
+	0x61, 0x6e, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x70, 0x77,
+	0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63,
+	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x62, 0x06, 0x70,
+	0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (

+ 1 - 0
api/account/account.proto

@@ -96,6 +96,7 @@ message IdentityInfo{
   string pid = 1;
   string type = 2;
   int64 identityID = 3;
+  string openId = 4;
 }
 
 message UserInfoDB{

Різницю між файлами не показано, бо вона завелика
+ 1247 - 542
api/user/user.pb.go


+ 79 - 0
api/user/user.proto

@@ -5,6 +5,7 @@ package api.user;
 import "google/api/annotations.proto";
 //import "google/protobuf/struct.proto";
 import "google/protobuf/empty.proto";
+import "google/protobuf/struct.proto";
 import "api/chat/chat.proto";
 import "api/common/common.proto";
 import "api/statistics/statistics.proto";
@@ -279,6 +280,43 @@ service User {
       body:"*"
     };
   };
+  // 用户充值
+  rpc UserRecharge (UserRechargeRequest) returns (PayInfo){
+    option (google.api.http) = {
+      post: "/api/user/recharge",
+      body:"*"
+    };
+  };
+  // 充值套餐列表
+  rpc FindRechargeList (google.protobuf.Empty) returns (RechargeList){
+    option (google.api.http) = {
+      post: "/api/user/recharge/list",
+      body:"*"
+    };
+  };
+  // 用户充值记录列表
+  rpc FindPayList (FindPayOrderListRequest) returns (PayOrderList){
+    option (google.api.http) = {
+      post: "/api/user/pay/list",
+      body:"*"
+    };
+  };
+}
+
+message UserRechargeRequest{
+  int64 RechargeTemplateId = 1;// 充值套餐ID
+}
+message RechargeList{
+  repeated RechargeInfo list = 1;
+}
+
+message RechargeInfo{
+  int64 id = 1;
+  int64 price = 2;
+  int64 credit = 3;// 积分
+  int64 giveCredit = 4;// 赠送的积分
+  string description = 5;// 描述
+  string title = 6;// 标题
 }
 
 message InformationStatus{
@@ -330,4 +368,45 @@ message UserInfo{
 
 message KeyRequest{
   string key = 1;
+}
+
+message CreatePayRequest{
+  int64 money = 1; // 支付金额 单位 分
+  string type = 2; // 类型
+  string openId = 3;
+  string description = 4;
+  string attach = 5;
+}
+
+message PayInfo{
+  google.protobuf.Value payInfo = 1;
+  int64 orderId = 2;
+}
+
+message PayOrderInfo{
+  string userID = 1;
+  int64 orderID = 2; // 订单的唯一ID
+  int64 money = 3; // 支付金额 ,单位分
+  string type = 4; // 类型
+  string TransactionID = 5;
+  string openId = 6;
+  string description = 7;
+  string status = 9;// 状态
+  int64 payTime = 10;// 支付时间
+  int64 createTime = 11;// 创建时间
+}
+
+message PayOrderList{
+  repeated PayOrderInfo list = 1;
+  int64 nextId = 2;
+}
+
+message FindPayOrderListRequest{
+  int64 nextId = 1;
+  int64 offset = 2;
+  string status = 3;
+}
+
+message PayCallbackReply{
+  bytes result = 1;
 }

+ 114 - 0
api/user/user_grpc.pb.go

@@ -101,6 +101,12 @@ type UserClient interface {
 	UserSetBlackChat(ctx context.Context, in *common.RoomIDRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
 	// 聊天话题分类名
 	FindChatTopicTitle(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*common.MemeTitleList, error)
+	// 用户充值
+	UserRecharge(ctx context.Context, in *UserRechargeRequest, opts ...grpc.CallOption) (*PayInfo, error)
+	// 充值套餐列表
+	FindRechargeList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RechargeList, error)
+	// 用户充值记录列表
+	FindPayList(ctx context.Context, in *FindPayOrderListRequest, opts ...grpc.CallOption) (*PayOrderList, error)
 }
 
 type userClient struct {
@@ -471,6 +477,33 @@ func (c *userClient) FindChatTopicTitle(ctx context.Context, in *emptypb.Empty,
 	return out, nil
 }
 
+func (c *userClient) UserRecharge(ctx context.Context, in *UserRechargeRequest, opts ...grpc.CallOption) (*PayInfo, error) {
+	out := new(PayInfo)
+	err := c.cc.Invoke(ctx, "/api.user.User/UserRecharge", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *userClient) FindRechargeList(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*RechargeList, error) {
+	out := new(RechargeList)
+	err := c.cc.Invoke(ctx, "/api.user.User/FindRechargeList", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *userClient) FindPayList(ctx context.Context, in *FindPayOrderListRequest, opts ...grpc.CallOption) (*PayOrderList, error) {
+	out := new(PayOrderList)
+	err := c.cc.Invoke(ctx, "/api.user.User/FindPayList", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // UserServer is the server API for User service.
 // All implementations must embed UnimplementedUserServer
 // for forward compatibility
@@ -554,6 +587,12 @@ type UserServer interface {
 	UserSetBlackChat(context.Context, *common.RoomIDRequest) (*emptypb.Empty, error)
 	// 聊天话题分类名
 	FindChatTopicTitle(context.Context, *emptypb.Empty) (*common.MemeTitleList, error)
+	// 用户充值
+	UserRecharge(context.Context, *UserRechargeRequest) (*PayInfo, error)
+	// 充值套餐列表
+	FindRechargeList(context.Context, *emptypb.Empty) (*RechargeList, error)
+	// 用户充值记录列表
+	FindPayList(context.Context, *FindPayOrderListRequest) (*PayOrderList, error)
 	mustEmbedUnimplementedUserServer()
 }
 
@@ -681,6 +720,15 @@ func (UnimplementedUserServer) UserSetBlackChat(context.Context, *common.RoomIDR
 func (UnimplementedUserServer) FindChatTopicTitle(context.Context, *emptypb.Empty) (*common.MemeTitleList, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method FindChatTopicTitle not implemented")
 }
+func (UnimplementedUserServer) UserRecharge(context.Context, *UserRechargeRequest) (*PayInfo, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UserRecharge not implemented")
+}
+func (UnimplementedUserServer) FindRechargeList(context.Context, *emptypb.Empty) (*RechargeList, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FindRechargeList not implemented")
+}
+func (UnimplementedUserServer) FindPayList(context.Context, *FindPayOrderListRequest) (*PayOrderList, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method FindPayList not implemented")
+}
 func (UnimplementedUserServer) mustEmbedUnimplementedUserServer() {}
 
 // UnsafeUserServer may be embedded to opt out of forward compatibility for this service.
@@ -1414,6 +1462,60 @@ func _User_FindChatTopicTitle_Handler(srv interface{}, ctx context.Context, dec
 	return interceptor(ctx, in, info, handler)
 }
 
+func _User_UserRecharge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UserRechargeRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).UserRecharge(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/UserRecharge",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).UserRecharge(ctx, req.(*UserRechargeRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _User_FindRechargeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(emptypb.Empty)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).FindRechargeList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/FindRechargeList",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).FindRechargeList(ctx, req.(*emptypb.Empty))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _User_FindPayList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(FindPayOrderListRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(UserServer).FindPayList(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/api.user.User/FindPayList",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(UserServer).FindPayList(ctx, req.(*FindPayOrderListRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // User_ServiceDesc is the grpc.ServiceDesc for User service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -1581,6 +1683,18 @@ var User_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "FindChatTopicTitle",
 			Handler:    _User_FindChatTopicTitle_Handler,
 		},
+		{
+			MethodName: "UserRecharge",
+			Handler:    _User_UserRecharge_Handler,
+		},
+		{
+			MethodName: "FindRechargeList",
+			Handler:    _User_FindRechargeList_Handler,
+		},
+		{
+			MethodName: "FindPayList",
+			Handler:    _User_FindPayList_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "user.proto",

+ 129 - 0
api/user/user_http.pb.go

@@ -44,6 +44,8 @@ type UserHTTPServer interface {
 	FindMemeTitle(context.Context, *emptypb.Empty) (*common.MemeTitleList, error)
 	FindOnlineList(context.Context, *common.ListPage2Request) (*common.OnlinePersonListReply, error)
 	FindOverSevenDayRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
+	FindPayList(context.Context, *FindPayOrderListRequest) (*PayOrderList, error)
+	FindRechargeList(context.Context, *emptypb.Empty) (*RechargeList, error)
 	FindTagListBySex(context.Context, *common.SexReq) (*common.TagListReply, error)
 	FindWithinSevenDayRoomList(context.Context, *common.ListPageRequest) (*UserFindChatListReply, error)
 	GetLookAndLikeStatisticsMessage(context.Context, *emptypb.Empty) (*statistics.LookAndLikeMessageReply, error)
@@ -64,6 +66,7 @@ type UserHTTPServer interface {
 	UserGetPersonLikedAndLooked(context.Context, *common.PersonParam) (*common.LookedAndLikedNum, error)
 	UserInformationStatus(context.Context, *emptypb.Empty) (*InformationStatus, error)
 	UserLike(context.Context, *common.PersonParam) (*emptypb.Empty, error)
+	UserRecharge(context.Context, *UserRechargeRequest) (*PayInfo, error)
 	UserSetBlackChat(context.Context, *common.RoomIDRequest) (*emptypb.Empty, error)
 	UserUnLike(context.Context, *common.PersonParam) (*emptypb.Empty, error)
 	WxConf(context.Context, *common.WxConfReq) (*common.WxConfResponse, error)
@@ -108,6 +111,9 @@ func RegisterUserHTTPServer(s *http.Server, srv UserHTTPServer) {
 	r.POST("/api/user/find/meme/title", _User_FindMemeTitle0_HTTP_Handler(srv))
 	r.POST("/api/user/set/black", _User_UserSetBlackChat0_HTTP_Handler(srv))
 	r.POST("/api/user/find/chat/title", _User_FindChatTopicTitle0_HTTP_Handler(srv))
+	r.POST("/api/user/recharge", _User_UserRecharge0_HTTP_Handler(srv))
+	r.POST("/api/user/recharge/list", _User_FindRechargeList0_HTTP_Handler(srv))
+	r.POST("/api/user/pay/list", _User_FindPayList0_HTTP_Handler(srv))
 }
 
 func _User_UpdateUserInformation0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
@@ -1109,6 +1115,87 @@ func _User_FindChatTopicTitle0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Co
 	}
 }
 
+func _User_UserRecharge0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
+	return func(ctx http.Context) error {
+		var in UserRechargeRequest
+		if err := ctx.Bind(&in); err != nil {
+			return err
+		}
+		if err := ctx.BindQuery(&in); err != nil {
+			return err
+		}
+		http.SetOperation(ctx, "/api.user.User/UserRecharge")
+		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
+			return srv.UserRecharge(ctx, req.(*UserRechargeRequest))
+		})
+		out, err := h(ctx, &in)
+		if err != nil {
+			return err
+		}
+		success := &reply.SuccessReply{
+			Code: 0,
+		}
+		if out != nil {
+			success.Data = out
+		}
+		return ctx.Result(200, success)
+	}
+}
+
+func _User_FindRechargeList0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
+	return func(ctx http.Context) error {
+		var in emptypb.Empty
+		if err := ctx.Bind(&in); err != nil {
+			return err
+		}
+		if err := ctx.BindQuery(&in); err != nil {
+			return err
+		}
+		http.SetOperation(ctx, "/api.user.User/FindRechargeList")
+		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
+			return srv.FindRechargeList(ctx, req.(*emptypb.Empty))
+		})
+		out, err := h(ctx, &in)
+		if err != nil {
+			return err
+		}
+		success := &reply.SuccessReply{
+			Code: 0,
+		}
+		if out != nil {
+			success.Data = out
+		}
+		return ctx.Result(200, success)
+	}
+}
+
+func _User_FindPayList0_HTTP_Handler(srv UserHTTPServer) func(ctx http.Context) error {
+	return func(ctx http.Context) error {
+		var in FindPayOrderListRequest
+		if err := ctx.Bind(&in); err != nil {
+			return err
+		}
+		if err := ctx.BindQuery(&in); err != nil {
+			return err
+		}
+		http.SetOperation(ctx, "/api.user.User/FindPayList")
+		h := ctx.Middleware(func(ctx context.Context, req interface{}) (interface{}, error) {
+			return srv.FindPayList(ctx, req.(*FindPayOrderListRequest))
+		})
+		out, err := h(ctx, &in)
+		if err != nil {
+			return err
+		}
+		success := &reply.SuccessReply{
+			Code: 0,
+		}
+		if out != nil {
+			success.Data = out
+		}
+		return ctx.Result(200, success)
+	}
+}
+
 type UserHTTPClient interface {
 	CheckPhoneCode(ctx context.Context, req *common.CheckPhoneCodeRequest, opts ...http.CallOption) (rsp *emptypb.Empty, err error)
 	CheckUserPartnerIsRelationship(ctx context.Context, req *common.PartnerIDParam, opts ...http.CallOption) (rsp *chat.CheckUserPartnerIsRelationshipReply, err error)
@@ -1124,6 +1211,8 @@ type UserHTTPClient interface {
 	FindMemeTitle(ctx context.Context, req *emptypb.Empty, opts ...http.CallOption) (rsp *common.MemeTitleList, err error)
 	FindOnlineList(ctx context.Context, req *common.ListPage2Request, opts ...http.CallOption) (rsp *common.OnlinePersonListReply, err error)
 	FindOverSevenDayRoomList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *UserFindChatListReply, err error)
+	FindPayList(ctx context.Context, req *FindPayOrderListRequest, opts ...http.CallOption) (rsp *PayOrderList, err error)
+	FindRechargeList(ctx context.Context, req *emptypb.Empty, opts ...http.CallOption) (rsp *RechargeList, err error)
 	FindTagListBySex(ctx context.Context, req *common.SexReq, opts ...http.CallOption) (rsp *common.TagListReply, err error)
 	FindWithinSevenDayRoomList(ctx context.Context, req *common.ListPageRequest, opts ...http.CallOption) (rsp *UserFindChatListReply, err error)
 	GetLookAndLikeStatisticsMessage(ctx context.Context, req *emptypb.Empty, opts ...http.CallOption) (rsp *statistics.LookAndLikeMessageReply, err error)
@@ -1144,6 +1233,7 @@ type UserHTTPClient interface {
 	UserGetPersonLikedAndLooked(ctx context.Context, req *common.PersonParam, opts ...http.CallOption) (rsp *common.LookedAndLikedNum, err error)
 	UserInformationStatus(ctx context.Context, req *emptypb.Empty, opts ...http.CallOption) (rsp *InformationStatus, err error)
 	UserLike(ctx context.Context, req *common.PersonParam, opts ...http.CallOption) (rsp *emptypb.Empty, err error)
+	UserRecharge(ctx context.Context, req *UserRechargeRequest, opts ...http.CallOption) (rsp *PayInfo, err error)
 	UserSetBlackChat(ctx context.Context, req *common.RoomIDRequest, opts ...http.CallOption) (rsp *emptypb.Empty, err error)
 	UserUnLike(ctx context.Context, req *common.PersonParam, opts ...http.CallOption) (rsp *emptypb.Empty, err error)
 	WxConf(ctx context.Context, req *common.WxConfReq, opts ...http.CallOption) (rsp *common.WxConfResponse, err error)
@@ -1339,6 +1429,32 @@ func (c *UserHTTPClientImpl) FindOverSevenDayRoomList(ctx context.Context, in *c
 	return &out, err
 }
 
+func (c *UserHTTPClientImpl) FindPayList(ctx context.Context, in *FindPayOrderListRequest, opts ...http.CallOption) (*PayOrderList, error) {
+	var out PayOrderList
+	pattern := "/api/user/pay/list"
+	path := binding.EncodeURL(pattern, in, false)
+	opts = append(opts, http.Operation("/api.user.User/FindPayList"))
+	opts = append(opts, http.PathTemplate(pattern))
+	err := c.cc.Invoke(ctx, "POST", path, in, &out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &out, err
+}
+
+func (c *UserHTTPClientImpl) FindRechargeList(ctx context.Context, in *emptypb.Empty, opts ...http.CallOption) (*RechargeList, error) {
+	var out RechargeList
+	pattern := "/api/user/recharge/list"
+	path := binding.EncodeURL(pattern, in, false)
+	opts = append(opts, http.Operation("/api.user.User/FindRechargeList"))
+	opts = append(opts, http.PathTemplate(pattern))
+	err := c.cc.Invoke(ctx, "POST", path, in, &out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &out, err
+}
+
 func (c *UserHTTPClientImpl) FindTagListBySex(ctx context.Context, in *common.SexReq, opts ...http.CallOption) (*common.TagListReply, error) {
 	var out common.TagListReply
 	pattern := "/api/user/list/tag"
@@ -1599,6 +1715,19 @@ func (c *UserHTTPClientImpl) UserLike(ctx context.Context, in *common.PersonPara
 	return &out, err
 }
 
+func (c *UserHTTPClientImpl) UserRecharge(ctx context.Context, in *UserRechargeRequest, opts ...http.CallOption) (*PayInfo, error) {
+	var out PayInfo
+	pattern := "/api/user/recharge"
+	path := binding.EncodeURL(pattern, in, false)
+	opts = append(opts, http.Operation("/api.user.User/UserRecharge"))
+	opts = append(opts, http.PathTemplate(pattern))
+	err := c.cc.Invoke(ctx, "POST", path, in, &out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return &out, err
+}
+
 func (c *UserHTTPClientImpl) UserSetBlackChat(ctx context.Context, in *common.RoomIDRequest, opts ...http.CallOption) (*emptypb.Empty, error) {
 	var out emptypb.Empty
 	pattern := "/api/user/set/black"

+ 9 - 0
define/user.go

@@ -4,3 +4,12 @@ var (
 	TypeKeywordQuestion = "question"
 	TypeKeywordAnswer   = "answer"
 )
+
+var (
+	PayStatusWait    = "wait"
+	PayStatusSuccess = "success"
+)
+
+var (
+	PayTypeRecharge = "recharge"
+)

+ 1 - 0
errors/user.go

@@ -7,4 +7,5 @@ var (
 	ErrorUserNotFinishInformation = codes.Error(30002, "用户未完善资料")
 	ErrorUserCreditNotEnough      = codes.Error(30003, "用户余额不足,请及时充值")
 	ErrorSendMessageUserNotFind   = codes.Error(30004, "发送信息的用户不存在")
+	ErrorRechargeNotFind          = codes.Error(30005, "充值套餐不存在")
 )

+ 1 - 0
js/api/account/account_pb.ts

@@ -18,6 +18,7 @@ export interface IdentityInfo{
     pid?:string;
     type?:string;
     identityID?:number;
+    openId?:string;
 }
 export interface UserInfoDB{
     /**  id */

+ 16 - 1
js/api/user/user_http_pb.ts

@@ -1,7 +1,7 @@
 // @ts-ignore
 import request from '@/libs/request';
 import {UpdateInformationRequest,PersonIDParam,PersonMsg,SendPhoneCodeRequest,CheckPhoneCodeRequest,PartnerIDParam,PersonParam,AddFriendMessageInfo,HomeInfo,PersonIDList,PersonDBReply,ListPageRequest,WxConfReq,WxConfResponse,SexReq,TagListReply,ListPage2Request,OnlinePersonListReply,LookedAndLikedNum,FindChatRecordListRequest,ChatRecordListReply,FindChatRoomMsgRequest,ChatRoomMsg,IsLike,ChatCardInfo,MemeRequest,MemeList,FindChatTopicRequest,ChatTopicList,RandomNum,CommonTextList,RandomNumAndSex,MemeTitleList,RoomIDRequest} from "../common/common_pb";
-import {UserInfo,KeyRequest,UserFindChatListReply,UserBalance,InformationStatus} from "./user_pb";
+import {UserInfo,KeyRequest,UserFindChatListReply,UserBalance,InformationStatus,UserRechargeRequest,PayInfo,RechargeList,FindPayOrderListRequest,PayOrderList} from "./user_pb";
 import {CheckUserPartnerIsRelationshipReply,RoomReply} from "../chat/chat_pb";
 import {LookAndLikeListReply,LookAndLikeMessageReply,LookMessageReply} from "../statistics/statistics_pb";
 
@@ -191,6 +191,21 @@ const UserService = {
 	const res = await request.post<{ data: MemeTitleList, code: string, message: string }>('/api/user/find/chat/title', req);
     return res.data.data;
   },
+  /**  用户充值 */
+  UserRecharge: async (req?: UserRechargeRequest) => {
+	const res = await request.post<{ data: PayInfo, code: string, message: string }>('/api/user/recharge', req);
+    return res.data.data;
+  },
+  /**  充值套餐列表 */
+  FindRechargeList: async (req?: undefined) => {
+	const res = await request.post<{ data: RechargeList, code: string, message: string }>('/api/user/recharge/list', req);
+    return res.data.data;
+  },
+  /**  用户充值记录列表 */
+  FindPayList: async (req?: FindPayOrderListRequest) => {
+	const res = await request.post<{ data: PayOrderList, code: string, message: string }>('/api/user/pay/list', req);
+    return res.data.data;
+  },
 
 };
 

+ 62 - 0
js/api/user/user_pb.ts

@@ -1,3 +1,22 @@
+export interface UserRechargeRequest{
+    /**  充值套餐ID */
+    RechargeTemplateId?:number;
+}
+export interface RechargeList{
+    list?:Array<RechargeInfo>;
+}
+export interface RechargeInfo{
+    id?:number;
+    price?:number;
+    /**  积分 */
+    credit?:number;
+    /**  赠送的积分 */
+    giveCredit?:number;
+    /**  描述 */
+    description?:string;
+    /**  标题 */
+    title?:string;
+}
 export interface InformationStatus{
     /** 是否完善资料 */
     isFinishInformation?:boolean;
@@ -69,4 +88,47 @@ export interface UserInfo{
 export interface KeyRequest{
     key?:string;
 }
+export interface CreatePayRequest{
+    /**  支付金额 单位 分 */
+    money?:number;
+    /**  类型 */
+    type?:string;
+    openId?:string;
+    description?:string;
+    attach?:string;
+}
+export interface PayInfo{
+    payInfo?:object;
+    orderId?:number;
+}
+export interface PayOrderInfo{
+    userID?:string;
+    /**  订单的唯一ID */
+    orderID?:number;
+    /**  支付金额 ,单位分 */
+    money?:number;
+    /**  类型 */
+    type?:string;
+    TransactionID?:string;
+    openId?:string;
+    description?:string;
+    /**  状态 */
+    status?:string;
+    /**  支付时间 */
+    payTime?:number;
+    /**  创建时间 */
+    createTime?:number;
+}
+export interface PayOrderList{
+    list?:Array<PayOrderInfo>;
+    nextId?:number;
+}
+export interface FindPayOrderListRequest{
+    nextId?:number;
+    offset?:number;
+    status?:string;
+}
+export interface PayCallbackReply{
+    result?:any;
+}
 

Деякі файли не було показано, через те що забагато файлів було змінено