Compare commits
23 Commits
a01a3fa763
...
1456264d1e
Author | SHA1 | Date | |
---|---|---|---|
1456264d1e | |||
fc73a6c806 | |||
21a88e5418 | |||
40f8c1392b | |||
817ec9cb11 | |||
584b4b558a | |||
904bee84bb | |||
838e55ccb2 | |||
9fda485552 | |||
bd813dfb38 | |||
ea79c8d734 | |||
640f303aec | |||
90e942e61f | |||
ee9737442f | |||
d843145c0e | |||
ccead6dc90 | |||
8128f0e90a | |||
93065cb890 | |||
962ab2b152 | |||
0436c7ee39 | |||
d319e24c8b | |||
fe437e57e7 | |||
a5a40851b3 |
@ -34,11 +34,14 @@ type RegisterInfo struct {
|
|||||||
PhoneNum string `protobuf:"bytes,5,opt,name=phoneNum,proto3" json:"phoneNum"`
|
PhoneNum string `protobuf:"bytes,5,opt,name=phoneNum,proto3" json:"phoneNum"`
|
||||||
IdCard string `protobuf:"bytes,6,opt,name=idCard,proto3" json:"idCard"`
|
IdCard string `protobuf:"bytes,6,opt,name=idCard,proto3" json:"idCard"`
|
||||||
Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address"`
|
Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address"`
|
||||||
IdCardPhoto string `protobuf:"bytes,8,opt,name=idCardPhoto,proto3" json:"idCardPhoto"`
|
Address1 string `protobuf:"bytes,8,opt,name=address1,proto3" json:"address1"`
|
||||||
IdCardBackPhoto string `protobuf:"bytes,9,opt,name=idCardBackPhoto,proto3" json:"idCardBackPhoto"`
|
IdCardPhoto string `protobuf:"bytes,9,opt,name=idCardPhoto,proto3" json:"idCardPhoto"`
|
||||||
ArtistPhoto string `protobuf:"bytes,10,opt,name=artistPhoto,proto3" json:"artistPhoto"`
|
IdCardBackPhoto string `protobuf:"bytes,10,opt,name=idCardBackPhoto,proto3" json:"idCardBackPhoto"`
|
||||||
CreatedAt string `protobuf:"bytes,11,opt,name=createdAt,proto3" json:"createdAt"`
|
ArtistPhoto string `protobuf:"bytes,11,opt,name=artistPhoto,proto3" json:"artistPhoto"`
|
||||||
UpdatedAt string `protobuf:"bytes,12,opt,name=updatedAt,proto3" json:"updatedAt"`
|
CreatedAt string `protobuf:"bytes,12,opt,name=createdAt,proto3" json:"createdAt"`
|
||||||
|
UpdatedAt string `protobuf:"bytes,13,opt,name=updatedAt,proto3" json:"updatedAt"`
|
||||||
|
IdCardStartDate string `protobuf:"bytes,14,opt,name=idCardStartDate,proto3" json:"idCardStartDate"`
|
||||||
|
IdCardEndDate string `protobuf:"bytes,15,opt,name=idCardEndDate,proto3" json:"idCardEndDate"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RegisterInfo) Reset() {
|
func (x *RegisterInfo) Reset() {
|
||||||
@ -122,6 +125,13 @@ func (x *RegisterInfo) GetAddress() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *RegisterInfo) GetAddress1() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Address1
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func (x *RegisterInfo) GetIdCardPhoto() string {
|
func (x *RegisterInfo) GetIdCardPhoto() string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.IdCardPhoto
|
return x.IdCardPhoto
|
||||||
@ -157,6 +167,20 @@ func (x *RegisterInfo) GetUpdatedAt() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *RegisterInfo) GetIdCardStartDate() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.IdCardStartDate
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *RegisterInfo) GetIdCardEndDate() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.IdCardEndDate
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
type SaveRegisterRecordResp struct {
|
type SaveRegisterRecordResp struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -275,6 +299,53 @@ func (x *CheckPhoneResp) GetData() *RegisterInfo {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CheckIdCardResp struct {
|
||||||
|
state protoimpl.MessageState
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
|
Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *CheckIdCardResp) Reset() {
|
||||||
|
*x = CheckIdCardResp{}
|
||||||
|
if protoimpl.UnsafeEnabled {
|
||||||
|
mi := &file_pb_exhibition_proto_msgTypes[3]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *CheckIdCardResp) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*CheckIdCardResp) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *CheckIdCardResp) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_pb_exhibition_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 CheckIdCardResp.ProtoReflect.Descriptor instead.
|
||||||
|
func (*CheckIdCardResp) Descriptor() ([]byte, []int) {
|
||||||
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{3}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *CheckIdCardResp) GetMsg() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.Msg
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
type RecordListReq struct {
|
type RecordListReq struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -290,7 +361,7 @@ type RecordListReq struct {
|
|||||||
func (x *RecordListReq) Reset() {
|
func (x *RecordListReq) Reset() {
|
||||||
*x = RecordListReq{}
|
*x = RecordListReq{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[3]
|
mi := &file_pb_exhibition_proto_msgTypes[4]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -303,7 +374,7 @@ func (x *RecordListReq) String() string {
|
|||||||
func (*RecordListReq) ProtoMessage() {}
|
func (*RecordListReq) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *RecordListReq) ProtoReflect() protoreflect.Message {
|
func (x *RecordListReq) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[3]
|
mi := &file_pb_exhibition_proto_msgTypes[4]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -316,7 +387,7 @@ func (x *RecordListReq) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use RecordListReq.ProtoReflect.Descriptor instead.
|
// Deprecated: Use RecordListReq.ProtoReflect.Descriptor instead.
|
||||||
func (*RecordListReq) Descriptor() ([]byte, []int) {
|
func (*RecordListReq) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_exhibition_proto_rawDescGZIP(), []int{3}
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{4}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RecordListReq) GetKeyword() string {
|
func (x *RecordListReq) GetKeyword() string {
|
||||||
@ -369,7 +440,7 @@ type RecordListResp struct {
|
|||||||
func (x *RecordListResp) Reset() {
|
func (x *RecordListResp) Reset() {
|
||||||
*x = RecordListResp{}
|
*x = RecordListResp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[4]
|
mi := &file_pb_exhibition_proto_msgTypes[5]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -382,7 +453,7 @@ func (x *RecordListResp) String() string {
|
|||||||
func (*RecordListResp) ProtoMessage() {}
|
func (*RecordListResp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *RecordListResp) ProtoReflect() protoreflect.Message {
|
func (x *RecordListResp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[4]
|
mi := &file_pb_exhibition_proto_msgTypes[5]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -395,7 +466,7 @@ func (x *RecordListResp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use RecordListResp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use RecordListResp.ProtoReflect.Descriptor instead.
|
||||||
func (*RecordListResp) Descriptor() ([]byte, []int) {
|
func (*RecordListResp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_exhibition_proto_rawDescGZIP(), []int{4}
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{5}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RecordListResp) GetData() []*RegisterInfo {
|
func (x *RecordListResp) GetData() []*RegisterInfo {
|
||||||
@ -442,7 +513,7 @@ type ExportRecordReq struct {
|
|||||||
func (x *ExportRecordReq) Reset() {
|
func (x *ExportRecordReq) Reset() {
|
||||||
*x = ExportRecordReq{}
|
*x = ExportRecordReq{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[5]
|
mi := &file_pb_exhibition_proto_msgTypes[6]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -455,7 +526,7 @@ func (x *ExportRecordReq) String() string {
|
|||||||
func (*ExportRecordReq) ProtoMessage() {}
|
func (*ExportRecordReq) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExportRecordReq) ProtoReflect() protoreflect.Message {
|
func (x *ExportRecordReq) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[5]
|
mi := &file_pb_exhibition_proto_msgTypes[6]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -468,7 +539,7 @@ func (x *ExportRecordReq) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ExportRecordReq.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ExportRecordReq.ProtoReflect.Descriptor instead.
|
||||||
func (*ExportRecordReq) Descriptor() ([]byte, []int) {
|
func (*ExportRecordReq) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_exhibition_proto_rawDescGZIP(), []int{5}
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{6}
|
||||||
}
|
}
|
||||||
|
|
||||||
type ExportInfo struct {
|
type ExportInfo struct {
|
||||||
@ -491,7 +562,7 @@ type ExportInfo struct {
|
|||||||
func (x *ExportInfo) Reset() {
|
func (x *ExportInfo) Reset() {
|
||||||
*x = ExportInfo{}
|
*x = ExportInfo{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[6]
|
mi := &file_pb_exhibition_proto_msgTypes[7]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -504,7 +575,7 @@ func (x *ExportInfo) String() string {
|
|||||||
func (*ExportInfo) ProtoMessage() {}
|
func (*ExportInfo) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExportInfo) ProtoReflect() protoreflect.Message {
|
func (x *ExportInfo) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[6]
|
mi := &file_pb_exhibition_proto_msgTypes[7]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -517,7 +588,7 @@ func (x *ExportInfo) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ExportInfo.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ExportInfo.ProtoReflect.Descriptor instead.
|
||||||
func (*ExportInfo) Descriptor() ([]byte, []int) {
|
func (*ExportInfo) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_exhibition_proto_rawDescGZIP(), []int{6}
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{7}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExportInfo) GetArtistName() string {
|
func (x *ExportInfo) GetArtistName() string {
|
||||||
@ -602,7 +673,7 @@ type ExportRecordResp struct {
|
|||||||
func (x *ExportRecordResp) Reset() {
|
func (x *ExportRecordResp) Reset() {
|
||||||
*x = ExportRecordResp{}
|
*x = ExportRecordResp{}
|
||||||
if protoimpl.UnsafeEnabled {
|
if protoimpl.UnsafeEnabled {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[7]
|
mi := &file_pb_exhibition_proto_msgTypes[8]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -615,7 +686,7 @@ func (x *ExportRecordResp) String() string {
|
|||||||
func (*ExportRecordResp) ProtoMessage() {}
|
func (*ExportRecordResp) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ExportRecordResp) ProtoReflect() protoreflect.Message {
|
func (x *ExportRecordResp) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_pb_exhibition_proto_msgTypes[7]
|
mi := &file_pb_exhibition_proto_msgTypes[8]
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
if protoimpl.UnsafeEnabled && x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -628,7 +699,7 @@ func (x *ExportRecordResp) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ExportRecordResp.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ExportRecordResp.ProtoReflect.Descriptor instead.
|
||||||
func (*ExportRecordResp) Descriptor() ([]byte, []int) {
|
func (*ExportRecordResp) Descriptor() ([]byte, []int) {
|
||||||
return file_pb_exhibition_proto_rawDescGZIP(), []int{7}
|
return file_pb_exhibition_proto_rawDescGZIP(), []int{8}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ExportRecordResp) GetData() []*ExportInfo {
|
func (x *ExportRecordResp) GetData() []*ExportInfo {
|
||||||
@ -652,7 +723,7 @@ var file_pb_exhibition_proto_rawDesc = []byte{
|
|||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
|
||||||
0x6e, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
0x6e, 0x1a, 0x12, 0x70, 0x62, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x70, 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x70, 0x62, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||||
0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe2, 0x02, 0x0a, 0x0c, 0x52,
|
0x70, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xce, 0x03, 0x0a, 0x0c, 0x52,
|
||||||
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69,
|
||||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75,
|
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75,
|
||||||
0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12,
|
0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12,
|
||||||
@ -664,96 +735,110 @@ var file_pb_exhibition_proto_rawDesc = []byte{
|
|||||||
0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20,
|
0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61,
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61,
|
||||||
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
|
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64,
|
||||||
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50,
|
0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||||
0x68, 0x6f, 0x74, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61,
|
0x31, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||||
0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72,
|
0x31, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f,
|
||||||
0x64, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
|
0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68,
|
||||||
0x52, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x74,
|
0x6f, 0x74, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63,
|
||||||
0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f,
|
0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64,
|
||||||
0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68,
|
0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a,
|
||||||
0x6f, 0x74, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
|
0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0b, 0x20, 0x01,
|
||||||
0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12,
|
||||||
0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c,
|
0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c, 0x20, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22,
|
0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
|
||||||
0x58, 0x0a, 0x16, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
|
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x69,
|
||||||
0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69,
|
0x64, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e,
|
||||||
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72,
|
||||||
0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02,
|
0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x45,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6a, 0x0a, 0x0e, 0x43, 0x68, 0x65,
|
0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x69, 0x64,
|
||||||
0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69,
|
0x43, 0x61, 0x72, 0x64, 0x45, 0x6e, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0x58, 0x0a, 0x16, 0x53,
|
||||||
0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
|
0x61, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||||
0x45, 0x78, 0x69, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01,
|
0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
|
||||||
0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
|
0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
|
0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64,
|
||||||
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x6a, 0x0a, 0x0e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68,
|
||||||
0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69,
|
||||||
0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
|
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73,
|
||||||
0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||||
0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
|
0x6d, 0x73, 0x67, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
|
0x0b, 0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
|
||||||
0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01,
|
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74,
|
||||||
0x28, 0x05, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x73,
|
0x61, 0x22, 0x23, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x43, 0x61, 0x72, 0x64,
|
||||||
0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x22,
|
0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||||
0x96, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
|
0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x87, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x63, 0x6f, 0x72,
|
||||||
0x73, 0x70, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77,
|
||||||
0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
|
0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f,
|
||||||
0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
|
0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
|
||||||
0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03,
|
0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
|
||||||
0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61,
|
0x7a, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20,
|
||||||
0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61,
|
0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6f, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04,
|
||||||
0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20,
|
0x73, 0x6f, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f,
|
0x22, 0x96, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52,
|
||||||
0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x22, 0xbc, 0x02, 0x0a, 0x0a,
|
0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||||
0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72,
|
0x0b, 0x32, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52,
|
||||||
0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74,
|
||||||
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65,
|
0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64,
|
0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18,
|
||||||
0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x05,
|
0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x16,
|
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
|
||||||
0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05,
|
||||||
0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x11, 0x0a, 0x0f, 0x45, 0x78, 0x70,
|
||||||
0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x22, 0xbc, 0x02, 0x0a,
|
||||||
0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18,
|
0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61,
|
||||||
0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f,
|
0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x74, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b,
|
0x0a, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67,
|
||||||
0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64, 0x43,
|
0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x67, 0x65, 0x6e,
|
||||||
0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0b,
|
0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x18,
|
||||||
0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28,
|
0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x12,
|
||||||
0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1c,
|
0x16, 0x0a, 0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28,
|
0x06, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65,
|
||||||
0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09,
|
0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x73, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68, 0x6f, 0x74, 0x6f,
|
||||||
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x50, 0x0a, 0x10, 0x45, 0x78,
|
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x50, 0x68,
|
||||||
0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a,
|
0x6f, 0x74, 0x6f, 0x12, 0x28, 0x0a, 0x0f, 0x69, 0x64, 0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63,
|
||||||
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65,
|
0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x64,
|
||||||
0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
|
0x43, 0x61, 0x72, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x0a,
|
||||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73,
|
0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01,
|
||||||
0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xc4, 0x02, 0x0a,
|
0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12,
|
||||||
0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0a, 0x43,
|
0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0b, 0x20, 0x01,
|
||||||
0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69,
|
0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a,
|
||||||
0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49,
|
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x50, 0x0a, 0x10, 0x45,
|
||||||
0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12,
|
0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12,
|
||||||
0x52, 0x0a, 0x12, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
|
0x2a, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
|
0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72,
|
||||||
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a,
|
0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d,
|
||||||
0x22, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x61, 0x76,
|
0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0x8a, 0x03,
|
||||||
0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
0x0a, 0x0a, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0a,
|
||||||
0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52,
|
0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x12, 0x18, 0x2e, 0x65, 0x78, 0x68,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x78, 0x68, 0x69,
|
0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
|
||||||
0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73,
|
0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1a, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
|
||||||
0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f,
|
0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||||
0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
|
0x12, 0x52, 0x0a, 0x12, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
|
||||||
0x12, 0x51, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74,
|
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
|
||||||
0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62,
|
0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f,
|
||||||
0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f,
|
0x1a, 0x22, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x61,
|
||||||
0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
|
0x76, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52,
|
0x52, 0x65, 0x73, 0x70, 0x12, 0x4b, 0x0a, 0x12, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72,
|
||||||
0x65, 0x73, 0x70, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f, 0x70, 0x62, 0x2f, 0x65, 0x78, 0x68, 0x69,
|
0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x65, 0x78, 0x68,
|
||||||
0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69,
|
||||||
|
0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69,
|
||||||
|
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73,
|
||||||
|
0x70, 0x12, 0x51, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73,
|
||||||
|
0x74, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1b, 0x2e, 0x65, 0x78, 0x68, 0x69,
|
||||||
|
0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63,
|
||||||
|
0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74,
|
||||||
|
0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
|
||||||
|
0x52, 0x65, 0x73, 0x70, 0x12, 0x44, 0x0a, 0x0b, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x64, 0x43,
|
||||||
|
0x61, 0x72, 0x64, 0x12, 0x18, 0x2e, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
|
0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x1b, 0x2e,
|
||||||
|
0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b,
|
||||||
|
0x49, 0x64, 0x43, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x42, 0x11, 0x5a, 0x0f, 0x2e, 0x2f,
|
||||||
|
0x70, 0x62, 0x2f, 0x65, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70,
|
||||||
|
0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -768,32 +853,35 @@ func file_pb_exhibition_proto_rawDescGZIP() []byte {
|
|||||||
return file_pb_exhibition_proto_rawDescData
|
return file_pb_exhibition_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_pb_exhibition_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
|
var file_pb_exhibition_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
||||||
var file_pb_exhibition_proto_goTypes = []interface{}{
|
var file_pb_exhibition_proto_goTypes = []interface{}{
|
||||||
(*RegisterInfo)(nil), // 0: exhibition.RegisterInfo
|
(*RegisterInfo)(nil), // 0: exhibition.RegisterInfo
|
||||||
(*SaveRegisterRecordResp)(nil), // 1: exhibition.SaveRegisterRecordResp
|
(*SaveRegisterRecordResp)(nil), // 1: exhibition.SaveRegisterRecordResp
|
||||||
(*CheckPhoneResp)(nil), // 2: exhibition.CheckPhoneResp
|
(*CheckPhoneResp)(nil), // 2: exhibition.CheckPhoneResp
|
||||||
(*RecordListReq)(nil), // 3: exhibition.RecordListReq
|
(*CheckIdCardResp)(nil), // 3: exhibition.CheckIdCardResp
|
||||||
(*RecordListResp)(nil), // 4: exhibition.RecordListResp
|
(*RecordListReq)(nil), // 4: exhibition.RecordListReq
|
||||||
(*ExportRecordReq)(nil), // 5: exhibition.ExportRecordReq
|
(*RecordListResp)(nil), // 5: exhibition.RecordListResp
|
||||||
(*ExportInfo)(nil), // 6: exhibition.ExportInfo
|
(*ExportRecordReq)(nil), // 6: exhibition.ExportRecordReq
|
||||||
(*ExportRecordResp)(nil), // 7: exhibition.ExportRecordResp
|
(*ExportInfo)(nil), // 7: exhibition.ExportInfo
|
||||||
|
(*ExportRecordResp)(nil), // 8: exhibition.ExportRecordResp
|
||||||
}
|
}
|
||||||
var file_pb_exhibition_proto_depIdxs = []int32{
|
var file_pb_exhibition_proto_depIdxs = []int32{
|
||||||
0, // 0: exhibition.SaveRegisterRecordResp.data:type_name -> exhibition.RegisterInfo
|
0, // 0: exhibition.SaveRegisterRecordResp.data:type_name -> exhibition.RegisterInfo
|
||||||
0, // 1: exhibition.CheckPhoneResp.data:type_name -> exhibition.RegisterInfo
|
0, // 1: exhibition.CheckPhoneResp.data:type_name -> exhibition.RegisterInfo
|
||||||
0, // 2: exhibition.RecordListResp.data:type_name -> exhibition.RegisterInfo
|
0, // 2: exhibition.RecordListResp.data:type_name -> exhibition.RegisterInfo
|
||||||
6, // 3: exhibition.ExportRecordResp.data:type_name -> exhibition.ExportInfo
|
7, // 3: exhibition.ExportRecordResp.data:type_name -> exhibition.ExportInfo
|
||||||
0, // 4: exhibition.Exhibition.CheckPhone:input_type -> exhibition.RegisterInfo
|
0, // 4: exhibition.Exhibition.CheckPhone:input_type -> exhibition.RegisterInfo
|
||||||
0, // 5: exhibition.Exhibition.SaveRegisterRecord:input_type -> exhibition.RegisterInfo
|
0, // 5: exhibition.Exhibition.SaveRegisterRecord:input_type -> exhibition.RegisterInfo
|
||||||
3, // 6: exhibition.Exhibition.RegisterRecordList:input_type -> exhibition.RecordListReq
|
4, // 6: exhibition.Exhibition.RegisterRecordList:input_type -> exhibition.RecordListReq
|
||||||
5, // 7: exhibition.Exhibition.ExportRegisterRecord:input_type -> exhibition.ExportRecordReq
|
6, // 7: exhibition.Exhibition.ExportRegisterRecord:input_type -> exhibition.ExportRecordReq
|
||||||
2, // 8: exhibition.Exhibition.CheckPhone:output_type -> exhibition.CheckPhoneResp
|
0, // 8: exhibition.Exhibition.CheckIdCard:input_type -> exhibition.RegisterInfo
|
||||||
1, // 9: exhibition.Exhibition.SaveRegisterRecord:output_type -> exhibition.SaveRegisterRecordResp
|
2, // 9: exhibition.Exhibition.CheckPhone:output_type -> exhibition.CheckPhoneResp
|
||||||
4, // 10: exhibition.Exhibition.RegisterRecordList:output_type -> exhibition.RecordListResp
|
1, // 10: exhibition.Exhibition.SaveRegisterRecord:output_type -> exhibition.SaveRegisterRecordResp
|
||||||
7, // 11: exhibition.Exhibition.ExportRegisterRecord:output_type -> exhibition.ExportRecordResp
|
5, // 11: exhibition.Exhibition.RegisterRecordList:output_type -> exhibition.RecordListResp
|
||||||
8, // [8:12] is the sub-list for method output_type
|
8, // 12: exhibition.Exhibition.ExportRegisterRecord:output_type -> exhibition.ExportRecordResp
|
||||||
4, // [4:8] is the sub-list for method input_type
|
3, // 13: exhibition.Exhibition.CheckIdCard:output_type -> exhibition.CheckIdCardResp
|
||||||
|
9, // [9:14] is the sub-list for method output_type
|
||||||
|
4, // [4:9] is the sub-list for method input_type
|
||||||
4, // [4:4] is the sub-list for extension type_name
|
4, // [4:4] is the sub-list for extension type_name
|
||||||
4, // [4:4] is the sub-list for extension extendee
|
4, // [4:4] is the sub-list for extension extendee
|
||||||
0, // [0:4] is the sub-list for field type_name
|
0, // [0:4] is the sub-list for field type_name
|
||||||
@ -842,7 +930,7 @@ func file_pb_exhibition_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_exhibition_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_exhibition_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*RecordListReq); i {
|
switch v := v.(*CheckIdCardResp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -854,7 +942,7 @@ func file_pb_exhibition_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_exhibition_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_exhibition_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*RecordListResp); i {
|
switch v := v.(*RecordListReq); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -866,7 +954,7 @@ func file_pb_exhibition_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_exhibition_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_exhibition_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExportRecordReq); i {
|
switch v := v.(*RecordListResp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -878,7 +966,7 @@ func file_pb_exhibition_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_exhibition_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_exhibition_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExportInfo); i {
|
switch v := v.(*ExportRecordReq); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
case 1:
|
case 1:
|
||||||
@ -890,6 +978,18 @@ func file_pb_exhibition_proto_init() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
file_pb_exhibition_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
file_pb_exhibition_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
||||||
|
switch v := v.(*ExportInfo); i {
|
||||||
|
case 0:
|
||||||
|
return &v.state
|
||||||
|
case 1:
|
||||||
|
return &v.sizeCache
|
||||||
|
case 2:
|
||||||
|
return &v.unknownFields
|
||||||
|
default:
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
file_pb_exhibition_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
|
||||||
switch v := v.(*ExportRecordResp); i {
|
switch v := v.(*ExportRecordResp); i {
|
||||||
case 0:
|
case 0:
|
||||||
return &v.state
|
return &v.state
|
||||||
@ -908,7 +1008,7 @@ func file_pb_exhibition_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_pb_exhibition_proto_rawDesc,
|
RawDescriptor: file_pb_exhibition_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 8,
|
NumMessages: 9,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
@ -36,6 +36,9 @@ func (this *CheckPhoneResp) Validate() error {
|
|||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
func (this *CheckIdCardResp) Validate() error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
func (this *RecordListReq) Validate() error {
|
func (this *RecordListReq) Validate() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ type ExhibitionClient interface {
|
|||||||
SaveRegisterRecord(ctx context.Context, in *RegisterInfo, opts ...grpc_go.CallOption) (*SaveRegisterRecordResp, common.ErrorWithAttachment)
|
SaveRegisterRecord(ctx context.Context, in *RegisterInfo, opts ...grpc_go.CallOption) (*SaveRegisterRecordResp, common.ErrorWithAttachment)
|
||||||
RegisterRecordList(ctx context.Context, in *RecordListReq, opts ...grpc_go.CallOption) (*RecordListResp, common.ErrorWithAttachment)
|
RegisterRecordList(ctx context.Context, in *RecordListReq, opts ...grpc_go.CallOption) (*RecordListResp, common.ErrorWithAttachment)
|
||||||
ExportRegisterRecord(ctx context.Context, in *ExportRecordReq, opts ...grpc_go.CallOption) (*ExportRecordResp, common.ErrorWithAttachment)
|
ExportRegisterRecord(ctx context.Context, in *ExportRecordReq, opts ...grpc_go.CallOption) (*ExportRecordResp, common.ErrorWithAttachment)
|
||||||
|
CheckIdCard(ctx context.Context, in *RegisterInfo, opts ...grpc_go.CallOption) (*CheckIdCardResp, common.ErrorWithAttachment)
|
||||||
}
|
}
|
||||||
|
|
||||||
type exhibitionClient struct {
|
type exhibitionClient struct {
|
||||||
@ -43,6 +44,7 @@ type ExhibitionClientImpl struct {
|
|||||||
SaveRegisterRecord func(ctx context.Context, in *RegisterInfo) (*SaveRegisterRecordResp, error)
|
SaveRegisterRecord func(ctx context.Context, in *RegisterInfo) (*SaveRegisterRecordResp, error)
|
||||||
RegisterRecordList func(ctx context.Context, in *RecordListReq) (*RecordListResp, error)
|
RegisterRecordList func(ctx context.Context, in *RecordListReq) (*RecordListResp, error)
|
||||||
ExportRegisterRecord func(ctx context.Context, in *ExportRecordReq) (*ExportRecordResp, error)
|
ExportRegisterRecord func(ctx context.Context, in *ExportRecordReq) (*ExportRecordResp, error)
|
||||||
|
CheckIdCard func(ctx context.Context, in *RegisterInfo) (*CheckIdCardResp, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *ExhibitionClientImpl) GetDubboStub(cc *triple.TripleConn) ExhibitionClient {
|
func (c *ExhibitionClientImpl) GetDubboStub(cc *triple.TripleConn) ExhibitionClient {
|
||||||
@ -81,6 +83,12 @@ func (c *exhibitionClient) ExportRegisterRecord(ctx context.Context, in *ExportR
|
|||||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExportRegisterRecord", in, out)
|
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ExportRegisterRecord", in, out)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *exhibitionClient) CheckIdCard(ctx context.Context, in *RegisterInfo, opts ...grpc_go.CallOption) (*CheckIdCardResp, common.ErrorWithAttachment) {
|
||||||
|
out := new(CheckIdCardResp)
|
||||||
|
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||||
|
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckIdCard", in, out)
|
||||||
|
}
|
||||||
|
|
||||||
// ExhibitionServer is the server API for Exhibition service.
|
// ExhibitionServer is the server API for Exhibition service.
|
||||||
// All implementations must embed UnimplementedExhibitionServer
|
// All implementations must embed UnimplementedExhibitionServer
|
||||||
// for forward compatibility
|
// for forward compatibility
|
||||||
@ -89,6 +97,7 @@ type ExhibitionServer interface {
|
|||||||
SaveRegisterRecord(context.Context, *RegisterInfo) (*SaveRegisterRecordResp, error)
|
SaveRegisterRecord(context.Context, *RegisterInfo) (*SaveRegisterRecordResp, error)
|
||||||
RegisterRecordList(context.Context, *RecordListReq) (*RecordListResp, error)
|
RegisterRecordList(context.Context, *RecordListReq) (*RecordListResp, error)
|
||||||
ExportRegisterRecord(context.Context, *ExportRecordReq) (*ExportRecordResp, error)
|
ExportRegisterRecord(context.Context, *ExportRecordReq) (*ExportRecordResp, error)
|
||||||
|
CheckIdCard(context.Context, *RegisterInfo) (*CheckIdCardResp, error)
|
||||||
mustEmbedUnimplementedExhibitionServer()
|
mustEmbedUnimplementedExhibitionServer()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,6 +118,9 @@ func (UnimplementedExhibitionServer) RegisterRecordList(context.Context, *Record
|
|||||||
func (UnimplementedExhibitionServer) ExportRegisterRecord(context.Context, *ExportRecordReq) (*ExportRecordResp, error) {
|
func (UnimplementedExhibitionServer) ExportRegisterRecord(context.Context, *ExportRecordReq) (*ExportRecordResp, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method ExportRegisterRecord not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method ExportRegisterRecord not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedExhibitionServer) CheckIdCard(context.Context, *RegisterInfo) (*CheckIdCardResp, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method CheckIdCard not implemented")
|
||||||
|
}
|
||||||
func (s *UnimplementedExhibitionServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
func (s *UnimplementedExhibitionServer) XXX_SetProxyImpl(impl protocol.Invoker) {
|
||||||
s.proxyImpl = impl
|
s.proxyImpl = impl
|
||||||
}
|
}
|
||||||
@ -253,6 +265,35 @@ func _Exhibition_ExportRegisterRecord_Handler(srv interface{}, ctx context.Conte
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _Exhibition_CheckIdCard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(RegisterInfo)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
base := srv.(dubbo3.Dubbo3GrpcService)
|
||||||
|
args := []interface{}{}
|
||||||
|
args = append(args, in)
|
||||||
|
md, _ := metadata.FromIncomingContext(ctx)
|
||||||
|
invAttachment := make(map[string]interface{}, len(md))
|
||||||
|
for k, v := range md {
|
||||||
|
invAttachment[k] = v
|
||||||
|
}
|
||||||
|
invo := invocation.NewRPCInvocation("CheckIdCard", args, invAttachment)
|
||||||
|
if interceptor == nil {
|
||||||
|
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||||
|
return result, result.Error()
|
||||||
|
}
|
||||||
|
info := &grpc_go.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string),
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
result := base.XXX_GetProxyImpl().Invoke(ctx, invo)
|
||||||
|
return result, result.Error()
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
// Exhibition_ServiceDesc is the grpc_go.ServiceDesc for Exhibition service.
|
// Exhibition_ServiceDesc is the grpc_go.ServiceDesc for Exhibition service.
|
||||||
// It's only intended for direct use with grpc_go.RegisterService,
|
// It's only intended for direct use with grpc_go.RegisterService,
|
||||||
// and not to be introspected or modified (even as a copy)
|
// and not to be introspected or modified (even as a copy)
|
||||||
@ -276,6 +317,10 @@ var Exhibition_ServiceDesc = grpc_go.ServiceDesc{
|
|||||||
MethodName: "ExportRegisterRecord",
|
MethodName: "ExportRegisterRecord",
|
||||||
Handler: _Exhibition_ExportRegisterRecord_Handler,
|
Handler: _Exhibition_ExportRegisterRecord_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "CheckIdCard",
|
||||||
|
Handler: _Exhibition_CheckIdCard_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc_go.StreamDesc{},
|
Streams: []grpc_go.StreamDesc{},
|
||||||
Metadata: "pb/exhibition.proto",
|
Metadata: "pb/exhibition.proto",
|
||||||
|
35
conf/config.yaml
Normal file
35
conf/config.yaml
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
system:
|
||||||
|
domain: exhibitiontest
|
||||||
|
mode: dev
|
||||||
|
node_num: 3
|
||||||
|
port: 8086
|
||||||
|
key:
|
||||||
|
cert:
|
||||||
|
is_https: false
|
||||||
|
cron: false
|
||||||
|
key_path: ""
|
||||||
|
cert_path: ""
|
||||||
|
redis:
|
||||||
|
db: 1
|
||||||
|
addr: 127.0.0.1:6379
|
||||||
|
password:
|
||||||
|
jaeger:
|
||||||
|
addr: 127.0.0.1:6831
|
||||||
|
open: true
|
||||||
|
zapLog:
|
||||||
|
level: "info"
|
||||||
|
filename: "logs/exhibition-main.log"
|
||||||
|
max_size: 5
|
||||||
|
max_age: 30
|
||||||
|
max_backups: 30
|
||||||
|
jwt:
|
||||||
|
key: "3Ei*^!a6^6$w^wgK"
|
||||||
|
expire: 24
|
||||||
|
bos:
|
||||||
|
AccessKeyId: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
||||||
|
AccessKeySecret: "d2ecaa9d75114d3b9f42b99014198306"
|
||||||
|
BucketName: "dci-file-new"
|
||||||
|
Endpoint: ".bj.bcebos.com"
|
||||||
|
BosBaseDir: "exhibition"
|
||||||
|
Host: "https://bj.bcebos.com"
|
||||||
|
CdnHost: "https://cdns.fontree.cn"
|
@ -1,5 +1,5 @@
|
|||||||
system:
|
system:
|
||||||
domain: localhost
|
domain: exhibitiontest
|
||||||
mode: dev
|
mode: dev
|
||||||
node_num: 3
|
node_num: 3
|
||||||
port: 8086
|
port: 8086
|
||||||
@ -26,10 +26,10 @@ jwt:
|
|||||||
key: "3Ei*^!a6^6$w^wgK"
|
key: "3Ei*^!a6^6$w^wgK"
|
||||||
expire: 24
|
expire: 24
|
||||||
bos:
|
bos:
|
||||||
Ak: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
AccessKeyId: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
||||||
Sk: "d2ecaa9d75114d3b9f42b99014198306"
|
AccessKeySecret: "d2ecaa9d75114d3b9f42b99014198306"
|
||||||
BucketName: "dci-file-new"
|
BucketName: "dci-file-new"
|
||||||
BosUrl: ".bj.bcebos.com"
|
Endpoint: ".bj.bcebos.com"
|
||||||
BosBaseDir: "fonchain-main"
|
BosBaseDir: "exhibition"
|
||||||
BosHttp: "https://"
|
Host: "https://bj.bcebos.com"
|
||||||
BosDomain: "cdns.fontree.cn"
|
CdnHost: "https://cdns.fontree.cn"
|
@ -13,16 +13,18 @@ dubbo:
|
|||||||
references:
|
references:
|
||||||
AccountClientImpl:
|
AccountClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Account
|
|
||||||
filter: cshutdown,sign,fonDomainFilter,fonValidateFilter
|
|
||||||
timeout: 15s
|
|
||||||
retries: 0
|
retries: 0
|
||||||
|
interface: com.fontree.microservices.common.Account
|
||||||
|
filter: cshutdown,sign
|
||||||
params:
|
params:
|
||||||
.accessKeyId: "Accountksl"
|
.accessKeyId: "Accountksl"
|
||||||
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
||||||
ExhibitionClientImpl:
|
ExhibitionClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Exhibition
|
interface: com.fontree.microservices.common.Exhibition
|
||||||
|
ArtistClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
interface: com.fontree.microservices.common.Artist
|
||||||
logger:
|
logger:
|
||||||
zap-config:
|
zap-config:
|
||||||
level: error # 日志级别
|
level: error # 日志级别
|
||||||
|
68
conf/dubbogo.yaml
Normal file
68
conf/dubbogo.yaml
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
dubbo:
|
||||||
|
registries:
|
||||||
|
demoZK:
|
||||||
|
protocol: zookeeper
|
||||||
|
timeout: 30s
|
||||||
|
address: 127.0.0.1:2181
|
||||||
|
consumer:
|
||||||
|
filter: tracing
|
||||||
|
request-timeout: 30s
|
||||||
|
params:
|
||||||
|
max-call-send-msg-size: 8000000
|
||||||
|
max-call-recv-msg-size: 8000000
|
||||||
|
references:
|
||||||
|
AccountClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
retries: 0
|
||||||
|
interface: com.fontree.microservices.common.Account
|
||||||
|
filter: cshutdown,sign
|
||||||
|
params:
|
||||||
|
.accessKeyId: "Accountksl"
|
||||||
|
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
||||||
|
ExhibitionClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
interface: com.fontree.microservices.common.Exhibition
|
||||||
|
ArtistClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
interface: com.fontree.microservices.common.Artist
|
||||||
|
logger:
|
||||||
|
zap-config:
|
||||||
|
level: error # 日志级别
|
||||||
|
development: false
|
||||||
|
disableCaller: false
|
||||||
|
disableStacktrace: false
|
||||||
|
encoding: "json"
|
||||||
|
# zap encoder 配置
|
||||||
|
encoderConfig:
|
||||||
|
messageKey: "message"
|
||||||
|
levelKey: "level"
|
||||||
|
timeKey: "time"
|
||||||
|
nameKey: "logger"
|
||||||
|
callerKey: "caller"
|
||||||
|
stacktraceKey: "stacktrace"
|
||||||
|
lineEnding: ""
|
||||||
|
levelEncoder: "capitalColor"
|
||||||
|
timeEncoder: "iso8601"
|
||||||
|
durationEncoder: "seconds"
|
||||||
|
callerEncoder: "short"
|
||||||
|
nameEncoder: ""
|
||||||
|
EncodeTime: zapcore.TimeEncoderOfLayout("2006-01-02 15:04:05.000"),
|
||||||
|
EncodeDuration: zapcore.SecondsDurationEncoder,
|
||||||
|
outputPaths:
|
||||||
|
- "stderr"
|
||||||
|
errorOutputPaths:
|
||||||
|
- "stderr"
|
||||||
|
lumberjack-config:
|
||||||
|
# 写日志的文件名称
|
||||||
|
filename: "logs/runtime/exhibition-main.log"
|
||||||
|
# 每个日志文件长度的最大大小,单位是 MiB。默认 100MiB
|
||||||
|
maxSize: 5
|
||||||
|
# 日志保留的最大天数(只保留最近多少天的日志)
|
||||||
|
maxAge: 30
|
||||||
|
# 只保留最近多少个日志文件,用于控制程序总日志的大小
|
||||||
|
maxBackups: 30
|
||||||
|
# 是否使用本地时间,默认使用 UTC 时间
|
||||||
|
localTime: true
|
||||||
|
# 是否压缩日志文件,压缩方法 gzip
|
||||||
|
compress: false
|
||||||
|
|
@ -1,11 +1,11 @@
|
|||||||
system:
|
system:
|
||||||
domain: exhibition.szjixun.cn
|
domain: exhibition
|
||||||
mode: prod
|
mode: prod
|
||||||
node_num: 3
|
node_num: 3
|
||||||
port: 9025
|
port: 9025
|
||||||
key:
|
key:
|
||||||
cert:
|
cert:
|
||||||
is_https: false
|
is_https: true
|
||||||
cron: false
|
cron: false
|
||||||
key_path: ""
|
key_path: ""
|
||||||
cert_path: ""
|
cert_path: ""
|
||||||
@ -26,10 +26,10 @@ jwt:
|
|||||||
key: "tP0xXGErz4~"
|
key: "tP0xXGErz4~"
|
||||||
expire: 24
|
expire: 24
|
||||||
bos:
|
bos:
|
||||||
Ak: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
AccessKeyId: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
||||||
Sk: "d2ecaa9d75114d3b9f42b99014198306"
|
AccessKeySecret: "d2ecaa9d75114d3b9f42b99014198306"
|
||||||
BucketName: "dci-file-new"
|
BucketName: "dci-file-new"
|
||||||
BosUrl: ".bj.bcebos.com"
|
Endpoint: ".bj.bcebos.com"
|
||||||
BosBaseDir: "fonchain-main"
|
BosBaseDir: "exhibition"
|
||||||
BosHttp: "https://"
|
Host: "https://bj.bcebos.com"
|
||||||
BosDomain: "cdns.fontree.cn"
|
CdnHost: "https://cdns.fontree.cn"
|
@ -13,16 +13,18 @@ dubbo:
|
|||||||
references:
|
references:
|
||||||
AccountClientImpl:
|
AccountClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Account
|
|
||||||
filter: cshutdown,sign,fonDomainFilter,fonValidateFilter
|
|
||||||
timeout: 15s
|
|
||||||
retries: 0
|
retries: 0
|
||||||
|
interface: com.fontree.microservices.common.Account
|
||||||
|
filter: cshutdown,sign
|
||||||
params:
|
params:
|
||||||
.accessKeyId: "Accountksl"
|
.accessKeyId: "Accountksl"
|
||||||
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
||||||
ExhibitionClientImpl:
|
ExhibitionClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Exhibition
|
interface: com.fontree.microservices.common.Exhibition
|
||||||
|
ArtistClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
interface: com.fontree.microservices.common.Artist
|
||||||
logger:
|
logger:
|
||||||
zap-config:
|
zap-config:
|
||||||
level: error # 日志级别
|
level: error # 日志级别
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
system:
|
system:
|
||||||
domain: exhibitiontest.szjixun.cn
|
domain: exhibitiontest
|
||||||
mode: test
|
mode: test
|
||||||
node_num: 3
|
node_num: 3
|
||||||
port: 9025
|
port: 9025
|
||||||
@ -16,20 +16,20 @@ redis:
|
|||||||
jaeger:
|
jaeger:
|
||||||
addr: "172.16.100.93:9031"
|
addr: "172.16.100.93:9031"
|
||||||
open: true
|
open: true
|
||||||
zapLog:
|
#zapLog:
|
||||||
level: "info"
|
# level: "info"
|
||||||
filename: "logs/exhibition-main.log"
|
# filename: "logs/exhibition-main.log"
|
||||||
max_size: 5
|
# max_size: 5
|
||||||
max_age: 30
|
# max_age: 30
|
||||||
max_backups: 30
|
# max_backups: 30
|
||||||
jwt:
|
jwt:
|
||||||
key: "SxjwBuEcHg42t73"
|
key: "SxjwBuEcHg42t73"
|
||||||
expire: 24
|
expire: 24
|
||||||
bos:
|
bos:
|
||||||
Ak: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
AccessKeyId: "ALTAKxrqOQHnAN525Tb2GX4Bhe"
|
||||||
Sk: "d2ecaa9d75114d3b9f42b99014198306"
|
AccessKeySecret: "d2ecaa9d75114d3b9f42b99014198306"
|
||||||
BucketName: "dci-file-new"
|
BucketName: "dci-file-new"
|
||||||
BosUrl: ".bj.bcebos.com"
|
Endpoint: ".bj.bcebos.com"
|
||||||
BosBaseDir: "fonchain-main"
|
BosBaseDir: "exhibition"
|
||||||
BosHttp: "https://"
|
Host: "https://bj.bcebos.com"
|
||||||
BosDomain: "cdns.fontree.cn"
|
CdnHost: "https://cdns.fontree.cn"
|
@ -13,16 +13,18 @@ dubbo:
|
|||||||
references:
|
references:
|
||||||
AccountClientImpl:
|
AccountClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Account
|
|
||||||
filter: cshutdown,sign,fonDomainFilter,fonValidateFilter
|
|
||||||
timeout: 15s
|
|
||||||
retries: 0
|
retries: 0
|
||||||
|
interface: com.fontree.microservices.common.Account
|
||||||
|
filter: cshutdown,sign
|
||||||
params:
|
params:
|
||||||
.accessKeyId: "Accountksl"
|
.accessKeyId: "Accountksl"
|
||||||
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
.secretAccessKey: "BSDY-FDF1-Fontree_account"
|
||||||
ExhibitionClientImpl:
|
ExhibitionClientImpl:
|
||||||
protocol: tri
|
protocol: tri
|
||||||
interface: com.fontree.microservices.common.Exhibition
|
interface: com.fontree.microservices.common.Exhibition
|
||||||
|
ArtistClientImpl:
|
||||||
|
protocol: tri
|
||||||
|
interface: com.fontree.microservices.common.Artist
|
||||||
logger:
|
logger:
|
||||||
zap-config:
|
zap-config:
|
||||||
level: error # 日志级别
|
level: error # 日志级别
|
||||||
|
2
go.mod
2
go.mod
@ -3,6 +3,7 @@ module github.com/exhibition-main
|
|||||||
go 1.20
|
go 1.20
|
||||||
|
|
||||||
replace (
|
replace (
|
||||||
|
github.com/fonchain/utils/baidu => ../utils/baidu
|
||||||
github.com/fonchain_enterprise/utils/aes => ../utils/aes
|
github.com/fonchain_enterprise/utils/aes => ../utils/aes
|
||||||
github.com/fonchain_enterprise/utils/chain => ../utils/chain
|
github.com/fonchain_enterprise/utils/chain => ../utils/chain
|
||||||
github.com/fonchain_enterprise/utils/feie => ../utils/feie
|
github.com/fonchain_enterprise/utils/feie => ../utils/feie
|
||||||
@ -22,6 +23,7 @@ require (
|
|||||||
github.com/dubbogo/gost v1.13.2
|
github.com/dubbogo/gost v1.13.2
|
||||||
github.com/dubbogo/grpc-go v1.42.10
|
github.com/dubbogo/grpc-go v1.42.10
|
||||||
github.com/dubbogo/triple v1.2.2-rc2
|
github.com/dubbogo/triple v1.2.2-rc2
|
||||||
|
github.com/fonchain/utils/baidu v0.0.0-00010101000000-000000000000
|
||||||
github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000
|
github.com/fonchain_enterprise/utils/objstorage v0.0.0-00010101000000-000000000000
|
||||||
github.com/gin-contrib/gzip v0.0.6
|
github.com/gin-contrib/gzip v0.0.6
|
||||||
github.com/gin-contrib/pprof v1.4.0
|
github.com/gin-contrib/pprof v1.4.0
|
||||||
|
@ -10,79 +10,6 @@ import (
|
|||||||
|
|
||||||
var Data = new(AppConfig)
|
var Data = new(AppConfig)
|
||||||
|
|
||||||
var (
|
|
||||||
AppMode string
|
|
||||||
HttpPort string
|
|
||||||
Key string
|
|
||||||
Cert string
|
|
||||||
IsHttps bool
|
|
||||||
RunHttps bool
|
|
||||||
Domain string
|
|
||||||
OssDomain string
|
|
||||||
ServerDM string
|
|
||||||
Env string
|
|
||||||
DriverUrl string
|
|
||||||
AppointUrl string
|
|
||||||
MaterialHost string
|
|
||||||
BosAk string
|
|
||||||
BosSk string
|
|
||||||
BosBucketName string
|
|
||||||
BosBaseDir string
|
|
||||||
BosUrl string
|
|
||||||
BosHttp string
|
|
||||||
BosDomain string
|
|
||||||
ProjectMapDir string
|
|
||||||
JaegerHost string
|
|
||||||
JaegerOpen bool
|
|
||||||
Cron bool
|
|
||||||
DingAccessToken string
|
|
||||||
DingUrl string
|
|
||||||
HolidayID string
|
|
||||||
HolidaySecret string
|
|
||||||
HolidaySingleUrl string
|
|
||||||
HolidayMultiUrl string
|
|
||||||
|
|
||||||
ErpAk string
|
|
||||||
ErpSk string
|
|
||||||
|
|
||||||
// rabbitmq
|
|
||||||
RabbitmqUser string
|
|
||||||
RabbitmqPassword string
|
|
||||||
RabbitmqHost string
|
|
||||||
RabbitmqPort int
|
|
||||||
RabbitmqVhost string
|
|
||||||
RabbitmqVhostArtwork string
|
|
||||||
|
|
||||||
RedisDB int
|
|
||||||
RedisAddr string
|
|
||||||
RedisPw string
|
|
||||||
|
|
||||||
//shop配置
|
|
||||||
ShopHost string
|
|
||||||
//ShopDetail string
|
|
||||||
|
|
||||||
// 地图
|
|
||||||
MapAppCode string
|
|
||||||
// es
|
|
||||||
ElasticHost string
|
|
||||||
SendIndexesUrl string
|
|
||||||
ChatGptHost string
|
|
||||||
|
|
||||||
ApiHost string
|
|
||||||
|
|
||||||
Level string
|
|
||||||
Filename string
|
|
||||||
MaxSize string
|
|
||||||
MaxAge string
|
|
||||||
MaxBackups string
|
|
||||||
|
|
||||||
YearGiftCheckHost string
|
|
||||||
Aliyun struct {
|
|
||||||
AccessKeyId string
|
|
||||||
AccessKeySecret string
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
type AppConfig struct {
|
type AppConfig struct {
|
||||||
System struct {
|
System struct {
|
||||||
Domain string
|
Domain string
|
||||||
@ -128,7 +55,7 @@ type AppConfig struct {
|
|||||||
|
|
||||||
func GetConf() (iniConf string, err error) {
|
func GetConf() (iniConf string, err error) {
|
||||||
if os.Getenv(model.MODE_ENV) != "" {
|
if os.Getenv(model.MODE_ENV) != "" {
|
||||||
if err = os.Setenv(constant.ConfigFileEnvKey, fmt.Sprintf("./conf/%s%s", os.Getenv(model.MODE_ENV), model.SERVER_DUBBOGO_CONFIG)); err != nil {
|
if err = os.Setenv(constant.ConfigFileEnvKey, fmt.Sprintf("./conf/%s/%s", os.Getenv(model.MODE_ENV), model.SERVER_DUBBOGO_CONFIG)); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
44
internal/filter/domain.go
Normal file
44
internal/filter/domain.go
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package filter
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
appconfig "github.com/exhibition-main/internal/config"
|
||||||
|
"reflect"
|
||||||
|
)
|
||||||
|
|
||||||
|
import (
|
||||||
|
"dubbo.apache.org/dubbo-go/v3/common/extension"
|
||||||
|
"dubbo.apache.org/dubbo-go/v3/filter"
|
||||||
|
"dubbo.apache.org/dubbo-go/v3/protocol"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
extension.SetFilter("fonDomainFilter", NewDomainFonFilter)
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewDomainFonFilter() filter.Filter {
|
||||||
|
return &DomainFonFilter{}
|
||||||
|
}
|
||||||
|
|
||||||
|
type DomainFonFilter struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *DomainFonFilter) Invoke(ctx context.Context, invoker protocol.Invoker, invocation protocol.Invocation) protocol.Result {
|
||||||
|
if len(invocation.Arguments()) > 0 {
|
||||||
|
req := invocation.Arguments()[0]
|
||||||
|
pp := reflect.ValueOf(req)
|
||||||
|
field := pp.Elem().FieldByName("Domain")
|
||||||
|
|
||||||
|
if field.IsValid() {
|
||||||
|
if field.IsZero() {
|
||||||
|
field.SetString(appconfig.Data.System.Domain)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return invoker.Invoke(ctx, invocation)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *DomainFonFilter) OnResponse(ctx context.Context, result protocol.Result, invoker protocol.Invoker, protocol protocol.Invocation) protocol.Result {
|
||||||
|
return result
|
||||||
|
}
|
272
internal/model/ocr.go
Normal file
272
internal/model/ocr.go
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
|
"net/url"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
"unicode/utf8"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
grant_type = "client_credentials"
|
||||||
|
)
|
||||||
|
|
||||||
|
var accessToken string
|
||||||
|
var expires_in uint64
|
||||||
|
|
||||||
|
type OcrQuery struct {
|
||||||
|
IdCardUrl string `json:"idCardUrl"`
|
||||||
|
Side int `json:"side"` // 1 正面 2 反面
|
||||||
|
}
|
||||||
|
|
||||||
|
type OcrRes struct {
|
||||||
|
RealName string `json:"realName"`
|
||||||
|
IDNum string `json:"iDNum"`
|
||||||
|
Path string `json:"path"`
|
||||||
|
Age int `json:"age"`
|
||||||
|
Birthday string `json:"birthday"`
|
||||||
|
Sex string `json:"sex"`
|
||||||
|
IssueDate string `json:"issueDate"`
|
||||||
|
ExpirationDate string `json:"expirationDate"`
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
ocr_client_id = "cLg2dUH1pqopsj22tShw8FQU"
|
||||||
|
ocr_client_secret = "diriz5PmhLOB8hwE4KnEEiaBMV6WfBR1"
|
||||||
|
)
|
||||||
|
|
||||||
|
type OrcRes struct {
|
||||||
|
Path string `json:"path"`
|
||||||
|
Name string `json:"name"`
|
||||||
|
IdCard string `json:"idCard"`
|
||||||
|
Age int `json:"age"`
|
||||||
|
Birthday string `json:"birthday"`
|
||||||
|
Sex string `json:"sex"`
|
||||||
|
IssueDate string `json:"issueDate"`
|
||||||
|
ExpirationDate string `json:"expirationDate"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type OcrGetIdCardRes struct {
|
||||||
|
WordsResult WordsResult `json:"words_result"`
|
||||||
|
IdcardNumberType int `json:"idcard_number_type"`
|
||||||
|
WordsResultNum int `json:"words_result_num"`
|
||||||
|
ImageStatus string `json:"image_status"`
|
||||||
|
LogId uint64 `json:"log_id"`
|
||||||
|
}
|
||||||
|
type WordsResult struct {
|
||||||
|
Name WordsResultDetail `json:"姓名"`
|
||||||
|
Address WordsResultDetail `json:"住址"`
|
||||||
|
IdCard WordsResultDetail `json:"公民身份号码"`
|
||||||
|
Birthday WordsResultDetail `json:"出生"`
|
||||||
|
Sex WordsResultDetail `json:"性别"`
|
||||||
|
IssueDate WordsResultDetail `json:"签发日期"`
|
||||||
|
ExpirationDate WordsResultDetail `json:"失效日期"`
|
||||||
|
}
|
||||||
|
type WordsResultDetail struct {
|
||||||
|
Words string
|
||||||
|
}
|
||||||
|
|
||||||
|
type AccessToken struct {
|
||||||
|
Refresh_token string `json:"refresh_token"`
|
||||||
|
Expires_in uint64 `json:"expires_in"`
|
||||||
|
Scope string `json:"scope"`
|
||||||
|
Session_key string `json:"session_key"`
|
||||||
|
Access_token string `json:"access_token"`
|
||||||
|
Session_secret string `json:"session_secret"`
|
||||||
|
Error string `json:"error"`
|
||||||
|
Error_description string `json:"error_description"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func OcrGetIdCard(image string, side string) (*OrcRes, error) {
|
||||||
|
var (
|
||||||
|
accesstoken string
|
||||||
|
response string
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
if accesstoken, err = GetOcrAccessToken(); err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if response, err = PostForm("https://aip.baidubce.com/rest/2.0/ocr/v1/idcard?access_token=["+accesstoken+"]", url.Values{"image": {image}, "id_card_side": {side}}); err != nil {
|
||||||
|
fmt.Println(err.Error())
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var res OcrGetIdCardRes
|
||||||
|
if err = json.Unmarshal([]byte(response), &res); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
fmt.Printf("%+v\n", res)
|
||||||
|
|
||||||
|
switch res.ImageStatus {
|
||||||
|
case "normal":
|
||||||
|
|
||||||
|
case "reversed_side":
|
||||||
|
return nil, errors.New("身份证正反面颠倒")
|
||||||
|
case "non_idcard":
|
||||||
|
return nil, errors.New("上传的图片中不包含身份证")
|
||||||
|
case "blurred":
|
||||||
|
return nil, errors.New("身份证模糊")
|
||||||
|
case "other_type_card":
|
||||||
|
return nil, errors.New("其他类型证照")
|
||||||
|
case "over_exposure":
|
||||||
|
return nil, errors.New("身份证关键字段反光或过曝")
|
||||||
|
case "over_dark":
|
||||||
|
return nil, errors.New("身份证欠曝(亮度过低)")
|
||||||
|
case "unknown":
|
||||||
|
return nil, errors.New("未知状态")
|
||||||
|
default:
|
||||||
|
return nil, errors.New("未知状态")
|
||||||
|
}
|
||||||
|
if side == "front" {
|
||||||
|
switch res.IdcardNumberType {
|
||||||
|
case -1:
|
||||||
|
return nil, errors.New("身份证正面所有字段全为空")
|
||||||
|
case 0:
|
||||||
|
return nil, errors.New(" 身份证证号不合法,此情况下不返回身份证证号")
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
return nil, errors.New("身份证证号和性别、出生信息都不一致")
|
||||||
|
case 3:
|
||||||
|
return nil, errors.New("身份证证号和出生信息不一致")
|
||||||
|
case 4:
|
||||||
|
return nil, errors.New("身份证证号和性别信息不一致")
|
||||||
|
default:
|
||||||
|
return nil, errors.New("未知状态")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var result OrcRes
|
||||||
|
fmt.Println(res.WordsResult.Name.Words)
|
||||||
|
if side == "front" {
|
||||||
|
result.Name = res.WordsResult.Name.Words
|
||||||
|
result.Birthday = res.WordsResult.Birthday.Words
|
||||||
|
result.IdCard = res.WordsResult.IdCard.Words
|
||||||
|
result.Sex = res.WordsResult.Sex.Words
|
||||||
|
result.Path = res.WordsResult.Address.Words
|
||||||
|
var age int
|
||||||
|
|
||||||
|
birYear, _ := strconv.Atoi(result.Birthday[0:4])
|
||||||
|
birMonth, _ := strconv.Atoi(result.Birthday[4:6])
|
||||||
|
fmt.Println(birYear)
|
||||||
|
fmt.Println(time.Now().Year())
|
||||||
|
age = time.Now().Year() - birYear
|
||||||
|
|
||||||
|
if int(time.Now().Month()) < birMonth {
|
||||||
|
age--
|
||||||
|
}
|
||||||
|
|
||||||
|
result.Age = age
|
||||||
|
} else {
|
||||||
|
issueDate := res.WordsResult.IssueDate.Words[:4] + "-" + res.WordsResult.IssueDate.Words[4:6] + "-" + res.WordsResult.IssueDate.Words[6:8]
|
||||||
|
result.IssueDate = issueDate
|
||||||
|
expirationDate := res.WordsResult.ExpirationDate.Words[:4] + "-" + res.WordsResult.ExpirationDate.Words[4:6] + "-" + res.WordsResult.ExpirationDate.Words[6:8]
|
||||||
|
result.ExpirationDate = expirationDate
|
||||||
|
}
|
||||||
|
|
||||||
|
return &result, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *OcrRes) CheckIdAndName() {
|
||||||
|
if utf8.RuneCountInString(m.RealName) == 18 && utf8.RuneCountInString(m.IDNum) != 18 {
|
||||||
|
m.IDNum, m.RealName = m.RealName, m.IDNum
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetOcrAccessToken() (string, error) {
|
||||||
|
var (
|
||||||
|
resObj AccessToken
|
||||||
|
err error
|
||||||
|
// daoAccessToken entity.AccessToken
|
||||||
|
)
|
||||||
|
if expires_in == 0 || expires_in < uint64(time.Now().Unix()) {
|
||||||
|
fmt.Println(1)
|
||||||
|
// if daoAccessToken, err = dao.GetAccessToken("baidu", "accesstoken"); err != nil { //查询是否有记录
|
||||||
|
// return "", err
|
||||||
|
// }
|
||||||
|
// fmt.Println(2)
|
||||||
|
if resObj, err = getOcrAccessToken(); err != nil { //从链上获取
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
// var tmp = entity.AccessToken{
|
||||||
|
// Platform: "baidu",
|
||||||
|
// Types: "accesstoken",
|
||||||
|
// Txt: resObj.Access_token,
|
||||||
|
// Expires_in: uint64(time.Now().Unix()) + resObj.Expires_in,
|
||||||
|
// }
|
||||||
|
// if daoAccessToken.Uid == 0 {
|
||||||
|
// if err = dao.AddAccessToken(tmp); err != nil {
|
||||||
|
// return "", err
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// if _, err = dao.UpdateAccessToken(tmp); err != nil {
|
||||||
|
// return "", err
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
accessToken = resObj.Access_token
|
||||||
|
expires_in = resObj.Expires_in
|
||||||
|
}
|
||||||
|
return accessToken, nil
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func getOcrAccessToken() (AccessToken, error) {
|
||||||
|
var (
|
||||||
|
resObj AccessToken
|
||||||
|
err error
|
||||||
|
)
|
||||||
|
url := "https://aip.baidubce.com/oauth/2.0/token"
|
||||||
|
urlReq := "?grant_type=" + grant_type + "&client_id=" + ocr_client_id + "&client_secret=" + ocr_client_secret
|
||||||
|
fmt.Println(urlReq)
|
||||||
|
res := Get(url + urlReq)
|
||||||
|
if err = json.Unmarshal([]byte(res), &resObj); err != nil {
|
||||||
|
return resObj, err
|
||||||
|
}
|
||||||
|
if resObj.Error != "" {
|
||||||
|
return resObj, errors.New(resObj.Error_description)
|
||||||
|
}
|
||||||
|
return resObj, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func PostForm(urlStr string, data url.Values) (string, error) {
|
||||||
|
resp, err := http.PostForm(urlStr, data)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
// handle error
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
body, err := ioutil.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
// handle error
|
||||||
|
}
|
||||||
|
return string(body), err
|
||||||
|
}
|
||||||
|
|
||||||
|
func Get(url string) string {
|
||||||
|
|
||||||
|
// 超时时间:5秒
|
||||||
|
client := &http.Client{Timeout: 5 * time.Second}
|
||||||
|
resp, err := client.Get(url)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
var buffer [512]byte
|
||||||
|
result := bytes.NewBuffer(nil)
|
||||||
|
for {
|
||||||
|
n, err := resp.Body.Read(buffer[0:])
|
||||||
|
result.Write(buffer[0:n])
|
||||||
|
if err != nil && err == io.EOF {
|
||||||
|
break
|
||||||
|
} else if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.String()
|
||||||
|
}
|
@ -18,7 +18,7 @@ func NewRouter() *gin.Engine {
|
|||||||
r.Use(gzip.Gzip(gzip.DefaultCompression))
|
r.Use(gzip.Gzip(gzip.DefaultCompression))
|
||||||
//加入日志中间件,跨域中间件
|
//加入日志中间件,跨域中间件
|
||||||
r.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true))
|
r.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true))
|
||||||
auth := r.Group("")
|
auth := r.Group("/api")
|
||||||
//auth.Use(middleware.JWTAuthMiddleware())
|
//auth.Use(middleware.JWTAuthMiddleware())
|
||||||
// 上传
|
// 上传
|
||||||
upload := auth.Group("upload")
|
upload := auth.Group("upload")
|
||||||
@ -35,9 +35,10 @@ func NewRouter() *gin.Engine {
|
|||||||
{
|
{
|
||||||
registerAuth.POST("register_record_list", service.RegisterList) //报名列表
|
registerAuth.POST("register_record_list", service.RegisterList) //报名列表
|
||||||
registerAuth.POST("check_by_phone", service.CheckByPhone) //检索手机号
|
registerAuth.POST("check_by_phone", service.CheckByPhone) //检索手机号
|
||||||
|
registerAuth.POST("check_id_card", service.CheckIdCard) //检索身份证号
|
||||||
registerAuth.POST("save_register_info", service.SaveRegister) //保存
|
registerAuth.POST("save_register_info", service.SaveRegister) //保存
|
||||||
registerAuth.POST("export_register", service.ExportRegister) //导出
|
registerAuth.POST("export_register", service.ExportRegister) //导出
|
||||||
registerAuth.POST("scan_id_card", service.GetCardIdWithImg) //扫描身份证图片获取信息
|
registerAuth.POST("scan_id_card", service.OcrBase64) //扫描身份证图片获取信息
|
||||||
}
|
}
|
||||||
|
|
||||||
//静态文件
|
//静态文件
|
||||||
|
@ -2,6 +2,7 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/exhibition-main/api/account"
|
"github.com/exhibition-main/api/account"
|
||||||
|
appconfig "github.com/exhibition-main/internal/config"
|
||||||
"github.com/exhibition-main/internal/msg"
|
"github.com/exhibition-main/internal/msg"
|
||||||
"github.com/exhibition-main/internal/response"
|
"github.com/exhibition-main/internal/response"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
@ -17,10 +18,10 @@ func OnlySend(c *gin.Context) {
|
|||||||
response.ResponseQuickMsg(c, msg.Fail, msg.INVALID_PARAMS, nil)
|
response.ResponseQuickMsg(c, msg.Fail, msg.INVALID_PARAMS, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//req.Domain = appconfig.Data.System.Domain
|
req.Domain = appconfig.Data.System.Domain
|
||||||
//req.Scope = "exhibition"
|
req.Scope = "exhibition"
|
||||||
|
|
||||||
res, err := AccountProvider.SendMsg(c, &req)
|
res, err := AccountProvider.OnlySendMsg(c, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
return
|
return
|
||||||
@ -40,8 +41,8 @@ func OnlyCheck(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//req.Domain = appconfig.Data.System.Domain
|
req.Domain = appconfig.Data.System.Domain
|
||||||
//req.Scope = "exhibition"
|
req.Scope = "exhibition"
|
||||||
|
|
||||||
res, err := AccountProvider.OnlyCheckMsg(c, &req)
|
res, err := AccountProvider.OnlyCheckMsg(c, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -212,7 +212,7 @@ func GetSnapshot(videoPath, snapshotPath string, frameNum int) (snapshotName str
|
|||||||
}
|
}
|
||||||
|
|
||||||
func PutBos(filePath string, mediaType string, needRemove bool) (url string, err error) {
|
func PutBos(filePath string, mediaType string, needRemove bool) (url string, err error) {
|
||||||
BOSClient, err := objstorage.NewBOS(config.BosAk, config.BosSk, objstorage.BOS_BJ)
|
BOSClient, err := objstorage.NewBOS(config.Data.Bos.AccessKeyId, config.Data.Bos.AccessKeySecret, objstorage.BOS_BJ)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("PutBos NewBOS err ", err)
|
logger.Errorf("PutBos NewBOS err ", err)
|
||||||
err = errors.New(msg.ErrorUploadBos)
|
err = errors.New(msg.ErrorUploadBos)
|
||||||
@ -235,15 +235,14 @@ func PutBos(filePath string, mediaType string, needRemove bool) (url string, err
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
filePath = strings.Replace(filePath, "./runtime", "", 1)
|
filePath = strings.Replace(filePath, "./runtime", "", 1)
|
||||||
var objectName string = fmt.Sprintf("%s/%s%s", config.BosBaseDir, config.Env, filePath)
|
var objectName string = fmt.Sprintf("%s/%s%s", config.Data.Bos.BosBaseDir, config.Data.System.Mode, filePath)
|
||||||
_, err = BOSClient.PutObjectFromBytes(config.BosBucketName, objectName, fileBytes)
|
_, err = BOSClient.PutObjectFromBytes(config.Data.Bos.BucketName, objectName, fileBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("PutBos PutObject err %+v", err.Error())
|
logger.Errorf("PutBos PutObject err %+v", err.Error())
|
||||||
err = errors.New(msg.ErrorUploadBos)
|
err = errors.New(msg.ErrorUploadBos)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//url = fmt.Sprintf("%s%s%s/%s", config.BosHttp, config.BosBucketName, config.BosUrl, objectName)
|
url = fmt.Sprintf("%s/%s", config.Data.Bos.CdnHost, objectName)
|
||||||
url = fmt.Sprintf("%s%s/%s", config.BosHttp, config.BosDomain, objectName)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,15 +257,14 @@ func quickBos(file *multipart.FileHeader, mediaType string, mask string, source
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var objectName string = fmt.Sprintf("%s/%s/%s", config.BosBaseDir, config.Env, filePath)
|
var objectName string = fmt.Sprintf("%s/%s/%s", config.Data.Bos.BosBaseDir, config.Data.System.Mode, filePath)
|
||||||
BOSClient, _ := objstorage.NewBOS(config.BosAk, config.BosSk, objstorage.BOS_BJ)
|
BOSClient, _ := objstorage.NewBOS(config.Data.Bos.AccessKeyId, config.Data.Bos.AccessKeySecret, objstorage.BOS_BJ)
|
||||||
_, err = BOSClient.PutObjectFromBytes(config.BosBucketName, objectName, fileBytes)
|
_, err = BOSClient.PutObjectFromBytes(config.Data.Bos.BucketName, objectName, fileBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("quickBos err", err)
|
logger.Errorf("quickBos err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//url = fmt.Sprintf("%s%s%s/%s", config.BosHttp, config.BosBucketName, config.BosUrl, objectName)
|
url = fmt.Sprintf("%s/%s", config.Data.Bos.CdnHost, objectName)
|
||||||
url = fmt.Sprintf("%s%s/%s", config.BosHttp, config.BosDomain, objectName)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,10 +14,10 @@ var AccountProvider = new(account.AccountClientImpl)
|
|||||||
var GrpcArtistImpl = new(artist.ArtistClientImpl)
|
var GrpcArtistImpl = new(artist.ArtistClientImpl)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
appConfig.GetOptions()
|
||||||
config.SetConsumerService(GrpcArtistImpl)
|
config.SetConsumerService(GrpcArtistImpl)
|
||||||
config.SetConsumerService(AccountProvider)
|
config.SetConsumerService(AccountProvider)
|
||||||
config.SetConsumerService(GrpcExhibitionClientImpl)
|
config.SetConsumerService(GrpcExhibitionClientImpl)
|
||||||
appConfig.GetOptions()
|
|
||||||
if err := config.Load(); err != nil {
|
if err := config.Load(); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/base64"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/dubbogo/gost/log/logger"
|
"github.com/dubbogo/gost/log/logger"
|
||||||
"github.com/exhibition-main/api/artist"
|
|
||||||
"github.com/exhibition-main/api/exhibition"
|
"github.com/exhibition-main/api/exhibition"
|
||||||
"github.com/exhibition-main/internal/config"
|
"github.com/exhibition-main/internal/config"
|
||||||
"github.com/exhibition-main/internal/model"
|
"github.com/exhibition-main/internal/model"
|
||||||
@ -13,6 +13,9 @@ import (
|
|||||||
"github.com/exhibition-main/pkg/logic"
|
"github.com/exhibition-main/pkg/logic"
|
||||||
"github.com/exhibition-main/pkg/utils"
|
"github.com/exhibition-main/pkg/utils"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
"io/ioutil"
|
||||||
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -45,11 +48,59 @@ func CheckByPhone(c *gin.Context) {
|
|||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
if resp.IsExist {
|
||||||
|
img := resp.Data.IdCardBackPhoto
|
||||||
|
|
||||||
|
response1, err := http.Get(img)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("网络请求错误:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
defer response1.Body.Close()
|
||||||
|
|
||||||
|
// 读取图片数据
|
||||||
|
imageData, err := ioutil.ReadAll(response1.Body)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("读取图片数据错误:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将图片数据转换为base64编码
|
||||||
|
base64Data := base64.StdEncoding.EncodeToString(imageData)
|
||||||
|
result, err := model.OcrGetIdCard(base64Data, "back")
|
||||||
|
if err != nil {
|
||||||
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
resp.Data.IdCardStartDate = result.IssueDate
|
||||||
|
resp.Data.IdCardEndDate = result.ExpirationDate
|
||||||
|
}
|
||||||
|
|
||||||
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, resp)
|
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, resp)
|
||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func CheckIdCard(c *gin.Context) {
|
||||||
|
var registerInfo exhibition.RegisterInfo
|
||||||
|
if err := c.ShouldBind(®isterInfo); err != nil {
|
||||||
|
logger.Errorf("CheckIdCard ShouldBind err", err)
|
||||||
|
response.ResponseQuickMsg(c, msg.Fail, msg.INVALID_PARAMS, nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
resp, err := GrpcExhibitionClientImpl.CheckIdCard(context.Background(), ®isterInfo)
|
||||||
|
if err != nil {
|
||||||
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, nil)
|
||||||
|
return
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
func SaveRegister(c *gin.Context) {
|
func SaveRegister(c *gin.Context) {
|
||||||
var registerInfo exhibition.RegisterInfo
|
var registerInfo exhibition.RegisterInfo
|
||||||
if err := c.ShouldBind(®isterInfo); err != nil {
|
if err := c.ShouldBind(®isterInfo); err != nil {
|
||||||
@ -62,6 +113,33 @@ func SaveRegister(c *gin.Context) {
|
|||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
img := resp.Data.IdCardBackPhoto
|
||||||
|
|
||||||
|
response1, err := http.Get(img)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("网络请求错误:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
defer response1.Body.Close()
|
||||||
|
|
||||||
|
// 读取图片数据
|
||||||
|
imageData, err := ioutil.ReadAll(response1.Body)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("读取图片数据错误:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将图片数据转换为base64编码
|
||||||
|
base64Data := base64.StdEncoding.EncodeToString(imageData)
|
||||||
|
result, err := model.OcrGetIdCard(base64Data, "back")
|
||||||
|
if err != nil {
|
||||||
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
resp.Data.IdCardStartDate = result.IssueDate
|
||||||
|
resp.Data.IdCardEndDate = result.ExpirationDate
|
||||||
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, resp)
|
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, resp)
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -87,7 +165,7 @@ func ExportRegister(c *gin.Context) {
|
|||||||
resp.Data = []*exhibition.ExportInfo{}
|
resp.Data = []*exhibition.ExportInfo{}
|
||||||
}
|
}
|
||||||
columns := []string{"画家姓名", "性别", "手机号", "身份证号", "通讯地址", "身份证照片", "本人近照", "报名时间", "更新时间"}
|
columns := []string{"画家姓名", "性别", "手机号", "身份证号", "通讯地址", "身份证照片", "本人近照", "报名时间", "更新时间"}
|
||||||
exportFileName := fmt.Sprintf("国展报名%v.xlsx", time.Now().Format("2006-01-01"))
|
exportFileName := fmt.Sprintf("国展报名%s.xlsx", time.Now().Format("20060102"))
|
||||||
filePath := fmt.Sprintf("./runtime/%s", exportFileName)
|
filePath := fmt.Sprintf("./runtime/%s", exportFileName)
|
||||||
data := make([]interface{}, 0)
|
data := make([]interface{}, 0)
|
||||||
for _, v := range resp.Data {
|
for _, v := range resp.Data {
|
||||||
@ -117,13 +195,13 @@ func ExportRegister(c *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
var httpType string
|
var httpType string
|
||||||
if config.IsHttps {
|
if config.Data.System.IsHttps {
|
||||||
httpType = model.HttpsType
|
httpType = model.HttpsType
|
||||||
} else {
|
} else {
|
||||||
httpType = model.HttpType
|
httpType = model.HttpType
|
||||||
}
|
}
|
||||||
var exportUrl string = fmt.Sprintf("%s%s/static/%s", httpType, c.Request.Host, exportFileName)
|
var exportUrl string
|
||||||
|
exportUrl = fmt.Sprintf("%s%s/static/%s", httpType, c.Request.Host, exportFileName)
|
||||||
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, map[string]string{
|
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, map[string]string{
|
||||||
"exportUrl": exportUrl,
|
"exportUrl": exportUrl,
|
||||||
})
|
})
|
||||||
@ -131,23 +209,65 @@ func ExportRegister(c *gin.Context) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetCardIdWithImg(c *gin.Context) {
|
func OcrBase64(c *gin.Context) {
|
||||||
var listReq artist.GetCardIdWithImgReq
|
|
||||||
if err := c.ShouldBind(&listReq); err != nil {
|
var req model.OcrQuery
|
||||||
logger.Errorf("GetCardIdWithImg ShouldBind err", err)
|
|
||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil {
|
||||||
|
logger.Errorf("OcrBase64 ShouldBind err", err)
|
||||||
|
response.ResponseQuickMsg(c, msg.Fail, msg.INVALID_PARAMS, nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := listReq.Validate(); err != nil {
|
|
||||||
err = utils.SubstrError(err)
|
img := req.IdCardUrl
|
||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
|
||||||
|
response1, err := http.Get(img)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("网络请求错误:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
resp, err := GrpcArtistImpl.GetCardIdWithImg(context.Background(), &listReq)
|
|
||||||
|
defer response1.Body.Close()
|
||||||
|
|
||||||
|
// 读取图片数据
|
||||||
|
imageData, err := ioutil.ReadAll(response1.Body)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("读取图片数据错误:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将图片数据转换为base64编码
|
||||||
|
base64Data := base64.StdEncoding.EncodeToString(imageData)
|
||||||
|
fmt.Println(base64Data)
|
||||||
|
|
||||||
|
side := ""
|
||||||
|
if req.Side == 1 {
|
||||||
|
side = "front"
|
||||||
|
} else {
|
||||||
|
side = "back"
|
||||||
|
}
|
||||||
|
result, err := model.OcrGetIdCard(base64Data, side)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
response.ResponseQuickMsg(c, msg.Fail, err.Error(), nil)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
response.ResponseQuickMsg(c, msg.Ok, resp.Msg, resp)
|
|
||||||
|
res := model.OcrRes{}
|
||||||
|
if side == "front" {
|
||||||
|
res.IDNum = result.IdCard
|
||||||
|
res.RealName = result.Name
|
||||||
|
res.Path = result.Path
|
||||||
|
res.Age = result.Age
|
||||||
|
res.Birthday = result.Birthday
|
||||||
|
res.Sex = result.Sex
|
||||||
|
fmt.Println("身份证和名字", res.IDNum, res.RealName)
|
||||||
|
res.CheckIdAndName()
|
||||||
|
fmt.Println("身份证和名字", res.IDNum, res.RealName)
|
||||||
|
} else {
|
||||||
|
res.IssueDate = result.IssueDate
|
||||||
|
res.ExpirationDate = result.ExpirationDate
|
||||||
|
}
|
||||||
|
|
||||||
|
response.ResponseQuickMsg(c, msg.Ok, "操作成功", res)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user