feat:增加报告管理模块,成员管理模块,邮箱通知模块
This commit is contained in:
parent
b5a8e87c4b
commit
32833c90ec
1944
api/members/members.pb.go
Normal file
1944
api/members/members.pb.go
Normal file
File diff suppressed because it is too large
Load Diff
161
api/members/members.proto
Normal file
161
api/members/members.proto
Normal file
@ -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;
|
||||
}
|
101
api/members/members.validator.pb.go
Normal file
101
api/members/members.validator.pb.go
Normal file
@ -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
|
||||
}
|
425
api/members/members_triple.pb.go
Normal file
425
api/members/members_triple.pb.go
Normal file
@ -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",
|
||||
}
|
@ -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)
|
||||
|
43
internel/controller/members.go
Normal file
43
internel/controller/members.go
Normal file
@ -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)
|
||||
}
|
@ -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("删除年度报告失败")
|
||||
|
250
internel/dao/members.go
Normal file
250
internel/dao/members.go
Normal file
@ -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
|
||||
}
|
@ -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("删除季度报告失败")
|
||||
|
120
internel/logic/members.go
Normal file
120
internel/logic/members.go
Normal file
@ -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
|
||||
}
|
24
internel/model/boardOfDirectors.go
Normal file
24
internel/model/boardOfDirectors.go
Normal file
@ -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"
|
||||
}
|
25
internel/model/committeeAppointments.go
Normal file
25
internel/model/committeeAppointments.go
Normal file
@ -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"
|
||||
}
|
@ -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;"`
|
||||
|
25
internel/model/management.go
Normal file
25
internel/model/management.go
Normal file
@ -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"
|
||||
}
|
25
internel/model/members.go
Normal file
25
internel/model/members.go
Normal file
@ -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"
|
||||
}
|
@ -43,6 +43,10 @@ func DbInit() {
|
||||
&model.AnnualReport{},
|
||||
&model.QuarterlyReport{},
|
||||
&model.EmailAlerts{},
|
||||
&model.Members{},
|
||||
&model.Management{},
|
||||
&model.BoardOfDirectors{},
|
||||
&model.CommitteeAppointments{},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user