diff --git a/api/members/members.pb.go b/api/members/members.pb.go new file mode 100644 index 0000000..55967da --- /dev/null +++ b/api/members/members.pb.go @@ -0,0 +1,1944 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v5.26.0 +// source: api/members/members.proto + +package members + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// ==================================成员管理====================================== +type AddMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + Operator string `protobuf:"bytes,5,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,6,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *AddMemberReq) Reset() { + *x = AddMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMemberReq) ProtoMessage() {} + +func (x *AddMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMemberReq.ProtoReflect.Descriptor instead. +func (*AddMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{0} +} + +func (x *AddMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *AddMemberReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AddMemberReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *AddMemberReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *AddMemberReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *AddMemberReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type AddMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *AddMemberResp) Reset() { + *x = AddMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AddMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddMemberResp) ProtoMessage() {} + +func (x *AddMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddMemberResp.ProtoReflect.Descriptor instead. +func (*AddMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{1} +} + +func (x *AddMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EditMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` //姓名 + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` //简介 + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` //详细介绍 + Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort"` //排序 + Operator string `protobuf:"bytes,6,opt,name=operator,proto3" json:"operator"` //操作人 + OperatorId int32 `protobuf:"varint,7,opt,name=operatorId,proto3" json:"operatorId"` //操作人Id +} + +func (x *EditMemberReq) Reset() { + *x = EditMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditMemberReq) ProtoMessage() {} + +func (x *EditMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EditMemberReq.ProtoReflect.Descriptor instead. +func (*EditMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{2} +} + +func (x *EditMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditMemberReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditMemberReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditMemberReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditMemberReq) GetSort() int32 { + if x != nil { + return x.Sort + } + return 0 +} + +func (x *EditMemberReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditMemberReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditMemberResp) Reset() { + *x = EditMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditMemberResp) ProtoMessage() {} + +func (x *EditMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_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 EditMemberResp.ProtoReflect.Descriptor instead. +func (*EditMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{3} +} + +func (x *EditMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type DeleteMemberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` //uuid +} + +func (x *DeleteMemberReq) Reset() { + *x = DeleteMemberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMemberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMemberReq) ProtoMessage() {} + +func (x *DeleteMemberReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMemberReq.ProtoReflect.Descriptor instead. +func (*DeleteMemberReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{4} +} + +func (x *DeleteMemberReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +type DeleteMemberResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *DeleteMemberResp) Reset() { + *x = DeleteMemberResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteMemberResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteMemberResp) ProtoMessage() {} + +func (x *DeleteMemberResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteMemberResp.ProtoReflect.Descriptor instead. +func (*DeleteMemberResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteMemberResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type Filtrate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"` //文件名称 +} + +func (x *Filtrate) Reset() { + *x = Filtrate{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Filtrate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Filtrate) ProtoMessage() {} + +func (x *Filtrate) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Filtrate.ProtoReflect.Descriptor instead. +func (*Filtrate) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{6} +} + +func (x *Filtrate) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetMemberListReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize"` + Filterate *Filtrate `protobuf:"bytes,3,opt,name=filterate,proto3" json:"filterate"` //筛选条件 +} + +func (x *GetMemberListReq) Reset() { + *x = GetMemberListReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberListReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberListReq) ProtoMessage() {} + +func (x *GetMemberListReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetMemberListReq.ProtoReflect.Descriptor instead. +func (*GetMemberListReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{7} +} + +func (x *GetMemberListReq) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetMemberListReq) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetMemberListReq) GetFilterate() *Filtrate { + if x != nil { + return x.Filterate + } + return nil +} + +type GetMemberListResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page"` + PageSize int32 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize"` + Total int32 `protobuf:"varint,4,opt,name=total,proto3" json:"total"` + Data []*Member `protobuf:"bytes,5,rep,name=data,proto3" json:"data"` +} + +func (x *GetMemberListResp) Reset() { + *x = GetMemberListResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetMemberListResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetMemberListResp) ProtoMessage() {} + +func (x *GetMemberListResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[8] + 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 GetMemberListResp.ProtoReflect.Descriptor instead. +func (*GetMemberListResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{8} +} + +func (x *GetMemberListResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *GetMemberListResp) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *GetMemberListResp) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *GetMemberListResp) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *GetMemberListResp) GetData() []*Member { + if x != nil { + return x.Data + } + return nil +} + +type Member struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + Management *Management `protobuf:"bytes,5,opt,name=management,proto3" json:"management"` + BoardOfDirectors *BoardOfDirectors `protobuf:"bytes,6,opt,name=boardOfDirectors,proto3" json:"boardOfDirectors"` + CommitteeAppointments *CommitteeAppointments `protobuf:"bytes,7,opt,name=committeeAppointments,proto3" json:"committeeAppointments"` + UpdatedAt string `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt"` + Operator string `protobuf:"bytes,9,opt,name=operator,proto3" json:"operator"` +} + +func (x *Member) Reset() { + *x = Member{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Member) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Member) ProtoMessage() {} + +func (x *Member) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[9] + 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 Member.ProtoReflect.Descriptor instead. +func (*Member) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{9} +} + +func (x *Member) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *Member) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Member) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *Member) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *Member) GetManagement() *Management { + if x != nil { + return x.Management + } + return nil +} + +func (x *Member) GetBoardOfDirectors() *BoardOfDirectors { + if x != nil { + return x.BoardOfDirectors + } + return nil +} + +func (x *Member) GetCommitteeAppointments() *CommitteeAppointments { + if x != nil { + return x.CommitteeAppointments + } + return nil +} + +func (x *Member) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *Member) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +// ===================================成员信息管理======================================= +type Management struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *Management) Reset() { + *x = Management{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Management) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Management) ProtoMessage() {} + +func (x *Management) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[10] + 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 Management.ProtoReflect.Descriptor instead. +func (*Management) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{10} +} + +func (x *Management) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Management) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *Management) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *Management) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *Management) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *Management) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditManagementReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image"` + Status int32 `protobuf:"varint,4,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,5,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,6,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditManagementReq) Reset() { + *x = EditManagementReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditManagementReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditManagementReq) ProtoMessage() {} + +func (x *EditManagementReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[11] + 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 EditManagementReq.ProtoReflect.Descriptor instead. +func (*EditManagementReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{11} +} + +func (x *EditManagementReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditManagementReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditManagementReq) GetImage() string { + if x != nil { + return x.Image + } + return "" +} + +func (x *EditManagementReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditManagementReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditManagementReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditManagementReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditManagementReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditManagementReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditManagementResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditManagementResp) Reset() { + *x = EditManagementResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditManagementResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditManagementResp) ProtoMessage() {} + +func (x *EditManagementResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[12] + 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 EditManagementResp.ProtoReflect.Descriptor instead. +func (*EditManagementResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{12} +} + +func (x *EditManagementResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ==================================董事会信息管理====================================== +type BoardOfDirectors struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,3,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,5,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *BoardOfDirectors) Reset() { + *x = BoardOfDirectors{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardOfDirectors) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardOfDirectors) ProtoMessage() {} + +func (x *BoardOfDirectors) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[13] + 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 BoardOfDirectors.ProtoReflect.Descriptor instead. +func (*BoardOfDirectors) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{13} +} + +func (x *BoardOfDirectors) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BoardOfDirectors) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *BoardOfDirectors) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *BoardOfDirectors) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *BoardOfDirectors) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditBoardOfDirectorsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + Brief string `protobuf:"bytes,4,opt,name=brief,proto3" json:"brief"` + Introduction string `protobuf:"bytes,5,opt,name=introduction,proto3" json:"introduction"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,7,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,8,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditBoardOfDirectorsReq) Reset() { + *x = EditBoardOfDirectorsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditBoardOfDirectorsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditBoardOfDirectorsReq) ProtoMessage() {} + +func (x *EditBoardOfDirectorsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[14] + 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 EditBoardOfDirectorsReq.ProtoReflect.Descriptor instead. +func (*EditBoardOfDirectorsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{14} +} + +func (x *EditBoardOfDirectorsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditBoardOfDirectorsReq) GetBrief() string { + if x != nil { + return x.Brief + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetIntroduction() string { + if x != nil { + return x.Introduction + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditBoardOfDirectorsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditBoardOfDirectorsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditBoardOfDirectorsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditBoardOfDirectorsResp) Reset() { + *x = EditBoardOfDirectorsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditBoardOfDirectorsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditBoardOfDirectorsResp) ProtoMessage() {} + +func (x *EditBoardOfDirectorsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[15] + 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 EditBoardOfDirectorsResp.ProtoReflect.Descriptor instead. +func (*EditBoardOfDirectorsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{15} +} + +func (x *EditBoardOfDirectorsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +// ==================================委员会任命管理====================================== +type CommitteeAppointments struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status"` + AuditCommittee string `protobuf:"bytes,3,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee string `protobuf:"bytes,4,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee string `protobuf:"bytes,5,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,6,opt,name=isSetting,proto3" json:"isSetting"` +} + +func (x *CommitteeAppointments) Reset() { + *x = CommitteeAppointments{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommitteeAppointments) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommitteeAppointments) ProtoMessage() {} + +func (x *CommitteeAppointments) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[16] + 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 CommitteeAppointments.ProtoReflect.Descriptor instead. +func (*CommitteeAppointments) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{16} +} + +func (x *CommitteeAppointments) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *CommitteeAppointments) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *CommitteeAppointments) GetAuditCommittee() string { + if x != nil { + return x.AuditCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetCompensationCommittee() string { + if x != nil { + return x.CompensationCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetNominatingCommittee() string { + if x != nil { + return x.NominatingCommittee + } + return "" +} + +func (x *CommitteeAppointments) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +type EditCommitteeAppointmentsReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` + Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status"` + AuditCommittee string `protobuf:"bytes,4,opt,name=auditCommittee,proto3" json:"auditCommittee"` + CompensationCommittee string `protobuf:"bytes,5,opt,name=compensationCommittee,proto3" json:"compensationCommittee"` + NominatingCommittee string `protobuf:"bytes,6,opt,name=nominatingCommittee,proto3" json:"nominatingCommittee"` + IsSetting int32 `protobuf:"varint,7,opt,name=isSetting,proto3" json:"isSetting"` + Operator string `protobuf:"bytes,8,opt,name=operator,proto3" json:"operator"` + OperatorId int32 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId"` +} + +func (x *EditCommitteeAppointmentsReq) Reset() { + *x = EditCommitteeAppointmentsReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditCommitteeAppointmentsReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditCommitteeAppointmentsReq) ProtoMessage() {} + +func (x *EditCommitteeAppointmentsReq) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[17] + 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 EditCommitteeAppointmentsReq.ProtoReflect.Descriptor instead. +func (*EditCommitteeAppointmentsReq) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{17} +} + +func (x *EditCommitteeAppointmentsReq) GetUuid() string { + if x != nil { + return x.Uuid + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *EditCommitteeAppointmentsReq) GetAuditCommittee() string { + if x != nil { + return x.AuditCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetCompensationCommittee() string { + if x != nil { + return x.CompensationCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetNominatingCommittee() string { + if x != nil { + return x.NominatingCommittee + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetIsSetting() int32 { + if x != nil { + return x.IsSetting + } + return 0 +} + +func (x *EditCommitteeAppointmentsReq) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *EditCommitteeAppointmentsReq) GetOperatorId() int32 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type EditCommitteeAppointmentsResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *EditCommitteeAppointmentsResp) Reset() { + *x = EditCommitteeAppointmentsResp{} + if protoimpl.UnsafeEnabled { + mi := &file_api_members_members_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EditCommitteeAppointmentsResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EditCommitteeAppointmentsResp) ProtoMessage() {} + +func (x *EditCommitteeAppointmentsResp) ProtoReflect() protoreflect.Message { + mi := &file_api_members_members_proto_msgTypes[18] + 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 EditCommitteeAppointmentsResp.ProtoReflect.Descriptor instead. +func (*EditCommitteeAppointmentsResp) Descriptor() ([]byte, []int) { + return file_api_members_members_proto_rawDescGZIP(), []int{18} +} + +func (x *EditCommitteeAppointmentsResp) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +var File_api_members_members_proto protoreflect.FileDescriptor + +var file_api_members_members_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x22, 0xac, 0x01, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x21, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xc1, 0x01, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, + 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, + 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x0e, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x25, + 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0x24, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x1e, 0x0a, 0x08, 0x46, + 0x69, 0x6c, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x73, 0x0a, 0x10, 0x47, + 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, + 0x2f, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x46, 0x69, 0x6c, + 0x74, 0x72, 0x61, 0x74, 0x65, 0x52, 0x09, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x22, 0x90, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x23, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0xf6, 0x02, 0x0a, 0x06, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x33, 0x0a, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x10, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, + 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, + 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x10, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, + 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x15, 0x63, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xa6, 0x01, 0x0a, + 0x0a, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, + 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xfd, 0x01, 0x0a, 0x11, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x26, 0x0a, 0x12, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x96, 0x01, + 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, + 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xed, 0x01, 0x0a, 0x17, 0x45, 0x64, 0x69, 0x74, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x62, 0x72, 0x69, 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, + 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x69, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x22, 0x2c, 0x0a, 0x18, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6d, 0x73, 0x67, 0x22, 0xf1, 0x01, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, + 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, + 0x65, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, + 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0xc8, 0x02, 0x0a, 0x1c, 0x45, 0x64, 0x69, + 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, + 0x65, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x15, 0x63, 0x6f, 0x6d, 0x70, 0x65, 0x6e, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x69, 0x73, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x49, 0x64, 0x22, 0x31, 0x0a, 0x1d, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x32, 0xa5, 0x04, 0x0a, 0x07, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x3a, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, + 0x15, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, + 0x0a, 0x0a, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, + 0x64, 0x69, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, + 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x73, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, + 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1a, + 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x0e, 0x45, 0x64, + 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x14, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x20, 0x2e, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, + 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4f, 0x66, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x12, 0x6a, 0x0a, 0x19, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, + 0x2e, 0x45, 0x64, 0x69, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x65, 0x41, 0x70, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0c, + 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_members_members_proto_rawDescOnce sync.Once + file_api_members_members_proto_rawDescData = file_api_members_members_proto_rawDesc +) + +func file_api_members_members_proto_rawDescGZIP() []byte { + file_api_members_members_proto_rawDescOnce.Do(func() { + file_api_members_members_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_members_members_proto_rawDescData) + }) + return file_api_members_members_proto_rawDescData +} + +var file_api_members_members_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_api_members_members_proto_goTypes = []interface{}{ + (*AddMemberReq)(nil), // 0: members.AddMemberReq + (*AddMemberResp)(nil), // 1: members.AddMemberResp + (*EditMemberReq)(nil), // 2: members.EditMemberReq + (*EditMemberResp)(nil), // 3: members.EditMemberResp + (*DeleteMemberReq)(nil), // 4: members.DeleteMemberReq + (*DeleteMemberResp)(nil), // 5: members.DeleteMemberResp + (*Filtrate)(nil), // 6: members.Filtrate + (*GetMemberListReq)(nil), // 7: members.GetMemberListReq + (*GetMemberListResp)(nil), // 8: members.GetMemberListResp + (*Member)(nil), // 9: members.Member + (*Management)(nil), // 10: members.Management + (*EditManagementReq)(nil), // 11: members.EditManagementReq + (*EditManagementResp)(nil), // 12: members.EditManagementResp + (*BoardOfDirectors)(nil), // 13: members.BoardOfDirectors + (*EditBoardOfDirectorsReq)(nil), // 14: members.EditBoardOfDirectorsReq + (*EditBoardOfDirectorsResp)(nil), // 15: members.EditBoardOfDirectorsResp + (*CommitteeAppointments)(nil), // 16: members.CommitteeAppointments + (*EditCommitteeAppointmentsReq)(nil), // 17: members.EditCommitteeAppointmentsReq + (*EditCommitteeAppointmentsResp)(nil), // 18: members.EditCommitteeAppointmentsResp +} +var file_api_members_members_proto_depIdxs = []int32{ + 6, // 0: members.GetMemberListReq.filterate:type_name -> members.Filtrate + 9, // 1: members.GetMemberListResp.data:type_name -> members.Member + 10, // 2: members.Member.management:type_name -> members.Management + 13, // 3: members.Member.boardOfDirectors:type_name -> members.BoardOfDirectors + 16, // 4: members.Member.committeeAppointments:type_name -> members.CommitteeAppointments + 0, // 5: members.Members.AddMember:input_type -> members.AddMemberReq + 2, // 6: members.Members.EditMember:input_type -> members.EditMemberReq + 4, // 7: members.Members.DeleteMember:input_type -> members.DeleteMemberReq + 7, // 8: members.Members.GetMemberList:input_type -> members.GetMemberListReq + 11, // 9: members.Members.EditManagement:input_type -> members.EditManagementReq + 14, // 10: members.Members.EditBoardOfDirectors:input_type -> members.EditBoardOfDirectorsReq + 17, // 11: members.Members.EditCommitteeAppointments:input_type -> members.EditCommitteeAppointmentsReq + 1, // 12: members.Members.AddMember:output_type -> members.AddMemberResp + 3, // 13: members.Members.EditMember:output_type -> members.EditMemberResp + 5, // 14: members.Members.DeleteMember:output_type -> members.DeleteMemberResp + 8, // 15: members.Members.GetMemberList:output_type -> members.GetMemberListResp + 12, // 16: members.Members.EditManagement:output_type -> members.EditManagementResp + 15, // 17: members.Members.EditBoardOfDirectors:output_type -> members.EditBoardOfDirectorsResp + 18, // 18: members.Members.EditCommitteeAppointments:output_type -> members.EditCommitteeAppointmentsResp + 12, // [12:19] is the sub-list for method output_type + 5, // [5:12] 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 +} + +func init() { file_api_members_members_proto_init() } +func file_api_members_members_proto_init() { + if File_api_members_members_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_members_members_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AddMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMemberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteMemberResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Filtrate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberListReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetMemberListResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Member); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Management); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditManagementReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditManagementResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoardOfDirectors); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditBoardOfDirectorsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitteeAppointments); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_members_members_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EditCommitteeAppointmentsResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_members_members_proto_rawDesc, + NumEnums: 0, + NumMessages: 19, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_members_members_proto_goTypes, + DependencyIndexes: file_api_members_members_proto_depIdxs, + MessageInfos: file_api_members_members_proto_msgTypes, + }.Build() + File_api_members_members_proto = out.File + file_api_members_members_proto_rawDesc = nil + file_api_members_members_proto_goTypes = nil + file_api_members_members_proto_depIdxs = nil +} diff --git a/api/members/members.proto b/api/members/members.proto new file mode 100644 index 0000000..6d5bb7c --- /dev/null +++ b/api/members/members.proto @@ -0,0 +1,161 @@ +syntax = "proto3"; +package members; +//import "descriptor.proto"; +//import "validator.proto"; + +option go_package = "./;members"; + +service Members{ + //==================================成员管理====================================== + rpc AddMember(AddMemberReq) returns (AddMemberResp); + rpc EditMember(EditMemberReq) returns (EditMemberResp); + rpc DeleteMember(DeleteMemberReq) returns (DeleteMemberResp); + rpc GetMemberList(GetMemberListReq) returns (GetMemberListResp); + //===================================成员信息管理======================================= + rpc EditManagement(EditManagementReq) returns (EditManagementResp); + //===================================董事会信息管理======================================= + rpc EditBoardOfDirectors(EditBoardOfDirectorsReq) returns (EditBoardOfDirectorsResp); + //==================================委员会任命管理====================================== + rpc EditCommitteeAppointments(EditCommitteeAppointmentsReq) returns (EditCommitteeAppointmentsResp); +} +//==================================成员管理====================================== +message AddMemberReq{ + string uuid = 1;//uuid + string name = 2;//姓名 + string brief = 3;//简介 + string introduction = 4;//详细介绍 + string operator = 5;//操作人 + int32 operatorId = 6;//操作人Id +} + +message AddMemberResp{ + string msg = 1; +} + +message EditMemberReq{ + string uuid = 1;//uuid + string name = 2;//姓名 + string brief = 3;//简介 + string introduction = 4;//详细介绍 + int32 sort = 5;//排序 + string operator = 6;//操作人 + int32 operatorId = 7;//操作人Id +} + +message EditMemberResp{ + string msg = 1; +} + +message DeleteMemberReq{ + string uuid = 1;//uuid +} + +message DeleteMemberResp{ + string msg = 1; +} + +message Filtrate{ + string name = 3;//文件名称 +} + +message GetMemberListReq{ + int32 page = 1; + int32 pageSize = 2; + Filtrate filterate = 3;//筛选条件 +} + +message GetMemberListResp{ + string msg = 1; + int32 page=2; + int32 pageSize =3; + int32 total = 4; + repeated Member data = 5; +} + +message Member{ + string uuid = 1; + string name = 2; + string brief = 3; + string introduction = 4; + Management management = 5; + BoardOfDirectors boardOfDirectors = 6; + CommitteeAppointments committeeAppointments = 7; + string updatedAt = 8; + string operator = 9; +} + +//===================================成员信息管理======================================= +message Management{ + string name = 1; + string image = 2; + int32 status = 3; + string brief = 4; + string introduction = 5; + int32 isSetting = 6; +} + +message EditManagementReq{ + string uuid = 1; + string name = 2; + string image = 3; + int32 status = 4; + string brief = 5; + string introduction = 6; + int32 isSetting = 7; + string operator = 8; + int32 operatorId = 9; +} + +message EditManagementResp{ + string msg = 1; +} + +//==================================董事会信息管理====================================== +message BoardOfDirectors{ + string name = 1; + int32 status = 2; + string brief = 3; + string introduction = 4; + int32 isSetting = 5; +} + +message EditBoardOfDirectorsReq{ + string uuid = 1; + string name = 2; + int32 status = 3; + string brief = 4; + string introduction = 5; + int32 isSetting = 6; + string operator = 7; + int32 operatorId = 8; +} + +message EditBoardOfDirectorsResp{ + string msg = 1; +} + +//==================================委员会任命管理====================================== +message CommitteeAppointments{ + string name = 1; + int32 status = 2; + string auditCommittee = 3; + string compensationCommittee = 4; + string nominatingCommittee = 5; + int32 isSetting = 6; +} + +message EditCommitteeAppointmentsReq{ + string uuid = 1; + string name = 2; + int32 status = 3; + string auditCommittee = 4; + string compensationCommittee = 5; + string nominatingCommittee = 6; + int32 isSetting = 7; + string operator = 8; + int32 operatorId = 9; +} + +message EditCommitteeAppointmentsResp{ + string msg = 1; +} \ No newline at end of file diff --git a/api/members/members.validator.pb.go b/api/members/members.validator.pb.go new file mode 100644 index 0000000..0114f5e --- /dev/null +++ b/api/members/members.validator.pb.go @@ -0,0 +1,101 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/members/members.proto + +package members + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *AddMemberReq) Validate() error { + return nil +} +func (this *AddMemberResp) Validate() error { + return nil +} +func (this *EditMemberReq) Validate() error { + return nil +} +func (this *EditMemberResp) Validate() error { + return nil +} +func (this *DeleteMemberReq) Validate() error { + return nil +} +func (this *DeleteMemberResp) Validate() error { + return nil +} +func (this *Filtrate) Validate() error { + return nil +} +func (this *GetMemberListReq) Validate() error { + if this.Filterate != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Filterate); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Filterate", err) + } + } + return nil +} +func (this *GetMemberListResp) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *Member) Validate() error { + if this.Management != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Management); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Management", err) + } + } + if this.BoardOfDirectors != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.BoardOfDirectors); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("BoardOfDirectors", err) + } + } + if this.CommitteeAppointments != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.CommitteeAppointments); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("CommitteeAppointments", err) + } + } + return nil +} +func (this *Management) Validate() error { + return nil +} +func (this *EditManagementReq) Validate() error { + return nil +} +func (this *EditManagementResp) Validate() error { + return nil +} +func (this *BoardOfDirectors) Validate() error { + return nil +} +func (this *EditBoardOfDirectorsReq) Validate() error { + return nil +} +func (this *EditBoardOfDirectorsResp) Validate() error { + return nil +} +func (this *CommitteeAppointments) Validate() error { + return nil +} +func (this *EditCommitteeAppointmentsReq) Validate() error { + return nil +} +func (this *EditCommitteeAppointmentsResp) Validate() error { + return nil +} diff --git a/api/members/members_triple.pb.go b/api/members/members_triple.pb.go new file mode 100644 index 0000000..476954a --- /dev/null +++ b/api/members/members_triple.pb.go @@ -0,0 +1,425 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.5 +// - protoc v5.26.0 +// source: api/members/members.proto + +package members + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// MembersClient is the client API for Members service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type MembersClient interface { + // ==================================成员管理====================================== + AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) + EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) + DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) + GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) + // ===================================成员信息管理======================================= + EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) + // ===================================董事会信息管理======================================= + EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) + // ==================================委员会任命管理====================================== + EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) +} + +type membersClient struct { + cc *triple.TripleConn +} + +type MembersClientImpl struct { + AddMember func(ctx context.Context, in *AddMemberReq) (*AddMemberResp, error) + EditMember func(ctx context.Context, in *EditMemberReq) (*EditMemberResp, error) + DeleteMember func(ctx context.Context, in *DeleteMemberReq) (*DeleteMemberResp, error) + GetMemberList func(ctx context.Context, in *GetMemberListReq) (*GetMemberListResp, error) + EditManagement func(ctx context.Context, in *EditManagementReq) (*EditManagementResp, error) + EditBoardOfDirectors func(ctx context.Context, in *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + EditCommitteeAppointments func(ctx context.Context, in *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) +} + +func (c *MembersClientImpl) GetDubboStub(cc *triple.TripleConn) MembersClient { + return NewMembersClient(cc) +} + +func (c *MembersClientImpl) XXX_InterfaceName() string { + return "members.Members" +} + +func NewMembersClient(cc *triple.TripleConn) MembersClient { + return &membersClient{cc} +} + +func (c *membersClient) AddMember(ctx context.Context, in *AddMemberReq, opts ...grpc_go.CallOption) (*AddMemberResp, common.ErrorWithAttachment) { + out := new(AddMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AddMember", in, out) +} + +func (c *membersClient) EditMember(ctx context.Context, in *EditMemberReq, opts ...grpc_go.CallOption) (*EditMemberResp, common.ErrorWithAttachment) { + out := new(EditMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditMember", in, out) +} + +func (c *membersClient) DeleteMember(ctx context.Context, in *DeleteMemberReq, opts ...grpc_go.CallOption) (*DeleteMemberResp, common.ErrorWithAttachment) { + out := new(DeleteMemberResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DeleteMember", in, out) +} + +func (c *membersClient) GetMemberList(ctx context.Context, in *GetMemberListReq, opts ...grpc_go.CallOption) (*GetMemberListResp, common.ErrorWithAttachment) { + out := new(GetMemberListResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetMemberList", in, out) +} + +func (c *membersClient) EditManagement(ctx context.Context, in *EditManagementReq, opts ...grpc_go.CallOption) (*EditManagementResp, common.ErrorWithAttachment) { + out := new(EditManagementResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditManagement", in, out) +} + +func (c *membersClient) EditBoardOfDirectors(ctx context.Context, in *EditBoardOfDirectorsReq, opts ...grpc_go.CallOption) (*EditBoardOfDirectorsResp, common.ErrorWithAttachment) { + out := new(EditBoardOfDirectorsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditBoardOfDirectors", in, out) +} + +func (c *membersClient) EditCommitteeAppointments(ctx context.Context, in *EditCommitteeAppointmentsReq, opts ...grpc_go.CallOption) (*EditCommitteeAppointmentsResp, common.ErrorWithAttachment) { + out := new(EditCommitteeAppointmentsResp) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/EditCommitteeAppointments", in, out) +} + +// MembersServer is the server API for Members service. +// All implementations must embed UnimplementedMembersServer +// for forward compatibility +type MembersServer interface { + // ==================================成员管理====================================== + AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) + EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) + DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) + GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) + // ===================================成员信息管理======================================= + EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) + // ===================================董事会信息管理======================================= + EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) + // ==================================委员会任命管理====================================== + EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) + mustEmbedUnimplementedMembersServer() +} + +// UnimplementedMembersServer must be embedded to have forward compatible implementations. +type UnimplementedMembersServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedMembersServer) AddMember(context.Context, *AddMemberReq) (*AddMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddMember not implemented") +} +func (UnimplementedMembersServer) EditMember(context.Context, *EditMemberReq) (*EditMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditMember not implemented") +} +func (UnimplementedMembersServer) DeleteMember(context.Context, *DeleteMemberReq) (*DeleteMemberResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteMember not implemented") +} +func (UnimplementedMembersServer) GetMemberList(context.Context, *GetMemberListReq) (*GetMemberListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetMemberList not implemented") +} +func (UnimplementedMembersServer) EditManagement(context.Context, *EditManagementReq) (*EditManagementResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditManagement not implemented") +} +func (UnimplementedMembersServer) EditBoardOfDirectors(context.Context, *EditBoardOfDirectorsReq) (*EditBoardOfDirectorsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditBoardOfDirectors not implemented") +} +func (UnimplementedMembersServer) EditCommitteeAppointments(context.Context, *EditCommitteeAppointmentsReq) (*EditCommitteeAppointmentsResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method EditCommitteeAppointments not implemented") +} +func (s *UnimplementedMembersServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedMembersServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedMembersServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Members_ServiceDesc +} +func (s *UnimplementedMembersServer) XXX_InterfaceName() string { + return "members.Members" +} + +func (UnimplementedMembersServer) mustEmbedUnimplementedMembersServer() {} + +// UnsafeMembersServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to MembersServer will +// result in compilation errors. +type UnsafeMembersServer interface { + mustEmbedUnimplementedMembersServer() +} + +func RegisterMembersServer(s grpc_go.ServiceRegistrar, srv MembersServer) { + s.RegisterService(&Members_ServiceDesc, srv) +} + +func _Members_AddMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AddMemberReq) + 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("AddMember", 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 _Members_EditMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditMemberReq) + 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("EditMember", 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 _Members_DeleteMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteMemberReq) + 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("DeleteMember", 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 _Members_GetMemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMemberListReq) + 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("GetMemberList", 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 _Members_EditManagement_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditManagementReq) + 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("EditManagement", 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 _Members_EditBoardOfDirectors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditBoardOfDirectorsReq) + 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("EditBoardOfDirectors", 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 _Members_EditCommitteeAppointments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(EditCommitteeAppointmentsReq) + 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("EditCommitteeAppointments", 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) +} + +// Members_ServiceDesc is the grpc_go.ServiceDesc for Members service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Members_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "members.Members", + HandlerType: (*MembersServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "AddMember", + Handler: _Members_AddMember_Handler, + }, + { + MethodName: "EditMember", + Handler: _Members_EditMember_Handler, + }, + { + MethodName: "DeleteMember", + Handler: _Members_DeleteMember_Handler, + }, + { + MethodName: "GetMemberList", + Handler: _Members_GetMemberList_Handler, + }, + { + MethodName: "EditManagement", + Handler: _Members_EditManagement_Handler, + }, + { + MethodName: "EditBoardOfDirectors", + Handler: _Members_EditBoardOfDirectors_Handler, + }, + { + MethodName: "EditCommitteeAppointments", + Handler: _Members_EditCommitteeAppointments_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/members/members.proto", +} diff --git a/cmd/app.go b/cmd/app.go index aa749b8..e8d2515 100644 --- a/cmd/app.go +++ b/cmd/app.go @@ -23,6 +23,7 @@ func main() { config.SetProviderService(&controller.SecFilingsProvider{}) config.SetProviderService(&controller.ReportProvider{}) config.SetProviderService(&controller.EmailAlertsProvider{}) + config.SetProviderService(&controller.MembersProvider{}) if err := config.Load(); err != nil { panic(err) diff --git a/internel/controller/members.go b/internel/controller/members.go new file mode 100644 index 0000000..ebdb349 --- /dev/null +++ b/internel/controller/members.go @@ -0,0 +1,43 @@ +package controller + +import ( + "context" + "micro-document/api/members" + "micro-document/internel/logic" +) + +type MembersProvider struct { + members.UnimplementedMembersServer +} + +// ==================================成员管理====================================== +func (MembersProvider) AddMember(_ context.Context, req *members.AddMemberReq) (*members.AddMemberResp, error) { + return logic.MembersLogic.AddMember(req) +} + +func (MembersProvider) EditMember(_ context.Context, req *members.EditMemberReq) (*members.EditMemberResp, error) { + return logic.MembersLogic.EditMember(req) +} + +func (MembersProvider) DeleteMember(_ context.Context, req *members.DeleteMemberReq) (*members.DeleteMemberResp, error) { + return logic.MembersLogic.DeleteMember(req) +} + +func (MembersProvider) GetMemberList(_ context.Context, req *members.GetMemberListReq) (*members.GetMemberListResp, error) { + return logic.MembersLogic.GetMemberList(req) +} + +// ===================================成员信息管理======================================= +func (MembersProvider) EditManagement(_ context.Context, req *members.EditManagementReq) (*members.EditManagementResp, error) { + return logic.MembersLogic.EditManagement(req) +} + +// ==================================董事会信息管理====================================== +func (MembersProvider) EditBoardOfDirectors(_ context.Context, req *members.EditBoardOfDirectorsReq) (*members.EditBoardOfDirectorsResp, error) { + return logic.MembersLogic.EditBoardOfDirectors(req) +} + +// ==================================委员会任命管理====================================== +func (MembersProvider) EditCommitteeAppointments(_ context.Context, req *members.EditCommitteeAppointmentsReq) (*members.EditCommitteeAppointmentsResp, error) { + return logic.MembersLogic.EditCommitteeAppointments(req) +} diff --git a/internel/dao/annualReports.go b/internel/dao/annualReports.go index 03e6dcc..a8ef5db 100644 --- a/internel/dao/annualReports.go +++ b/internel/dao/annualReports.go @@ -63,6 +63,19 @@ func (annualReportsDao) Edit(req *reports.EditAnnualReportReq) (err error) { } func (annualReportsDao) Delete(req *reports.DeleteAnnualReportReq) (err error) { + // 先查询记录是否存在且状态允许删除 + var report model.AnnualReport + err = db.DocDB.Model(&model.AnnualReport{}).Where("id = ?", req.Id).First(&report).Error + if err != nil { + return errors.New("查询记录失败") + } + + // 检查状态,如果status=1则不允许删除 + if report.Status == 1 { + return errors.New("该记录已上架,不允许删除") + } + + // 执行删除操作 err = db.DocDB.Model(&model.AnnualReport{}).Where("id = ?", req.Id).Delete(&model.AnnualReport{}).Error if err != nil { return errors.New("删除年度报告失败") diff --git a/internel/dao/members.go b/internel/dao/members.go new file mode 100644 index 0000000..8b22edd --- /dev/null +++ b/internel/dao/members.go @@ -0,0 +1,250 @@ +package dao + +import ( + "errors" + "micro-document/api/members" + "micro-document/internel/model" + "micro-document/pkg/db" + "time" + + "gorm.io/gorm" +) + +type membersDao struct{} + +var MembersDao = new(membersDao) + +func (membersDao) AddMember(req *members.AddMemberReq) (err error) { + err = db.DocDB.Model(&model.Members{}).Create(&model.Members{ + Uuid: req.Uuid, + Name: req.Name, + Brief: req.Brief, + Introduction: req.Introduction, + Operator: req.Operator, + OperatorID: req.OperatorId, + }).Error + if err != nil { + return errors.New("新增成员失败") + } + //同步增加成员管理,委员会,董事会信息 + err = db.DocDB.Model(&model.Management{}).Create(&model.Management{ + Uuid: req.Uuid, + Name: req.Name, + Brief: req.Brief, + Introduction: req.Introduction, + }).Error + if err != nil { + return errors.New("新增成员管理失败") + } + err = db.DocDB.Model(&model.BoardOfDirectors{}).Create(&model.BoardOfDirectors{ + Uuid: req.Uuid, + Name: req.Name, + Brief: req.Brief, + Introduction: req.Introduction, + }).Error + if err != nil { + return errors.New("新增董事会失败") + } + err = db.DocDB.Model(&model.CommitteeAppointments{}).Create(&model.CommitteeAppointments{ + Uuid: req.Uuid, + Name: req.Name, + }).Error + if err != nil { + return errors.New("新增委员会失败") + } + return +} + +func (membersDao) EditMember(req *members.EditMemberReq) (err error) { + err = db.DocDB.Model(&model.Members{}).Where("uuid = ?", req.Uuid).Updates(&model.Members{ + Name: req.Name, + Brief: req.Brief, + Introduction: req.Introduction, + Sort: req.Sort, + Operator: req.Operator, + OperatorID: req.OperatorId, + UpdatedAt: time.Now(), + }).Error + return +} + +func (membersDao) DeleteMember(req *members.DeleteMemberReq) (err error) { + return db.DocDB.Transaction(func(tx *gorm.DB) error { + // 检查所有相关记录的状态 + if err := checkAllStatus(tx, req.Uuid); err != nil { + return err + } + + // 删除所有相关记录 + if err := deleteAllRecords(tx, req.Uuid); err != nil { + return err + } + + return nil + }) +} + +// 检查所有记录状态 +func checkAllStatus(tx *gorm.DB, uuid string) error { + tables := []struct { + model interface{} + name string + }{ + {&model.Management{}, "成员管理"}, + {&model.BoardOfDirectors{}, "董事会"}, + {&model.CommitteeAppointments{}, "委员会"}, + } + + for _, table := range tables { + var count int64 + err := tx.Model(table.model).Where("uuid = ? AND status = ?", uuid, 1).Count(&count).Error + if err != nil { + return errors.New("查询" + table.name + "失败") + } + if count > 0 { + return errors.New("该" + table.name + "已上架,不允许删除") + } + } + return nil +} + +// 删除所有记录 +func deleteAllRecords(tx *gorm.DB, uuid string) error { + tables := []struct { + model interface{} + name string + }{ + {&model.Members{}, "成员"}, + {&model.Management{}, "成员管理"}, + {&model.BoardOfDirectors{}, "董事会"}, + {&model.CommitteeAppointments{}, "委员会"}, + } + + for _, table := range tables { + err := tx.Model(table.model).Where("uuid = ?", uuid).Delete(table.model).Error + if err != nil { + return errors.New("删除" + table.name + "失败") + } + } + return nil +} + +func (membersDao) GetMemberList(req *members.GetMemberListReq) (data []model.Members, total int64, err error) { + dbQuery := db.DocDB.Model(&model.Members{}) + if req.Filterate != nil { + if req.Filterate.Name != "" { + dbQuery = dbQuery.Where("name like ?", "%"+req.Filterate.Name+"%") + } + } + //数据查询 + dbQuery.Count(&total) + err = dbQuery.Scopes(db.Pagination(req.Page, req.PageSize)).Find(&data).Error + if err != nil { + return + } + return +} + +// 通过uuid查询成员管理 +func (membersDao) GetManagementByUuid(uuid string) (management model.Management, err error) { + management = model.Management{} + err = db.DocDB.Model(&model.Management{}).Where("uuid = ?", uuid).First(&management).Error + if err != nil { + return + } + return +} + +// 通过uuid查询董事会 +func (membersDao) GetBoardOfDirectorsByUuid(uuid string) (boardOfDirectors model.BoardOfDirectors, err error) { + boardOfDirectors = model.BoardOfDirectors{} + err = db.DocDB.Model(&model.BoardOfDirectors{}).Where("uuid = ?", uuid).First(&boardOfDirectors).Error + if err != nil { + return + } + return +} + +// 通过uuid查询委员会 +func (membersDao) GetCommitteeAppointmentsByUuid(uuid string) (committeeAppointments model.CommitteeAppointments, err error) { + committeeAppointments = model.CommitteeAppointments{} + err = db.DocDB.Model(&model.CommitteeAppointments{}).Where("uuid = ?", uuid).First(&committeeAppointments).Error + if err != nil { + return + } + return +} + +// 编辑成员管理 +func (membersDao) EditManagement(req *members.EditManagementReq) (err error) { + err = db.DocDB.Model(&model.Management{}).Where("uuid = ?", req.Uuid).Updates(&model.Management{ + Name: req.Name, + Image: req.Image, + Status: req.Status, + Brief: req.Brief, + Introduction: req.Introduction, + IsSetting: 1, + }).Error + if err != nil { + return errors.New("编辑成员管理失败") + } + //更新主表操作人员信息和时间 + err = db.DocDB.Model(&model.Members{}).Where("uuid = ?", req.Uuid).Updates(&model.Members{ + Operator: req.Operator, + OperatorID: req.OperatorId, + UpdatedAt: time.Now(), + }).Error + if err != nil { + return errors.New("更新操作人员信息和时间失败") + } + return +} + +// 编辑董事会 +func (membersDao) EditBoardOfDirectors(req *members.EditBoardOfDirectorsReq) (err error) { + err = db.DocDB.Model(&model.BoardOfDirectors{}).Where("uuid = ?", req.Uuid).Updates(&model.BoardOfDirectors{ + Name: req.Name, + Status: req.Status, + Brief: req.Brief, + Introduction: req.Introduction, + IsSetting: 1, + }).Error + if err != nil { + return errors.New("编辑董事会失败") + } + //更新主表操作人员信息和时间 + err = db.DocDB.Model(&model.Members{}).Where("uuid = ?", req.Uuid).Updates(&model.Members{ + Operator: req.Operator, + OperatorID: req.OperatorId, + UpdatedAt: time.Now(), + }).Error + if err != nil { + return errors.New("更新操作人员信息和时间失败") + } + return +} + +// 编辑委员会 +func (membersDao) EditCommitteeAppointments(req *members.EditCommitteeAppointmentsReq) (err error) { + err = db.DocDB.Model(&model.CommitteeAppointments{}).Where("uuid = ?", req.Uuid).Updates(&model.CommitteeAppointments{ + Name: req.Name, + Status: req.Status, + AuditCommittee: req.AuditCommittee, + CompensationCommittee: req.CompensationCommittee, + NominatingCommittee: req.NominatingCommittee, + IsSetting: 1, + }).Error + if err != nil { + return errors.New("编辑委员会失败") + } + //更新主表操作人员信息和时间 + err = db.DocDB.Model(&model.Members{}).Where("uuid = ?", req.Uuid).Updates(&model.Members{ + Operator: req.Operator, + OperatorID: req.OperatorId, + UpdatedAt: time.Now(), + }).Error + if err != nil { + return errors.New("更新操作人员信息和时间失败") + } + return +} diff --git a/internel/dao/quarterlyReports.go b/internel/dao/quarterlyReports.go index 8eef17b..c4ffd86 100644 --- a/internel/dao/quarterlyReports.go +++ b/internel/dao/quarterlyReports.go @@ -64,6 +64,19 @@ func (quarterlyReportsDao) Edit(req *reports.EditQuarterlyReportReq) (err error) } func (quarterlyReportsDao) Delete(req *reports.DeleteQuarterlyReportReq) (err error) { + // 先查询记录是否存在且状态允许删除 + var report model.QuarterlyReport + err = db.DocDB.Model(&model.QuarterlyReport{}).Where("id = ?", req.Id).First(&report).Error + if err != nil { + return errors.New("查询记录失败") + } + + // 检查状态,如果status=1则不允许删除 + if report.Status == 1 { + return errors.New("该记录已上架,不允许删除") + } + + // 执行删除操作 err = db.DocDB.Model(&model.QuarterlyReport{}).Where("id = ?", req.Id).Delete(&model.QuarterlyReport{}).Error if err != nil { return errors.New("删除季度报告失败") diff --git a/internel/logic/members.go b/internel/logic/members.go new file mode 100644 index 0000000..186c0f9 --- /dev/null +++ b/internel/logic/members.go @@ -0,0 +1,120 @@ +package logic + +import ( + "errors" + "micro-document/api/members" + "micro-document/internel/dao" + util "micro-document/pkg/utils" + + "github.com/jinzhu/copier" +) + +type membersLogic struct{} + +var MembersLogic = new(membersLogic) + +func (membersLogic) AddMember(req *members.AddMemberReq) (result *members.AddMemberResp, err error) { + result = &members.AddMemberResp{} + if req.Name == "" { + return nil, errors.New("姓名不能为空") + } + err = dao.MembersDao.AddMember(req) + if err != nil { + return nil, errors.New("新增成员失败") + } + result.Msg = "新增成员成功" + return nil, nil +} + +func (membersLogic) EditMember(req *members.EditMemberReq) (result *members.EditMemberResp, err error) { + result = &members.EditMemberResp{} + err = dao.MembersDao.EditMember(req) + if err != nil { + return nil, errors.New("编辑成员失败") + } + result.Msg = "编辑成员成功" + return nil, nil +} + +func (membersLogic) DeleteMember(req *members.DeleteMemberReq) (result *members.DeleteMemberResp, err error) { + result = &members.DeleteMemberResp{} + err = dao.MembersDao.DeleteMember(req) + if err != nil { + return nil, errors.New("删除成员失败") + } + result.Msg = "删除成员成功" + return nil, nil +} + +func (membersLogic) GetMemberList(req *members.GetMemberListReq) (result *members.GetMemberListResp, err error) { + result = &members.GetMemberListResp{} + data, total, err := dao.MembersDao.GetMemberList(req) + if err != nil { + return nil, errors.New("查询成员列表失败") + } + //查询获取成员管理,董事会,委员会信息 + result.Total = int32(total) + + if err = copier.CopyWithOption(&result.Data, &data, util.CopierProtoOptions); err != nil { + return nil, errors.New("复制成员列表失败") + } + for _, v := range result.Data { + management, err := dao.MembersDao.GetManagementByUuid(v.Uuid) + if err != nil { + return nil, errors.New("查询成员管理失败") + } + if err = copier.CopyWithOption(&v.Management, &management, util.CopierProtoOptions); err != nil { + return nil, errors.New("复制成员管理列表失败") + } + + boardOfDirectors, err := dao.MembersDao.GetBoardOfDirectorsByUuid(v.Uuid) + if err != nil { + return nil, errors.New("查询董事会失败") + } + if err = copier.CopyWithOption(&v.BoardOfDirectors, &boardOfDirectors, util.CopierProtoOptions); err != nil { + return nil, errors.New("复制董事会列表失败") + } + + committeeAppointments, err := dao.MembersDao.GetCommitteeAppointmentsByUuid(v.Uuid) + if err != nil { + return nil, errors.New("查询委员会失败") + } + if err = copier.CopyWithOption(&v.CommitteeAppointments, &committeeAppointments, util.CopierProtoOptions); err != nil { + return nil, errors.New("复制委员会列表失败") + } + } + return result, nil +} + +// 编辑成员管理 +func (membersLogic) EditManagement(req *members.EditManagementReq) (result *members.EditManagementResp, err error) { + result = &members.EditManagementResp{} + err = dao.MembersDao.EditManagement(req) + if err != nil { + return nil, errors.New("编辑成员管理失败") + } + result.Msg = "编辑成员管理成功" + return result, nil +} + +// 编辑董事会 +func (membersLogic) EditBoardOfDirectors(req *members.EditBoardOfDirectorsReq) (result *members.EditBoardOfDirectorsResp, err error) { + result = &members.EditBoardOfDirectorsResp{} + err = dao.MembersDao.EditBoardOfDirectors(req) + if err != nil { + return nil, errors.New("编辑董事会失败") + } + result.Msg = "编辑董事会成功" + return result, nil +} + +// 编辑委员会 +func (membersLogic) EditCommitteeAppointments(req *members.EditCommitteeAppointmentsReq) (result *members.EditCommitteeAppointmentsResp, err error) { + result = &members.EditCommitteeAppointmentsResp{} + err = dao.MembersDao.EditCommitteeAppointments(req) + if err != nil { + return nil, errors.New("编辑委员会失败") + } + result.Msg = "编辑委员会成功" + return result, nil +} diff --git a/internel/model/boardOfDirectors.go b/internel/model/boardOfDirectors.go new file mode 100644 index 0000000..c88c32d --- /dev/null +++ b/internel/model/boardOfDirectors.go @@ -0,0 +1,24 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +type BoardOfDirectors struct { + Id int32 `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index:idx_board_of_directors_deleted_at;"` + Uuid string `gorm:"column:uuid;type:varchar(256);not null;default:'';comment:uuid"` + Name string `gorm:"column:name;type:varchar(30);not null;default:'';comment:姓名"` + Status int32 `gorm:"column:status;type:int;not null;default:2;comment:状态:1上架 2 下架"` + Brief string `gorm:"column:brief;type:varchar(256);not null;default:'';comment:简介"` + Introduction string `gorm:"column:introduction;type:varchar(1024);not null;default:'';comment:详细介绍"` + IsSetting int32 `gorm:"column:is_setting;type:int;not null;default:0;comment:是否设置:0 否 1 是"` +} + +func (*BoardOfDirectors) TableName() string { + return "board_of_directors" +} diff --git a/internel/model/committeeAppointments.go b/internel/model/committeeAppointments.go new file mode 100644 index 0000000..c5ea92a --- /dev/null +++ b/internel/model/committeeAppointments.go @@ -0,0 +1,25 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +type CommitteeAppointments struct { + Id int32 `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index:idx_committee_appointments_deleted_at;"` + Uuid string `gorm:"column:uuid;type:varchar(256);not null;default:'';comment:uuid"` + Name string `gorm:"column:name;type:varchar(30);not null;default:'';comment:姓名"` + Status int32 `gorm:"column:status;type:int;not null;default:2;comment:状态:1上架 2 下架"` + AuditCommittee string `gorm:"column:audit_committee;type:varchar(10);not null;default:'';comment:审计委员会"` + CompensationCommittee string `gorm:"column:compensation_committee;type:varchar(10);not null;default:'';comment:薪酬委员会"` + NominatingCommittee string `gorm:"column:nominating_committee;type:varchar(10);not null;default:'';comment:提名委员会"` + IsSetting int32 `gorm:"column:is_setting;type:int;not null;default:0;comment:是否设置:0 否 1 是"` +} + +func (*CommitteeAppointments) TableName() string { + return "committee_appointments" +} diff --git a/internel/model/emailAlerts.go b/internel/model/emailAlerts.go index 842bdb6..0bb0115 100644 --- a/internel/model/emailAlerts.go +++ b/internel/model/emailAlerts.go @@ -7,7 +7,7 @@ import ( ) type EmailAlerts struct { - ID uint `gorm:"primarykey"` + Id int32 `gorm:"primarykey"` CreatedAt time.Time UpdatedAt time.Time DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index:idx_email_alerts_deleted_at;"` diff --git a/internel/model/management.go b/internel/model/management.go new file mode 100644 index 0000000..a1212ed --- /dev/null +++ b/internel/model/management.go @@ -0,0 +1,25 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +type Management struct { + Id int32 `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index:idx_management_deleted_at;"` + Uuid string `gorm:"column:uuid;type:varchar(256);not null;default:'';comment:uuid"` + Name string `gorm:"column:name;type:varchar(30);not null;default:'';comment:姓名"` + Image string `gorm:"column:image;type:varchar(1024);not null;default:'';comment:头像"` + Brief string `gorm:"column:brief;type:varchar(256);not null;default:'';comment:简介"` + Introduction string `gorm:"column:introduction;type:varchar(1024);not null;default:'';comment:详细介绍"` + Status int32 `gorm:"column:status;type:int;not null;default:2;comment:状态:1上架 2 下架"` + IsSetting int32 `gorm:"column:is_setting;type:int;not null;default:0;comment:是否设置:0 否 1 是"` +} + +func (*Management) TableName() string { + return "management" +} diff --git a/internel/model/members.go b/internel/model/members.go new file mode 100644 index 0000000..92128d3 --- /dev/null +++ b/internel/model/members.go @@ -0,0 +1,25 @@ +package model + +import ( + "time" + + "gorm.io/gorm" +) + +type Members struct { + Id int32 `gorm:"primarykey"` + CreatedAt time.Time + UpdatedAt time.Time + DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;index:idx_members_deleted_at;"` + Uuid string `gorm:"column:uuid;type:varchar(256);not null;default:'';comment:uuid"` + Name string `gorm:"column:name;type:varchar(30);not null;default:'';comment:姓名"` + Brief string `gorm:"column:brief;type:varchar(256);not null;default:'';comment:简介"` + Introduction string `gorm:"column:introduction;type:varchar(1024);not null;default:'';comment:详细介绍"` + Sort int32 `gorm:"column:sort;type:int;not null;default:1;comment:排序"` + Operator string `gorm:"column:operator;type:varchar(100);not null;default:'';comment:操作人"` + OperatorID int32 `gorm:"column:operator_id;comment:操作人Id"` +} + +func (*Members) TableName() string { + return "members" +} diff --git a/pkg/db/db.go b/pkg/db/db.go index 33d596c..cc23506 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -43,6 +43,10 @@ func DbInit() { &model.AnnualReport{}, &model.QuarterlyReport{}, &model.EmailAlerts{}, + &model.Members{}, + &model.Management{}, + &model.BoardOfDirectors{}, + &model.CommitteeAppointments{}, ) } }