From cdfbd81ed9045a579e1cd50af4da256dd2148ff4 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Tue, 11 Apr 2023 16:42:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=BB=E5=AE=B6id=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistInfo_user.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmd/internal/dao/artistInfo_user.go b/cmd/internal/dao/artistInfo_user.go index b16b7b4..f19343e 100644 --- a/cmd/internal/dao/artistInfo_user.go +++ b/cmd/internal/dao/artistInfo_user.go @@ -816,6 +816,9 @@ func UpdateUserData(req *artistInfoUser.UserInfo) (rep *artistInfoUser.CommonNoP if req.WxAccount != "" { preUpdateData.WxAccount = req.WxAccount } + if req.MgmtArtistId != 0 { + preUpdateData.MgmtArtistId = req.MgmtArtistId + } tx := db.DB.Begin() err = tx.Save(&preUpdateData).Error From 8b9d0cc18e2203ed3c70cba4456a7951ebd71976 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Wed, 12 Apr 2023 10:07:49 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=8E=B0=E8=A6=81=E6=B1=82=E6=9A=82?= =?UTF-8?q?=E5=AD=98=E5=92=8C=E9=94=81=E5=AE=9A=E7=9A=84=E7=94=BB=E4=BD=9C?= =?UTF-8?q?=E9=83=BD=E8=83=BD=E8=BF=9B=E8=A1=8C=E5=AE=A1=E6=89=B9=E5=92=8C?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistinfo_artwork.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 16a25bf..617c5d3 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -137,7 +137,7 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) case artistInfoArtwork.ArtworkQueryMode_NowPreSaveAndLocked: //当前暂存和已锁定的画作(也就是用户端画作管理中的数据) tx = tx.Where("status =1 OR status =2") case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfBase: //当前处于基本信息审批阶段的画作(包括进入其它流程的画作) - tx = tx.Where("status = 2 ") // AND audit_flow_index = 2 + tx = tx.Where("status = 1 OR status=2") // 现要求暂存和锁定的画作都能进行审批和展示 case artistInfoArtwork.ArtworkQueryMode_NowAuditFlowOfSupplementing: //当前处于补充信息审批阶段的画作 tx = tx.Where("status =2 AND audit_flow_index = 3") case artistInfoArtwork.ArtworkQueryMode_AllUnlockArtwork: //所有已解锁的画作(历史画作) From 9cb3a13532230fd6454f8ac4b2808506e7d8cb6d Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Wed, 12 Apr 2023 17:51:11 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E7=94=BB=E4=BD=9C=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=98=AF=E5=90=A6=E5=85=A5=E5=9B=B4=E5=9B=BD?= =?UTF-8?q?=E5=B1=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/controller/artistInfo_artwork.go | 9 + cmd/internal/dao/artistinfo_artwork.go | 23 + cmd/internal/logic/artistinfo_artwork.go | 7 + cmd/model/artwork_main_lockRecord.go | 3 + pb/artistInfoArtwork/artistinfoArtwork.pb.go | 455 +++++++++++++----- .../artistinfoArtwork.pb.validate.go | 344 +++++++++++++ .../artistinfoArtwork_triple.pb.go | 90 ++++ pb/artistinfoArtwork.proto | 16 + 8 files changed, 834 insertions(+), 113 deletions(-) diff --git a/cmd/internal/controller/artistInfo_artwork.go b/cmd/internal/controller/artistInfo_artwork.go index 78e5017..ba2e577 100644 --- a/cmd/internal/controller/artistInfo_artwork.go +++ b/cmd/internal/controller/artistInfo_artwork.go @@ -86,3 +86,12 @@ func (a ArtistInfoArtworkProvider) GetArtworkLockRecords(ctx context.Context, re func (a ArtistInfoArtworkProvider) GetArtworkLockHistoryGroup(ctx context.Context, request *artistInfoArtwork.GetArtworkLockHistoryRequest) (*artistInfoArtwork.GetArtworkLockHistoryResponse, error) { return a.artistInfoLogic.GetArtworkLockHistoryGroup(request) } + +func (a ArtistInfoArtworkProvider) UpdateArtworkExtData(ctx context.Context, request *artistInfoArtwork.ArtworkExtData) (emp *emptypb.Empty, err error) { + err = a.artistInfoLogic.UpdateArtworkExtData(request) + return +} + +func (a ArtistInfoArtworkProvider) GetArtworkExtDatas(ctx context.Context, request *artistInfoArtwork.GetArtworkExtDataRequest) (*artistInfoArtwork.GetArtworkExtDataResponse, error) { + return a.artistInfoLogic.GetArtworkExtDatas(request) +} diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 617c5d3..d4c1ca4 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -325,3 +325,26 @@ func CountAllArtworkTotal(artistUid string) (artworkTotal int64, artworkRulerTot } return artworkTotal, artworkRulerTotal } + +func UpdateArtworkExtData(request *artistInfoArtwork.ArtworkExtData) (err error) { + err = db.DB.Model(model.ArtworkLockRecord{}).Where("artwork_uid = ?", request.ArtworkUid).Update("national_exhibition", request.NationalExhibition).Error + return +} +func GetArtworkExtDatas(request *artistInfoArtwork.GetArtworkExtDataRequest) (data *artistInfoArtwork.GetArtworkExtDataResponse, err error) { + data = &artistInfoArtwork.GetArtworkExtDataResponse{ + Data: []*artistInfoArtwork.ArtworkExtData{}, + } + if request.ArtworkUid != "" { + request.ArtworkUids = append(request.ArtworkUids, request.ArtworkUid) + } + for _, v := range request.ArtworkUids { + var artworkData = artistInfoArtwork.ArtworkExtData{ArtworkUid: v} + var findData model.ArtworkLockRecord + if err = db.DB.Where("artwork_uid = ?", v).Find(&findData).Error; err != nil { + return + } + artworkData.NationalExhibition = int64(findData.NationalExhibition) + data.Data = append(data.Data, &artworkData) + } + return +} diff --git a/cmd/internal/logic/artistinfo_artwork.go b/cmd/internal/logic/artistinfo_artwork.go index 61d660a..902898f 100644 --- a/cmd/internal/logic/artistinfo_artwork.go +++ b/cmd/internal/logic/artistinfo_artwork.go @@ -329,3 +329,10 @@ func (a ArtistInfoArtworkLogic) ArtworkStatic(request *artistInfoArtwork.ArtistA } return } + +func (a ArtistInfoArtworkLogic) UpdateArtworkExtData(request *artistInfoArtwork.ArtworkExtData) error { + return dao.UpdateArtworkExtData(request) +} +func (a ArtistInfoArtworkLogic) GetArtworkExtDatas(request *artistInfoArtwork.GetArtworkExtDataRequest) (*artistInfoArtwork.GetArtworkExtDataResponse, error) { + return dao.GetArtworkExtDatas(request) +} diff --git a/cmd/model/artwork_main_lockRecord.go b/cmd/model/artwork_main_lockRecord.go index 7a3bdd1..a3b2b62 100644 --- a/cmd/model/artwork_main_lockRecord.go +++ b/cmd/model/artwork_main_lockRecord.go @@ -53,6 +53,9 @@ type ArtworkLockRecord struct { SupplementAuditMark string `json:"supplementAuditMark" gorm:"column:supplement_audit_mark;comment:补充信息审核备注1"` SupplementAuditMark2 string `json:"supplementAuditMark2" gorm:"column:supplement_audit_mark2;comment:补充信息审核备注2"` //UserInfo User `gorm:"foreignKey:ArtistUid;reference:MgmtArtistUid"` + + //画作新增字段(此类字段只在画家宝中展示) + NationalExhibition int `json:"nationalExhibition" gorm:"column:national_exhibition;default:1;comment:是否入选国家画展 1=无(默认) 2=入围 3=入选 4=入围+入选"` } func (a *ArtworkLockRecord) TableName() string { diff --git a/pb/artistInfoArtwork/artistinfoArtwork.pb.go b/pb/artistInfoArtwork/artistinfoArtwork.pb.go index 7ffc800..10847fe 100644 --- a/pb/artistInfoArtwork/artistinfoArtwork.pb.go +++ b/pb/artistInfoArtwork/artistinfoArtwork.pb.go @@ -1614,6 +1614,163 @@ func (x *ArtistArtworkStaticResponse) GetTotal() int64 { return 0 } +type ArtworkExtData struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtworkUid string `protobuf:"bytes,1,opt,name=artworkUid,proto3" json:"artworkUid,omitempty"` + NationalExhibition int64 `protobuf:"varint,2,opt,name=nationalExhibition,proto3" json:"nationalExhibition,omitempty"` //是否入选国家画展 1=无(默认) 2=入围 3=入选 4=入围+入选 +} + +func (x *ArtworkExtData) Reset() { + *x = ArtworkExtData{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArtworkExtData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArtworkExtData) ProtoMessage() {} + +func (x *ArtworkExtData) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArtworkExtData.ProtoReflect.Descriptor instead. +func (*ArtworkExtData) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtwork_proto_rawDescGZIP(), []int{20} +} + +func (x *ArtworkExtData) GetArtworkUid() string { + if x != nil { + return x.ArtworkUid + } + return "" +} + +func (x *ArtworkExtData) GetNationalExhibition() int64 { + if x != nil { + return x.NationalExhibition + } + return 0 +} + +type GetArtworkExtDataRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtworkUid string `protobuf:"bytes,1,opt,name=artworkUid,proto3" json:"artworkUid,omitempty"` //选填1 + ArtworkUids []string `protobuf:"bytes,2,rep,name=artworkUids,proto3" json:"artworkUids,omitempty"` //选填2 +} + +func (x *GetArtworkExtDataRequest) Reset() { + *x = GetArtworkExtDataRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkExtDataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkExtDataRequest) ProtoMessage() {} + +func (x *GetArtworkExtDataRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[21] + 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 GetArtworkExtDataRequest.ProtoReflect.Descriptor instead. +func (*GetArtworkExtDataRequest) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtwork_proto_rawDescGZIP(), []int{21} +} + +func (x *GetArtworkExtDataRequest) GetArtworkUid() string { + if x != nil { + return x.ArtworkUid + } + return "" +} + +func (x *GetArtworkExtDataRequest) GetArtworkUids() []string { + if x != nil { + return x.ArtworkUids + } + return nil +} + +type GetArtworkExtDataResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ArtworkExtData `protobuf:"bytes,1,rep,name=Data,proto3" json:"Data,omitempty"` +} + +func (x *GetArtworkExtDataResponse) Reset() { + *x = GetArtworkExtDataResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetArtworkExtDataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetArtworkExtDataResponse) ProtoMessage() {} + +func (x *GetArtworkExtDataResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_artistinfoArtwork_proto_msgTypes[22] + 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 GetArtworkExtDataResponse.ProtoReflect.Descriptor instead. +func (*GetArtworkExtDataResponse) Descriptor() ([]byte, []int) { + return file_pb_artistinfoArtwork_proto_rawDescGZIP(), []int{22} +} + +func (x *GetArtworkExtDataResponse) GetData() []*ArtworkExtData { + if x != nil { + return x.Data + } + return nil +} + var File_pb_artistinfoArtwork_proto protoreflect.FileDescriptor var file_pb_artistinfoArtwork_proto_rawDesc = []byte{ @@ -1861,92 +2018,120 @@ var file_pb_artistinfoArtwork_proto_rawDesc = []byte{ 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x2a, 0xc9, 0x01, 0x0a, 0x10, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x07, 0x0a, 0x03, 0x4e, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x6f, 0x77, 0x50, - 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x01, 0x12, - 0x14, 0x0a, 0x10, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, - 0x61, 0x76, 0x65, 0x41, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x03, 0x12, 0x16, - 0x0a, 0x12, 0x4e, 0x6f, 0x77, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x4f, 0x66, - 0x42, 0x61, 0x73, 0x65, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x6f, 0x77, 0x41, 0x75, 0x64, - 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x4f, 0x66, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x55, 0x6e, - 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x06, 0x12, 0x17, 0x0a, - 0x13, 0x41, 0x6c, 0x6c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x07, 0x32, 0x84, 0x09, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x17, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, - 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, - 0x6f, 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, - 0x63, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, - 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, - 0x5d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, - 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, - 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x6c, - 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, - 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x60, 0x0a, 0x0e, 0x41, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x12, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x45, 0x78, 0x68, 0x69, 0x62, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5c, 0x0a, 0x18, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x61, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x22, 0x4b, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, + 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x04, 0x44, 0x61, 0x74, 0x61, 0x2a, 0xc9, 0x01, 0x0a, 0x10, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x07, 0x0a, 0x03, + 0x4e, 0x6f, 0x6e, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, + 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, + 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4e, 0x6f, 0x77, 0x50, 0x72, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x41, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4e, + 0x6f, 0x77, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, 0x6c, 0x6f, 0x77, 0x4f, 0x66, 0x42, 0x61, 0x73, + 0x65, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x4e, 0x6f, 0x77, 0x41, 0x75, 0x64, 0x69, 0x74, 0x46, + 0x6c, 0x6f, 0x77, 0x4f, 0x66, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x67, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x6c, 0x6c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, + 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x10, 0x06, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x6c, + 0x6c, 0x41, 0x75, 0x64, 0x69, 0x74, 0x50, 0x61, 0x73, 0x73, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x10, 0x07, 0x32, 0xb7, 0x0a, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x66, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x00, 0x12, 0x5e, 0x0a, 0x11, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, + 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, + 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0x00, 0x12, 0x60, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, + 0x74, 0x22, 0x00, 0x12, 0x73, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, + 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x61, 0x72, + 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, + 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x1c, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x73, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, - 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x55, 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, - 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, - 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x14, + 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x12, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x4c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x18, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x41, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4e, + 0x6f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x1c, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x42, 0x61, 0x73, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, - 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, - 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, - 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x16, 0x5a, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, + 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6f, 0x0a, 0x22, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, + 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, + 0x69, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x61, 0x72, 0x74, 0x69, + 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x72, 0x74, 0x77, + 0x6f, 0x72, 0x6b, 0x45, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x1d, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x75, 0x70, 0x70, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1e, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x55, 0x69, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, + 0x12, 0x68, 0x0a, 0x13, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x12, 0x26, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x41, 0x72, 0x74, + 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x69, 0x63, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x14, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x1a, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, + 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x12, 0x24, + 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, + 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x66, + 0x6f, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x16, 0x5a, 0x14, 0x2e, 0x2f, 0x3b, 0x61, 0x72, 0x74, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x41, 0x72, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } @@ -1964,7 +2149,7 @@ func file_pb_artistinfoArtwork_proto_rawDescGZIP() []byte { } var file_pb_artistinfoArtwork_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_pb_artistinfoArtwork_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_pb_artistinfoArtwork_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_pb_artistinfoArtwork_proto_goTypes = []interface{}{ (ArtworkQueryMode)(0), // 0: artistinfo.ArtworkQueryMode (*ArtworkCommonNoParams)(nil), // 1: artistinfo.ArtworkCommonNoParams @@ -1987,7 +2172,10 @@ var file_pb_artistinfoArtwork_proto_goTypes = []interface{}{ (*ArtistArtworkStaticRequest)(nil), // 18: artistinfo.ArtistArtworkStaticRequest (*ArtistArtworkStaticStaticData)(nil), // 19: artistinfo.ArtistArtworkStaticStaticData (*ArtistArtworkStaticResponse)(nil), // 20: artistinfo.ArtistArtworkStaticResponse - (*emptypb.Empty)(nil), // 21: google.protobuf.Empty + (*ArtworkExtData)(nil), // 21: artistinfo.ArtworkExtData + (*GetArtworkExtDataRequest)(nil), // 22: artistinfo.GetArtworkExtDataRequest + (*GetArtworkExtDataResponse)(nil), // 23: artistinfo.GetArtworkExtDataResponse + (*emptypb.Empty)(nil), // 24: google.protobuf.Empty } var file_pb_artistinfoArtwork_proto_depIdxs = []int32{ 0, // 0: artistinfo.GetArtworkLockRecordsRequest.queryType:type_name -> artistinfo.ArtworkQueryMode @@ -1995,33 +2183,38 @@ var file_pb_artistinfoArtwork_proto_depIdxs = []int32{ 15, // 2: artistinfo.GetArtworkLockHistoryResponse.groupList:type_name -> artistinfo.ArtworkLockRecord 13, // 3: artistinfo.ArtworkLockRecord.dataList:type_name -> artistinfo.ArtworkPreviewInfo 19, // 4: artistinfo.ArtistArtworkStaticResponse.data:type_name -> artistinfo.ArtistArtworkStaticStaticData - 4, // 5: artistinfo.ArtistInfoArtwork.CreateArtworkLockRecord:input_type -> artistinfo.CreateArtworkLockRecordReq - 5, // 6: artistinfo.ArtistInfoArtwork.ArtworkLockAction:input_type -> artistinfo.ArtworkLockActionRequest - 6, // 7: artistinfo.ArtistInfoArtwork.GetArtworkLockRecords:input_type -> artistinfo.GetArtworkLockRecordsRequest - 11, // 8: artistinfo.ArtistInfoArtwork.GetArtworkLockHistoryGroup:input_type -> artistinfo.GetArtworkLockHistoryRequest - 10, // 9: artistinfo.ArtistInfoArtwork.DeleteArtworkRecord:input_type -> artistinfo.DeleteArtworkRecordRequest - 12, // 10: artistinfo.ArtistInfoArtwork.GetArtworkLockDetail:input_type -> artistinfo.GetArtworkLockDetailRequest - 16, // 11: artistinfo.ArtistInfoArtwork.UpdateArtworkAuditStatus:input_type -> artistinfo.UpdateArtworkAuditStatusRequest - 2, // 12: artistinfo.ArtistInfoArtwork.CheckArtworkBaseInfoEditable:input_type -> artistinfo.ArtworkUidRequest - 2, // 13: artistinfo.ArtistInfoArtwork.CheckArtworkSupplementInfoEditable:input_type -> artistinfo.ArtworkUidRequest - 3, // 14: artistinfo.ArtistInfoArtwork.GenerateArtworkSupplementInfo:input_type -> artistinfo.ArtworkUidsRequest - 18, // 15: artistinfo.ArtistInfoArtwork.ArtistArtworkStatic:input_type -> artistinfo.ArtistArtworkStaticRequest - 1, // 16: artistinfo.ArtistInfoArtwork.CreateArtworkLockRecord:output_type -> artistinfo.ArtworkCommonNoParams - 1, // 17: artistinfo.ArtistInfoArtwork.ArtworkLockAction:output_type -> artistinfo.ArtworkCommonNoParams - 8, // 18: artistinfo.ArtistInfoArtwork.GetArtworkLockRecords:output_type -> artistinfo.ArtworkLockList - 14, // 19: artistinfo.ArtistInfoArtwork.GetArtworkLockHistoryGroup:output_type -> artistinfo.GetArtworkLockHistoryResponse - 1, // 20: artistinfo.ArtistInfoArtwork.DeleteArtworkRecord:output_type -> artistinfo.ArtworkCommonNoParams - 7, // 21: artistinfo.ArtistInfoArtwork.GetArtworkLockDetail:output_type -> artistinfo.ArtistLockInfo - 1, // 22: artistinfo.ArtistInfoArtwork.UpdateArtworkAuditStatus:output_type -> artistinfo.ArtworkCommonNoParams - 17, // 23: artistinfo.ArtistInfoArtwork.CheckArtworkBaseInfoEditable:output_type -> artistinfo.CheckArtworkEditableResponse - 17, // 24: artistinfo.ArtistInfoArtwork.CheckArtworkSupplementInfoEditable:output_type -> artistinfo.CheckArtworkEditableResponse - 21, // 25: artistinfo.ArtistInfoArtwork.GenerateArtworkSupplementInfo:output_type -> google.protobuf.Empty - 20, // 26: artistinfo.ArtistInfoArtwork.ArtistArtworkStatic:output_type -> artistinfo.ArtistArtworkStaticResponse - 16, // [16:27] is the sub-list for method output_type - 5, // [5:16] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 21, // 5: artistinfo.GetArtworkExtDataResponse.Data:type_name -> artistinfo.ArtworkExtData + 4, // 6: artistinfo.ArtistInfoArtwork.CreateArtworkLockRecord:input_type -> artistinfo.CreateArtworkLockRecordReq + 5, // 7: artistinfo.ArtistInfoArtwork.ArtworkLockAction:input_type -> artistinfo.ArtworkLockActionRequest + 6, // 8: artistinfo.ArtistInfoArtwork.GetArtworkLockRecords:input_type -> artistinfo.GetArtworkLockRecordsRequest + 11, // 9: artistinfo.ArtistInfoArtwork.GetArtworkLockHistoryGroup:input_type -> artistinfo.GetArtworkLockHistoryRequest + 10, // 10: artistinfo.ArtistInfoArtwork.DeleteArtworkRecord:input_type -> artistinfo.DeleteArtworkRecordRequest + 12, // 11: artistinfo.ArtistInfoArtwork.GetArtworkLockDetail:input_type -> artistinfo.GetArtworkLockDetailRequest + 16, // 12: artistinfo.ArtistInfoArtwork.UpdateArtworkAuditStatus:input_type -> artistinfo.UpdateArtworkAuditStatusRequest + 2, // 13: artistinfo.ArtistInfoArtwork.CheckArtworkBaseInfoEditable:input_type -> artistinfo.ArtworkUidRequest + 2, // 14: artistinfo.ArtistInfoArtwork.CheckArtworkSupplementInfoEditable:input_type -> artistinfo.ArtworkUidRequest + 3, // 15: artistinfo.ArtistInfoArtwork.GenerateArtworkSupplementInfo:input_type -> artistinfo.ArtworkUidsRequest + 18, // 16: artistinfo.ArtistInfoArtwork.ArtistArtworkStatic:input_type -> artistinfo.ArtistArtworkStaticRequest + 21, // 17: artistinfo.ArtistInfoArtwork.UpdateArtworkExtData:input_type -> artistinfo.ArtworkExtData + 22, // 18: artistinfo.ArtistInfoArtwork.GetArtworkExtDatas:input_type -> artistinfo.GetArtworkExtDataRequest + 1, // 19: artistinfo.ArtistInfoArtwork.CreateArtworkLockRecord:output_type -> artistinfo.ArtworkCommonNoParams + 1, // 20: artistinfo.ArtistInfoArtwork.ArtworkLockAction:output_type -> artistinfo.ArtworkCommonNoParams + 8, // 21: artistinfo.ArtistInfoArtwork.GetArtworkLockRecords:output_type -> artistinfo.ArtworkLockList + 14, // 22: artistinfo.ArtistInfoArtwork.GetArtworkLockHistoryGroup:output_type -> artistinfo.GetArtworkLockHistoryResponse + 1, // 23: artistinfo.ArtistInfoArtwork.DeleteArtworkRecord:output_type -> artistinfo.ArtworkCommonNoParams + 7, // 24: artistinfo.ArtistInfoArtwork.GetArtworkLockDetail:output_type -> artistinfo.ArtistLockInfo + 1, // 25: artistinfo.ArtistInfoArtwork.UpdateArtworkAuditStatus:output_type -> artistinfo.ArtworkCommonNoParams + 17, // 26: artistinfo.ArtistInfoArtwork.CheckArtworkBaseInfoEditable:output_type -> artistinfo.CheckArtworkEditableResponse + 17, // 27: artistinfo.ArtistInfoArtwork.CheckArtworkSupplementInfoEditable:output_type -> artistinfo.CheckArtworkEditableResponse + 24, // 28: artistinfo.ArtistInfoArtwork.GenerateArtworkSupplementInfo:output_type -> google.protobuf.Empty + 20, // 29: artistinfo.ArtistInfoArtwork.ArtistArtworkStatic:output_type -> artistinfo.ArtistArtworkStaticResponse + 24, // 30: artistinfo.ArtistInfoArtwork.UpdateArtworkExtData:output_type -> google.protobuf.Empty + 23, // 31: artistinfo.ArtistInfoArtwork.GetArtworkExtDatas:output_type -> artistinfo.GetArtworkExtDataResponse + 19, // [19:32] is the sub-list for method output_type + 6, // [6:19] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_pb_artistinfoArtwork_proto_init() } @@ -2270,6 +2463,42 @@ func file_pb_artistinfoArtwork_proto_init() { return nil } } + file_pb_artistinfoArtwork_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArtworkExtData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtwork_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkExtDataRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_artistinfoArtwork_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetArtworkExtDataResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2277,7 +2506,7 @@ func file_pb_artistinfoArtwork_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_artistinfoArtwork_proto_rawDesc, NumEnums: 1, - NumMessages: 20, + NumMessages: 23, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/artistInfoArtwork/artistinfoArtwork.pb.validate.go b/pb/artistInfoArtwork/artistinfoArtwork.pb.validate.go index 7feb535..4d7758f 100644 --- a/pb/artistInfoArtwork/artistinfoArtwork.pb.validate.go +++ b/pb/artistInfoArtwork/artistinfoArtwork.pb.validate.go @@ -2376,3 +2376,347 @@ var _ interface { Cause() error ErrorName() string } = ArtistArtworkStaticResponseValidationError{} + +// Validate checks the field values on ArtworkExtData with the rules defined in +// the proto definition for this message. If any rules are violated, the first +// error encountered is returned, or nil if there are no violations. +func (m *ArtworkExtData) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on ArtworkExtData with the rules defined +// in the proto definition for this message. If any rules are violated, the +// result is a list of violation errors wrapped in ArtworkExtDataMultiError, +// or nil if none found. +func (m *ArtworkExtData) ValidateAll() error { + return m.validate(true) +} + +func (m *ArtworkExtData) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtworkUid + + // no validation rules for NationalExhibition + + if len(errors) > 0 { + return ArtworkExtDataMultiError(errors) + } + + return nil +} + +// ArtworkExtDataMultiError is an error wrapping multiple validation errors +// returned by ArtworkExtData.ValidateAll() if the designated constraints +// aren't met. +type ArtworkExtDataMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m ArtworkExtDataMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m ArtworkExtDataMultiError) AllErrors() []error { return m } + +// ArtworkExtDataValidationError is the validation error returned by +// ArtworkExtData.Validate if the designated constraints aren't met. +type ArtworkExtDataValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e ArtworkExtDataValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e ArtworkExtDataValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e ArtworkExtDataValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e ArtworkExtDataValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e ArtworkExtDataValidationError) ErrorName() string { return "ArtworkExtDataValidationError" } + +// Error satisfies the builtin error interface +func (e ArtworkExtDataValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sArtworkExtData.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = ArtworkExtDataValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = ArtworkExtDataValidationError{} + +// Validate checks the field values on GetArtworkExtDataRequest with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtworkExtDataRequest) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtworkExtDataRequest with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtworkExtDataRequestMultiError, or nil if none found. +func (m *GetArtworkExtDataRequest) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtworkExtDataRequest) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + // no validation rules for ArtworkUid + + if len(errors) > 0 { + return GetArtworkExtDataRequestMultiError(errors) + } + + return nil +} + +// GetArtworkExtDataRequestMultiError is an error wrapping multiple validation +// errors returned by GetArtworkExtDataRequest.ValidateAll() if the designated +// constraints aren't met. +type GetArtworkExtDataRequestMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtworkExtDataRequestMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtworkExtDataRequestMultiError) AllErrors() []error { return m } + +// GetArtworkExtDataRequestValidationError is the validation error returned by +// GetArtworkExtDataRequest.Validate if the designated constraints aren't met. +type GetArtworkExtDataRequestValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtworkExtDataRequestValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtworkExtDataRequestValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtworkExtDataRequestValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtworkExtDataRequestValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtworkExtDataRequestValidationError) ErrorName() string { + return "GetArtworkExtDataRequestValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtworkExtDataRequestValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtworkExtDataRequest.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtworkExtDataRequestValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtworkExtDataRequestValidationError{} + +// Validate checks the field values on GetArtworkExtDataResponse with the rules +// defined in the proto definition for this message. If any rules are +// violated, the first error encountered is returned, or nil if there are no violations. +func (m *GetArtworkExtDataResponse) Validate() error { + return m.validate(false) +} + +// ValidateAll checks the field values on GetArtworkExtDataResponse with the +// rules defined in the proto definition for this message. If any rules are +// violated, the result is a list of violation errors wrapped in +// GetArtworkExtDataResponseMultiError, or nil if none found. +func (m *GetArtworkExtDataResponse) ValidateAll() error { + return m.validate(true) +} + +func (m *GetArtworkExtDataResponse) validate(all bool) error { + if m == nil { + return nil + } + + var errors []error + + for idx, item := range m.GetData() { + _, _ = idx, item + + if all { + switch v := interface{}(item).(type) { + case interface{ ValidateAll() error }: + if err := v.ValidateAll(); err != nil { + errors = append(errors, GetArtworkExtDataResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + case interface{ Validate() error }: + if err := v.Validate(); err != nil { + errors = append(errors, GetArtworkExtDataResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + }) + } + } + } else if v, ok := interface{}(item).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return GetArtworkExtDataResponseValidationError{ + field: fmt.Sprintf("Data[%v]", idx), + reason: "embedded message failed validation", + cause: err, + } + } + } + + } + + if len(errors) > 0 { + return GetArtworkExtDataResponseMultiError(errors) + } + + return nil +} + +// GetArtworkExtDataResponseMultiError is an error wrapping multiple validation +// errors returned by GetArtworkExtDataResponse.ValidateAll() if the +// designated constraints aren't met. +type GetArtworkExtDataResponseMultiError []error + +// Error returns a concatenation of all the error messages it wraps. +func (m GetArtworkExtDataResponseMultiError) Error() string { + var msgs []string + for _, err := range m { + msgs = append(msgs, err.Error()) + } + return strings.Join(msgs, "; ") +} + +// AllErrors returns a list of validation violation errors. +func (m GetArtworkExtDataResponseMultiError) AllErrors() []error { return m } + +// GetArtworkExtDataResponseValidationError is the validation error returned by +// GetArtworkExtDataResponse.Validate if the designated constraints aren't met. +type GetArtworkExtDataResponseValidationError struct { + field string + reason string + cause error + key bool +} + +// Field function returns field value. +func (e GetArtworkExtDataResponseValidationError) Field() string { return e.field } + +// Reason function returns reason value. +func (e GetArtworkExtDataResponseValidationError) Reason() string { return e.reason } + +// Cause function returns cause value. +func (e GetArtworkExtDataResponseValidationError) Cause() error { return e.cause } + +// Key function returns key value. +func (e GetArtworkExtDataResponseValidationError) Key() bool { return e.key } + +// ErrorName returns error name. +func (e GetArtworkExtDataResponseValidationError) ErrorName() string { + return "GetArtworkExtDataResponseValidationError" +} + +// Error satisfies the builtin error interface +func (e GetArtworkExtDataResponseValidationError) Error() string { + cause := "" + if e.cause != nil { + cause = fmt.Sprintf(" | caused by: %v", e.cause) + } + + key := "" + if e.key { + key = "key for " + } + + return fmt.Sprintf( + "invalid %sGetArtworkExtDataResponse.%s: %s%s", + key, + e.field, + e.reason, + cause) +} + +var _ error = GetArtworkExtDataResponseValidationError{} + +var _ interface { + Field() string + Reason() string + Key() bool + Cause() error + ErrorName() string +} = GetArtworkExtDataResponseValidationError{} diff --git a/pb/artistInfoArtwork/artistinfoArtwork_triple.pb.go b/pb/artistInfoArtwork/artistinfoArtwork_triple.pb.go index ede94de..96964b4 100644 --- a/pb/artistInfoArtwork/artistinfoArtwork_triple.pb.go +++ b/pb/artistInfoArtwork/artistinfoArtwork_triple.pb.go @@ -41,6 +41,8 @@ type ArtistInfoArtworkClient interface { CheckArtworkSupplementInfoEditable(ctx context.Context, in *ArtworkUidRequest, opts ...grpc_go.CallOption) (*CheckArtworkEditableResponse, common.ErrorWithAttachment) GenerateArtworkSupplementInfo(ctx context.Context, in *ArtworkUidsRequest, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) ArtistArtworkStatic(ctx context.Context, in *ArtistArtworkStaticRequest, opts ...grpc_go.CallOption) (*ArtistArtworkStaticResponse, common.ErrorWithAttachment) + UpdateArtworkExtData(ctx context.Context, in *ArtworkExtData, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) + GetArtworkExtDatas(ctx context.Context, in *GetArtworkExtDataRequest, opts ...grpc_go.CallOption) (*GetArtworkExtDataResponse, common.ErrorWithAttachment) } type artistInfoArtworkClient struct { @@ -59,6 +61,8 @@ type ArtistInfoArtworkClientImpl struct { CheckArtworkSupplementInfoEditable func(ctx context.Context, in *ArtworkUidRequest) (*CheckArtworkEditableResponse, error) GenerateArtworkSupplementInfo func(ctx context.Context, in *ArtworkUidsRequest) (*emptypb.Empty, error) ArtistArtworkStatic func(ctx context.Context, in *ArtistArtworkStaticRequest) (*ArtistArtworkStaticResponse, error) + UpdateArtworkExtData func(ctx context.Context, in *ArtworkExtData) (*emptypb.Empty, error) + GetArtworkExtDatas func(ctx context.Context, in *GetArtworkExtDataRequest) (*GetArtworkExtDataResponse, error) } func (c *ArtistInfoArtworkClientImpl) GetDubboStub(cc *triple.TripleConn) ArtistInfoArtworkClient { @@ -139,6 +143,18 @@ func (c *artistInfoArtworkClient) ArtistArtworkStatic(ctx context.Context, in *A return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ArtistArtworkStatic", in, out) } +func (c *artistInfoArtworkClient) UpdateArtworkExtData(ctx context.Context, in *ArtworkExtData, opts ...grpc_go.CallOption) (*emptypb.Empty, common.ErrorWithAttachment) { + out := new(emptypb.Empty) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateArtworkExtData", in, out) +} + +func (c *artistInfoArtworkClient) GetArtworkExtDatas(ctx context.Context, in *GetArtworkExtDataRequest, opts ...grpc_go.CallOption) (*GetArtworkExtDataResponse, common.ErrorWithAttachment) { + out := new(GetArtworkExtDataResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetArtworkExtDatas", in, out) +} + // ArtistInfoArtworkServer is the server API for ArtistInfoArtwork service. // All implementations must embed UnimplementedArtistInfoArtworkServer // for forward compatibility @@ -155,6 +171,8 @@ type ArtistInfoArtworkServer interface { CheckArtworkSupplementInfoEditable(context.Context, *ArtworkUidRequest) (*CheckArtworkEditableResponse, error) GenerateArtworkSupplementInfo(context.Context, *ArtworkUidsRequest) (*emptypb.Empty, error) ArtistArtworkStatic(context.Context, *ArtistArtworkStaticRequest) (*ArtistArtworkStaticResponse, error) + UpdateArtworkExtData(context.Context, *ArtworkExtData) (*emptypb.Empty, error) + GetArtworkExtDatas(context.Context, *GetArtworkExtDataRequest) (*GetArtworkExtDataResponse, error) mustEmbedUnimplementedArtistInfoArtworkServer() } @@ -196,6 +214,12 @@ func (UnimplementedArtistInfoArtworkServer) GenerateArtworkSupplementInfo(contex func (UnimplementedArtistInfoArtworkServer) ArtistArtworkStatic(context.Context, *ArtistArtworkStaticRequest) (*ArtistArtworkStaticResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ArtistArtworkStatic not implemented") } +func (UnimplementedArtistInfoArtworkServer) UpdateArtworkExtData(context.Context, *ArtworkExtData) (*emptypb.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateArtworkExtData not implemented") +} +func (UnimplementedArtistInfoArtworkServer) GetArtworkExtDatas(context.Context, *GetArtworkExtDataRequest) (*GetArtworkExtDataResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetArtworkExtDatas not implemented") +} func (s *UnimplementedArtistInfoArtworkServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -543,6 +567,64 @@ func _ArtistInfoArtwork_ArtistArtworkStatic_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _ArtistInfoArtwork_UpdateArtworkExtData_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ArtworkExtData) + 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("UpdateArtworkExtData", 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) +} + +func _ArtistInfoArtwork_GetArtworkExtDatas_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetArtworkExtDataRequest) + 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("GetArtworkExtDatas", 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) +} + // ArtistInfoArtwork_ServiceDesc is the grpc_go.ServiceDesc for ArtistInfoArtwork service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -594,6 +676,14 @@ var ArtistInfoArtwork_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "ArtistArtworkStatic", Handler: _ArtistInfoArtwork_ArtistArtworkStatic_Handler, }, + { + MethodName: "UpdateArtworkExtData", + Handler: _ArtistInfoArtwork_UpdateArtworkExtData_Handler, + }, + { + MethodName: "GetArtworkExtDatas", + Handler: _ArtistInfoArtwork_GetArtworkExtDatas_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "pb/artistinfoArtwork.proto", diff --git a/pb/artistinfoArtwork.proto b/pb/artistinfoArtwork.proto index 93e2084..2f04485 100644 --- a/pb/artistinfoArtwork.proto +++ b/pb/artistinfoArtwork.proto @@ -20,6 +20,8 @@ service ArtistInfoArtwork { rpc CheckArtworkSupplementInfoEditable(ArtworkUidRequest)returns(CheckArtworkEditableResponse){}//查询画作补充信息是否可编辑 rpc GenerateArtworkSupplementInfo(ArtworkUidsRequest)returns(google.protobuf.Empty){}//查询画作补充信息是否可编辑 rpc ArtistArtworkStatic(ArtistArtworkStaticRequest)returns(ArtistArtworkStaticResponse){}//查询审核通过的画作数量统计 + rpc UpdateArtworkExtData(ArtworkExtData)returns(google.protobuf.Empty){}//更新画作的新增字段(此类字段只在画家宝中使用) + rpc GetArtworkExtDatas(GetArtworkExtDataRequest)returns(GetArtworkExtDataResponse){} //查询画作新增的字段信息(此类字段只在画家宝中使用) } message ArtworkCommonNoParams{} @@ -181,4 +183,18 @@ message ArtistArtworkStaticResponse{ int64 page=2; int64 pageSize=3; int64 total=4; +} + +message ArtworkExtData{ + string artworkUid =1; + int64 nationalExhibition=2; //是否入选国家画展 1=无(默认) 2=入围 3=入选 4=入围+入选 +} + +message GetArtworkExtDataRequest{ + string artworkUid =1; //选填1 + repeated string artworkUids =2;//选填2 +} + +message GetArtworkExtDataResponse{ + repeated ArtworkExtData Data =1; } \ No newline at end of file From a4584a9592bd98d36dd4e7fe2b6c44af665f9675 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Thu, 13 Apr 2023 09:07:14 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=8C=89=E9=9C=80=E6=B1=82=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=9F=BA=E6=9C=AC=E7=94=BB=E4=BD=9C=E5=BE=85=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E5=88=97=E8=A1=A8=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistinfo_artwork.go | 8 +++++++- pb/artistInfoArtwork/artistinfoArtwork.pb.go | 2 +- pb/artistinfoArtwork.proto | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index d4c1ca4..22eaa3b 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -148,7 +148,13 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) tx = tx.Where("supplement_audit_status = 4").Order("lock_time desc") } if req.BaseAuditStatus != 0 { - tx = tx.Where("base_audit_status = ?", req.BaseAuditStatus) + if req.BaseAuditStatus == 2 { + //现要求暂存的画作也支持在待审核列表展示和审批 + tx = tx.Where("base_audit_status = ? OR base_audit_status =1", req.BaseAuditStatus) + } else { + tx = tx.Where("base_audit_status = ?", req.BaseAuditStatus) + } + } if req.SupplementAuditStatus != 0 { tx = tx.Where("supplement_audit_status = ?", req.SupplementAuditStatus) diff --git a/pb/artistInfoArtwork/artistinfoArtwork.pb.go b/pb/artistInfoArtwork/artistinfoArtwork.pb.go index 10847fe..bbd9c53 100644 --- a/pb/artistInfoArtwork/artistinfoArtwork.pb.go +++ b/pb/artistInfoArtwork/artistinfoArtwork.pb.go @@ -363,7 +363,7 @@ type GetArtworkLockRecordsRequest struct { unknownFields protoimpl.UnknownFields ArtistUid string `protobuf:"bytes,1,opt,name=artistUid,proto3" json:"artistUid,omitempty"` //画家uid - QueryType ArtworkQueryMode `protobuf:"varint,2,opt,name=queryType,proto3,enum=artistinfo.ArtworkQueryMode" json:"queryType,omitempty"` //查询模式 + QueryType ArtworkQueryMode `protobuf:"varint,2,opt,name=queryType,proto3,enum=artistinfo.ArtworkQueryMode" json:"queryType,omitempty"` //查询模式 BaseAuditStatus int64 `protobuf:"varint,3,opt,name=baseAuditStatus,proto3" json:"baseAuditStatus,omitempty"` //基本信息审批状态 可选 SupplementAuditStatus int64 `protobuf:"varint,4,opt,name=supplementAuditStatus,proto3" json:"supplementAuditStatus,omitempty"` //基本信息审批状态 可选 ArtworkUids []string `protobuf:"bytes,5,rep,name=artworkUids,proto3" json:"artworkUids,omitempty"` //画作uid列表 diff --git a/pb/artistinfoArtwork.proto b/pb/artistinfoArtwork.proto index 2f04485..90cab69 100644 --- a/pb/artistinfoArtwork.proto +++ b/pb/artistinfoArtwork.proto @@ -56,7 +56,7 @@ enum ArtworkQueryMode { message GetArtworkLockRecordsRequest{ string artistUid =1 [(validate.rules).message.required = true];//画家uid ArtworkQueryMode queryType =2 ; //查询模式 - int64 baseAuditStatus =3; //基本信息审批状态 可选 + int64 baseAuditStatus =3; //基本信息审批状态 可选 1:暂存 2:待审核 3:审核不通过 4:审核通过 int64 supplementAuditStatus =4; //基本信息审批状态 可选 repeated string artworkUids=5; //画作uid列表 int64 page=6; From af109513b6d5de641a66f26e924af39a5ad60954 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Thu, 13 Apr 2023 09:23:46 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E7=94=BB=E4=BD=9C?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistinfo_artwork.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 22eaa3b..0abaa5b 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -151,7 +151,7 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) if req.BaseAuditStatus == 2 { //现要求暂存的画作也支持在待审核列表展示和审批 tx = tx.Where("base_audit_status = ? OR base_audit_status =1", req.BaseAuditStatus) - } else { + } else if req.BaseAuditStatus != 1 { //排除暂存状态 tx = tx.Where("base_audit_status = ?", req.BaseAuditStatus) } From 31e16c8e0bde222cd1cbd39aa5edd343b4b08a24 Mon Sep 17 00:00:00 2001 From: jjxu <428192774@qq.com> Date: Thu, 13 Apr 2023 09:29:17 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/internal/dao/artistinfo_artwork.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/internal/dao/artistinfo_artwork.go b/cmd/internal/dao/artistinfo_artwork.go index 0abaa5b..d356450 100644 --- a/cmd/internal/dao/artistinfo_artwork.go +++ b/cmd/internal/dao/artistinfo_artwork.go @@ -151,7 +151,7 @@ func GetArtworkLockRecords(req *artistInfoArtwork.GetArtworkLockRecordsRequest) if req.BaseAuditStatus == 2 { //现要求暂存的画作也支持在待审核列表展示和审批 tx = tx.Where("base_audit_status = ? OR base_audit_status =1", req.BaseAuditStatus) - } else if req.BaseAuditStatus != 1 { //排除暂存状态 + } else if req.BaseAuditStatus != 1 { //排除暂存状态,需求修改后,这个字段的暂存状态无法作为判断条件了 tx = tx.Where("base_audit_status = ?", req.BaseAuditStatus) }