feat 更新数据 获取汇总统计数据
fix 修改exhibition中save的错误
This commit is contained in:
parent
ae137a6883
commit
15b3dcf55d
File diff suppressed because it is too large
Load Diff
@ -6,52 +6,43 @@ option go_package = "./;approval";
|
||||
// The approval service definition.
|
||||
service Approval {
|
||||
|
||||
|
||||
rpc Create(ApprovalRequest) returns (ApprovalResponse) {};
|
||||
|
||||
rpc Detail(ApprovalDetail) returns (ApprovalRequest) {};
|
||||
rpc Update(ApprovalRequest) returns (ApprovalResponse) {};
|
||||
rpc Remove(ApprovalDetail) returns (ApprovalRemove) {};
|
||||
rpc List(ApprovalListRequest) returns (ApprovalListResponse) {};
|
||||
rpc Information(InformationRequest) returns (InformationResponse) {};
|
||||
rpc Viewed(ViewedRequest) returns (ApprovalResponse) {};
|
||||
|
||||
rpc DetailSetting(DetailSettingRequest) returns (SettingRequest) {};
|
||||
rpc UpdateSetting(SettingRequest) returns (SettingResponse) {};
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
rpc RemoveApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRemove) {};
|
||||
rpc ListApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
|
||||
rpc DetailApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
|
||||
rpc CreateApprovalWork(ApprovalWorkRequest) returns (ApprovalWorkResponse) {};
|
||||
rpc UpdateApprovalWork(ApprovalWorkRequest) returns (ApprovalWorkResponse) {};
|
||||
rpc ListDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRequest) {};
|
||||
rpc DetailDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRequest) {};
|
||||
rpc CreateDepartmentApprovalSetting(DepartmentApprovalSettingRequest) returns (DepartmentApprovalSettingResponse) {};
|
||||
rpc UpdateDepartmentApprovalSetting(DepartmentApprovalSettingRequest) returns (DepartmentApprovalSettingResponse) {};
|
||||
rpc RemoveDepartmentApprovalSetting(DepartmentApprovalSettingDetail) returns (DepartmentApprovalSettingRemove) {};
|
||||
rpc RemoveExhibition(ExhibitionDetail) returns (ExhibitionRemove) {};
|
||||
rpc ListExhibition(ExhibitionDetail) returns (ExhibitionRequest) {};
|
||||
rpc DetailExhibition(ExhibitionDetail) returns (ExhibitionRequest) {};
|
||||
rpc CreateExhibition(ExhibitionRequest) returns (ExhibitionResponse) {};
|
||||
rpc UpdateExhibition(ExhibitionRequest) returns (ExhibitionResponse) {};
|
||||
rpc RemoveExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRemove) {};
|
||||
rpc ListExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRequest) {};
|
||||
rpc DetailExhibitionNum(ExhibitionNumDetail) returns (ExhibitionNumRequest) {};
|
||||
rpc CreateExhibitionNum(ExhibitionNumRequest) returns (ExhibitionNumResponse) {};
|
||||
rpc UpdateExhibitionNum(ExhibitionNumRequest) returns (ExhibitionNumResponse) {};
|
||||
rpc DetailWork(WorkDetail) returns (WorkRequest) {};
|
||||
rpc CreateWork(WorkRequest) returns (WorkResponse) {};
|
||||
rpc UpdateWork(WorkRequest) returns (WorkResponse) {};
|
||||
rpc RemoveWork(WorkDetail) returns (WorkRemove) {};
|
||||
rpc ListWork(WorkDetail) returns (WorkRequest) {};
|
||||
message ViewedRequest {
|
||||
string Domain = 1 [json_name = "domain"];
|
||||
uint64 ID = 2 [json_name = "ID"];
|
||||
uint64 UserID = 3 [json_name = "userID"];
|
||||
}
|
||||
|
||||
rpc UpdateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
|
||||
rpc RemoveApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRemove) {};
|
||||
rpc ListApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
|
||||
rpc DetailApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
|
||||
rpc CreateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
|
||||
*/
|
||||
message InformationRequest {
|
||||
string Domain = 1 [json_name = "domain"];
|
||||
uint64 UserID = 2 [json_name = "userID"];
|
||||
string Type = 3 [json_name = "type"];
|
||||
}
|
||||
|
||||
message Information {
|
||||
uint64 Total = 1 [json_name = "total"]; // 已提交的审批 (总量)
|
||||
uint64 DoingTotal = 2 [json_name = "doingTotal"]; // 正在审批数量
|
||||
uint64 SuccessTotal = 3 [json_name = "successTotal"]; // 审批完成数量
|
||||
uint64 FailTotal = 4 [json_name = "failTotal"]; // 审批未通过
|
||||
}
|
||||
|
||||
message InformationResponse {
|
||||
Information MySubmitInfo = 1 [json_name = "mySubmitInfo"]; // 我提交的;
|
||||
Information SubmitMeInfo = 2 [json_name = "submitMeInfo"]; // 提交给我的;
|
||||
Information DomainInfo = 3 [json_name = "domainInfo"]; // 大盘数据;
|
||||
//Information CopyMeInfo = 4 [json_name = "copyMeInfo"]; // 抄送给我的;
|
||||
}
|
||||
|
||||
message Bundle {
|
||||
@ -69,9 +60,9 @@ message Show {
|
||||
|
||||
message ApprovalWork {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
uint64 WorkId =2 [json_name = "WorkId"];
|
||||
uint64 ApprovalID =3 [json_name = "WorkId"];
|
||||
uint64 ArtworkId =4 [json_name = "artworkId"];
|
||||
uint64 WorkID =2 [json_name = "WorkID"];
|
||||
uint64 ApprovalID =3 [json_name = "ApprovalID"];
|
||||
uint64 ArtworkID =4 [json_name = "artworkID"];
|
||||
string ArtworkName =5 [json_name = "artworkName"];
|
||||
string ArtistName =6 [json_name = "artistName"];
|
||||
string ArtworkCover =7 [json_name = "artworkCover"];
|
||||
@ -89,11 +80,11 @@ message Work {
|
||||
message ApprovalExhibition {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
uint64 ExhibitionID =2 [json_name = "exhibitionID"];
|
||||
uint64 ApprovalID =3 [json_name = "ApprovalID"];
|
||||
string ExhibitionName =4 [json_name = "exhibitionName"];
|
||||
uint64 ArtworkId =5 [json_name = "artworkId"];
|
||||
uint64 ExhibitionSize =6 [json_name = "exhibitionSize"];
|
||||
string ExhibitionNumber =7 [json_name = "exhibitionNumber"];
|
||||
uint64 ApprovalID =3 [json_name = "approvalID"];
|
||||
string PackageName =4 [json_name = "packageName"];
|
||||
uint64 PackageID =5 [json_name = "packageID"];
|
||||
uint64 PackageSize =6 [json_name = "packageSize"];
|
||||
string PackageNumber =7 [json_name = "packageNumber"];
|
||||
}
|
||||
|
||||
message Exhibition {
|
||||
@ -121,9 +112,9 @@ message ApprovalRequest {
|
||||
string Domain = 2 [json_name = "domain"];
|
||||
uint64 Status = 3 [json_name = "status"];//0待审批 1-审批成功 2-拒绝
|
||||
string Type = 4 [json_name = "type"]; //类型
|
||||
uint64 ApproverId = 5 [json_name = "approverId"];//申请人
|
||||
uint64 ApproverID = 5 [json_name = "approverID"];//申请人
|
||||
string ApproverName = 6 [json_name = "approverName"];
|
||||
uint64 SubmitterId = 7 [json_name = "submitterId"];//审批人
|
||||
uint64 SubmitterID = 7 [json_name = "submitterID"];//审批人
|
||||
string SubmitterName = 8 [json_name = "submitterName"];
|
||||
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
||||
string Content = 10 [json_name = "content"];//申请内容
|
||||
@ -134,82 +125,22 @@ message ApprovalRequest {
|
||||
Bundle Bundle = 15 [json_name = "bundle"];
|
||||
}
|
||||
|
||||
message ExhibitionNumRequest {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
uint64 DeletedAt =2 [json_name = "deletedAt"];
|
||||
string CreatedAt =3 [json_name = "createdAt"];
|
||||
string UpdatedAt =4 [json_name = "updatedAt"];
|
||||
string ReceivedAt =5 [json_name = "receivedAt"];
|
||||
uint64 ApplicationsNum =6 [json_name = "applicationsNum"];
|
||||
uint64 ApprovalId =7 [json_name = "approvalId"];
|
||||
}
|
||||
|
||||
message ExhibitionNumDetail {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
string Domain =2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionNumResponse {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
bool Success =2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionNumRemove {
|
||||
bool Success =1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message WorkResponse {
|
||||
uint64 ID = 1 [json_name = "ID"];
|
||||
bool Success = 2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message WorkRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message WorkRequest {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||
string CreatedAt=3 [json_name = "createdAt"];
|
||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||
string ReturnAt=5 [json_name = "returnAt"];
|
||||
string ReceivedAt=6 [json_name = "receivedAt"];
|
||||
|
||||
}
|
||||
|
||||
message WorkDetail {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
message ApprovalDetail {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalResponse {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
bool Success=2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalExhibitionRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalExhibitionRequest {
|
||||
@ -217,60 +148,19 @@ message ApprovalExhibitionRequest {
|
||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||
string CreatedAt=3 [json_name = "createdAt"];
|
||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||
uint64 ApprovalId=5 [json_name = "approvalId"];
|
||||
uint64 ExhibitionId=6 [json_name = "exhibitionId"];
|
||||
uint64 ApprovalID=5 [json_name = "approvalID"];
|
||||
uint64 ExhibitionID=6 [json_name = "exhibitionID"];
|
||||
string ExhibitionName=7 [json_name = "exhibitionName"];
|
||||
uint64 ArtworkId=8 [json_name = "artworkId"];
|
||||
uint64 ArtworkID=8 [json_name = "artworkID"];
|
||||
string ExhibitionSize=9 [json_name = "exhibitionSize"];
|
||||
string ExhibitionNumber=10 [json_name = "exhibitionNumber"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalExhibitionDetail {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalExhibitionResponse {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
bool Success=2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalWorkRequest {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||
string CreatedAt=3 [json_name = "createdAt"];
|
||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||
uint64 ApprovalId=5 [json_name = "approvalId"];
|
||||
uint64 WorkId=6 [json_name = "workId"];
|
||||
uint64 ArtworkId=7 [json_name = "artworkId"];
|
||||
string ArtworkName=8 [json_name = "artworkName"];
|
||||
string ArtistName=9 [json_name = "artistName"];
|
||||
string ArtworkCover=10 [json_name = "artworkCover"];
|
||||
string ArtworkNumber=11 [json_name = "artworkNumber"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalWorkDetail {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalWorkResponse {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
bool Success=2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ApprovalWorkRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
|
||||
message CopyUser {
|
||||
uint64 ID =1 [json_name = "ID"];
|
||||
string Name =2 [json_name = "name"];
|
||||
@ -281,52 +171,19 @@ message SettingRequest {
|
||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||
string CreatedAt=3 [json_name = "createdAt"];
|
||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||
uint64 DepartmentId=5 [json_name = "departmentId"];
|
||||
uint64 DepartmentID=5 [json_name = "departmentID"];
|
||||
repeated CopyUser CopyUsers=6 [json_name = "copyUsers"];
|
||||
uint64 ApproverId=7 [json_name = "approverId"];
|
||||
uint64 ApproverID=7 [json_name = "approverID"];
|
||||
string ApproverName=8 [json_name = "approverName"];
|
||||
string Domain=9 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message DetailSettingRequest {
|
||||
uint64 DepartmentId=1 [json_name = "departmentId"];
|
||||
uint64 DepartmentID=1 [json_name = "departmentID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
}
|
||||
|
||||
message SettingResponse {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
bool Success=2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message DepartmentApprovalSettingRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionRequest {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||
string CreatedAt=3 [json_name = "createdAt"];
|
||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||
string ReceivedAt=5 [json_name = "receivedAt"];
|
||||
uint64 ApprovalId=6 [json_name = "approvalId"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionDetail {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
string Domain=2 [json_name = "domain"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionResponse {
|
||||
uint64 ID=1 [json_name = "ID"];
|
||||
bool Success=2 [json_name = "success"];
|
||||
|
||||
}
|
||||
|
||||
message ExhibitionRemove {
|
||||
bool Success=1 [json_name = "success"];
|
||||
}
|
@ -33,6 +33,8 @@ type ApprovalClient interface {
|
||||
Update(ctx context.Context, in *ApprovalRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
|
||||
Remove(ctx context.Context, in *ApprovalDetail, opts ...grpc_go.CallOption) (*ApprovalRemove, common.ErrorWithAttachment)
|
||||
List(ctx context.Context, in *ApprovalListRequest, opts ...grpc_go.CallOption) (*ApprovalListResponse, common.ErrorWithAttachment)
|
||||
Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment)
|
||||
Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment)
|
||||
DetailSetting(ctx context.Context, in *DetailSettingRequest, opts ...grpc_go.CallOption) (*SettingRequest, common.ErrorWithAttachment)
|
||||
UpdateSetting(ctx context.Context, in *SettingRequest, opts ...grpc_go.CallOption) (*SettingResponse, common.ErrorWithAttachment)
|
||||
}
|
||||
@ -47,6 +49,8 @@ type ApprovalClientImpl struct {
|
||||
Update func(ctx context.Context, in *ApprovalRequest) (*ApprovalResponse, error)
|
||||
Remove func(ctx context.Context, in *ApprovalDetail) (*ApprovalRemove, error)
|
||||
List func(ctx context.Context, in *ApprovalListRequest) (*ApprovalListResponse, error)
|
||||
Information func(ctx context.Context, in *InformationRequest) (*InformationResponse, error)
|
||||
Viewed func(ctx context.Context, in *ViewedRequest) (*ApprovalResponse, error)
|
||||
DetailSetting func(ctx context.Context, in *DetailSettingRequest) (*SettingRequest, error)
|
||||
UpdateSetting func(ctx context.Context, in *SettingRequest) (*SettingResponse, error)
|
||||
}
|
||||
@ -93,6 +97,18 @@ func (c *approvalClient) List(ctx context.Context, in *ApprovalListRequest, opts
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out)
|
||||
}
|
||||
|
||||
func (c *approvalClient) Information(ctx context.Context, in *InformationRequest, opts ...grpc_go.CallOption) (*InformationResponse, common.ErrorWithAttachment) {
|
||||
out := new(InformationResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Information", in, out)
|
||||
}
|
||||
|
||||
func (c *approvalClient) Viewed(ctx context.Context, in *ViewedRequest, opts ...grpc_go.CallOption) (*ApprovalResponse, common.ErrorWithAttachment) {
|
||||
out := new(ApprovalResponse)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Viewed", in, out)
|
||||
}
|
||||
|
||||
func (c *approvalClient) DetailSetting(ctx context.Context, in *DetailSettingRequest, opts ...grpc_go.CallOption) (*SettingRequest, common.ErrorWithAttachment) {
|
||||
out := new(SettingRequest)
|
||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||
@ -114,6 +130,8 @@ type ApprovalServer interface {
|
||||
Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error)
|
||||
Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error)
|
||||
List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error)
|
||||
Information(context.Context, *InformationRequest) (*InformationResponse, error)
|
||||
Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error)
|
||||
DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error)
|
||||
UpdateSetting(context.Context, *SettingRequest) (*SettingResponse, error)
|
||||
mustEmbedUnimplementedApprovalServer()
|
||||
@ -139,6 +157,12 @@ func (UnimplementedApprovalServer) Remove(context.Context, *ApprovalDetail) (*Ap
|
||||
func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
|
||||
}
|
||||
func (UnimplementedApprovalServer) Information(context.Context, *InformationRequest) (*InformationResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Information not implemented")
|
||||
}
|
||||
func (UnimplementedApprovalServer) Viewed(context.Context, *ViewedRequest) (*ApprovalResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Viewed not implemented")
|
||||
}
|
||||
func (UnimplementedApprovalServer) DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DetailSetting not implemented")
|
||||
}
|
||||
@ -318,6 +342,64 @@ func _Approval_List_Handler(srv interface{}, ctx context.Context, dec func(inter
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
func _Approval_Information_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(InformationRequest)
|
||||
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("Information", 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 _Approval_Viewed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(ViewedRequest)
|
||||
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("Viewed", 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 _Approval_DetailSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(DetailSettingRequest)
|
||||
if err := dec(in); err != nil {
|
||||
@ -403,6 +485,14 @@ var Approval_ServiceDesc = grpc_go.ServiceDesc{
|
||||
MethodName: "List",
|
||||
Handler: _Approval_List_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Information",
|
||||
Handler: _Approval_Information_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "Viewed",
|
||||
Handler: _Approval_Viewed_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "DetailSetting",
|
||||
Handler: _Approval_DetailSetting_Handler,
|
||||
|
175
pkg/common/collection/slicefuc.go
Normal file
175
pkg/common/collection/slicefuc.go
Normal file
@ -0,0 +1,175 @@
|
||||
package collection
|
||||
|
||||
// Find Find获取一个切片并在其中查找元素。如果找到它,它将返回它的密钥,否则它将返回-1和一个错误的bool。
|
||||
func Find(slice []string, val string) (int, bool) {
|
||||
for i, item := range slice {
|
||||
if item == val {
|
||||
return i, true
|
||||
}
|
||||
}
|
||||
return -1, false
|
||||
}
|
||||
|
||||
// IntersectArray 求两个切片的交集
|
||||
func IntersectArray(a []string, b []string) []string {
|
||||
var inter []string
|
||||
mp := make(map[string]bool)
|
||||
|
||||
for _, s := range a {
|
||||
if _, ok := mp[s]; !ok {
|
||||
mp[s] = true
|
||||
}
|
||||
}
|
||||
for _, s := range b {
|
||||
if _, ok := mp[s]; ok {
|
||||
inter = append(inter, s)
|
||||
}
|
||||
}
|
||||
|
||||
return inter
|
||||
}
|
||||
|
||||
// IntersectArrayInt 求两个切片的交集
|
||||
func IntersectArrayInt(a []int, b []int) []int {
|
||||
var inter []int
|
||||
mp := make(map[int]bool)
|
||||
|
||||
for _, s := range a {
|
||||
if _, ok := mp[s]; !ok {
|
||||
mp[s] = true
|
||||
}
|
||||
}
|
||||
for _, s := range b {
|
||||
if _, ok := mp[s]; ok {
|
||||
inter = append(inter, s)
|
||||
}
|
||||
}
|
||||
|
||||
return inter
|
||||
}
|
||||
|
||||
func IntersectArrayUint64(a []uint64, b []uint64) []uint64 {
|
||||
var inter []uint64
|
||||
mp := make(map[uint64]bool)
|
||||
|
||||
for _, s := range a {
|
||||
if _, ok := mp[s]; !ok {
|
||||
mp[s] = true
|
||||
}
|
||||
}
|
||||
for _, s := range b {
|
||||
if _, ok := mp[s]; ok {
|
||||
inter = append(inter, s)
|
||||
}
|
||||
}
|
||||
|
||||
return inter
|
||||
}
|
||||
|
||||
func IntersectArrayUint(a []uint, b []uint) []uint {
|
||||
var inter []uint
|
||||
mp := make(map[uint]bool)
|
||||
|
||||
for _, s := range a {
|
||||
if _, ok := mp[s]; !ok {
|
||||
mp[s] = true
|
||||
}
|
||||
}
|
||||
for _, s := range b {
|
||||
if _, ok := mp[s]; ok {
|
||||
inter = append(inter, s)
|
||||
}
|
||||
}
|
||||
|
||||
return inter
|
||||
}
|
||||
|
||||
// DiffArray 求两个切片的差集 a=[1,2,3,4] b=[3,4,5,6] =>1,2
|
||||
func DiffArray(a []int, b []int) []int {
|
||||
var diffArray []int
|
||||
temp := map[int]struct{}{}
|
||||
|
||||
for _, val := range b {
|
||||
if _, ok := temp[val]; !ok {
|
||||
temp[val] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
for _, val := range a {
|
||||
if _, ok := temp[val]; !ok {
|
||||
diffArray = append(diffArray, val)
|
||||
}
|
||||
}
|
||||
|
||||
return diffArray
|
||||
}
|
||||
|
||||
// DiffArrayUint 求两个切片的差集 a=[1,2,3,4] b=[3,4,5,6] =>1,2
|
||||
func DiffArrayUint(a []uint, b []uint) []uint {
|
||||
var diffArray []uint
|
||||
temp := map[uint]struct{}{}
|
||||
|
||||
for _, val := range b {
|
||||
if _, ok := temp[val]; !ok {
|
||||
temp[val] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
for _, val := range a {
|
||||
if _, ok := temp[val]; !ok {
|
||||
diffArray = append(diffArray, val)
|
||||
}
|
||||
}
|
||||
|
||||
return diffArray
|
||||
}
|
||||
|
||||
func DiffArrayUint64(a []uint64, b []uint64) []uint64 {
|
||||
var diffArray []uint64
|
||||
temp := map[uint64]struct{}{}
|
||||
|
||||
for _, val := range b {
|
||||
if _, ok := temp[val]; !ok {
|
||||
temp[val] = struct{}{}
|
||||
}
|
||||
}
|
||||
|
||||
for _, val := range a {
|
||||
if _, ok := temp[val]; !ok {
|
||||
diffArray = append(diffArray, val)
|
||||
}
|
||||
}
|
||||
|
||||
return diffArray
|
||||
}
|
||||
|
||||
// RemoveRepeatedElement 切片去重实现
|
||||
func RemoveRepeatedElement(arr []string) (newArr []string) {
|
||||
newArr = make([]string, 0)
|
||||
for i := 0; i < len(arr); i++ {
|
||||
repeat := false
|
||||
for j := i + 1; j < len(arr); j++ {
|
||||
if arr[i] == arr[j] {
|
||||
repeat = true
|
||||
break
|
||||
}
|
||||
}
|
||||
if !repeat {
|
||||
newArr = append(newArr, arr[i])
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
//切片去重实现
|
||||
func arrayUnique(arr []string) []string {
|
||||
result := make([]string, 0, len(arr))
|
||||
temp := map[string]struct{}{}
|
||||
for i := 0; i < len(arr); i++ {
|
||||
if _, ok := temp[arr[i]]; ok != true {
|
||||
temp[arr[i]] = struct{}{}
|
||||
result = append(result, arr[i])
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
@ -13,3 +13,8 @@ const (
|
||||
ERRORCONFIG = "配置文件读取错误,请检查文件路径:"
|
||||
ErrorApprovalType = "类型不支持"
|
||||
)
|
||||
|
||||
const (
|
||||
ErrorNotFound = "暂无数据"
|
||||
ErrorWrongStatus = "当前状态无法修改"
|
||||
)
|
||||
|
@ -24,7 +24,7 @@ type Approval struct {
|
||||
Type string `gorm:"column:type" json:"type"` // 类型
|
||||
Content string `gorm:"column:content" json:"content"` // 提交审批内容
|
||||
Reply string `gorm:"column:reply" json:"reply"` // 回复内容
|
||||
Domain string `gorm:"column:domain" json:"domain"` // 环境变量
|
||||
Domain *string `gorm:"column:domain" json:"domain"` // 环境变量
|
||||
Show *Show //`gorm:"foreignKey:ApprovalID" json:"Show"` // 环境变量
|
||||
Work *Work //`gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量
|
||||
Bundle *Bundle //`gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量
|
||||
@ -38,9 +38,15 @@ const (
|
||||
TypeShow = "show"
|
||||
TypeBundle = "bundle"
|
||||
)
|
||||
const (
|
||||
StatusDoing = 0
|
||||
StatusOk = 1
|
||||
StatusFail = 2
|
||||
)
|
||||
|
||||
type ApprovalContentInterface interface {
|
||||
SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error
|
||||
UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error
|
||||
BuildResContent(a *Approval, request *approval.ApprovalRequest)
|
||||
DeleteApproval(p *Approval) error
|
||||
}
|
||||
@ -57,10 +63,10 @@ func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) {
|
||||
|
||||
// 保存基本信息
|
||||
entity = &Approval{
|
||||
Domain: in.Domain,
|
||||
SubmitterID: in.SubmitterId,
|
||||
Domain: &in.Domain,
|
||||
SubmitterID: in.SubmitterID,
|
||||
SubmitterName: in.SubmitterName,
|
||||
ApproverID: in.ApproverId,
|
||||
ApproverID: in.ApproverID,
|
||||
ApproverName: in.ApproverName,
|
||||
CopyUsers: FormatCopyUsers(in.CopyUsers),
|
||||
Type: in.Type,
|
||||
@ -81,10 +87,119 @@ func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) {
|
||||
|
||||
}
|
||||
|
||||
func Viewed(in *approval.ViewedRequest) error {
|
||||
|
||||
var entity *Approval
|
||||
var err error
|
||||
|
||||
if err = DB.First(&entity, in.ID).Error; err != nil {
|
||||
return errors.New(m.ErrorNotFound)
|
||||
}
|
||||
|
||||
copyUsers := entity.CopyUsers
|
||||
|
||||
for i, temp := range copyUsers {
|
||||
if temp.ID == in.UserID {
|
||||
temp.IsViewed = 1
|
||||
copyUsers[i] = temp
|
||||
}
|
||||
}
|
||||
|
||||
return DB.Model(&Approval{}).Where(&Approval{ID: in.ID}).Updates(&Approval{CopyUsers: copyUsers}).Error
|
||||
|
||||
}
|
||||
|
||||
func UpdateApproval(in *approval.ApprovalRequest) (*Approval, error) {
|
||||
var entity *Approval
|
||||
|
||||
err := DB.Transaction(func(tx *gorm.DB) error {
|
||||
|
||||
if departErr := DB.First(&entity, in.ID).Error; departErr != nil {
|
||||
return errors.New(m.ErrorNotFound)
|
||||
}
|
||||
|
||||
if entity.Status != StatusDoing {
|
||||
return errors.New(m.ErrorWrongStatus)
|
||||
} else if in.Status != StatusDoing { //审批
|
||||
// 保存基本信息
|
||||
entity = &Approval{
|
||||
ID: in.ID,
|
||||
Status: int8(in.Status),
|
||||
Reply: in.Reply,
|
||||
}
|
||||
|
||||
return DB.Save(&entity).Error
|
||||
}
|
||||
|
||||
// 保存基本信息
|
||||
entity = &Approval{
|
||||
ID: in.ID,
|
||||
//Domain: in.Domain,
|
||||
//SubmitterID: in.SubmitterId,
|
||||
//SubmitterName: in.SubmitterName,
|
||||
//ApproverID: in.ApproverId,
|
||||
//ApproverName: in.ApproverName,
|
||||
//CopyUsers: FormatCopyUsers(in.CopyUsers),
|
||||
//Type: in.Type,
|
||||
Content: in.Content,
|
||||
}
|
||||
|
||||
if err := DB.Save(&entity).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 不同类型保存不同的结构体
|
||||
err := entity.UpdateContent(in)
|
||||
|
||||
return err
|
||||
})
|
||||
|
||||
return entity, err
|
||||
|
||||
}
|
||||
|
||||
func approvalCalc(filter *Approval) *approval.Information {
|
||||
|
||||
var num int64
|
||||
|
||||
info := &approval.Information{}
|
||||
|
||||
DB.Model(&Approval{}).Where(&filter).Count(&num)
|
||||
info.Total = uint64(num)
|
||||
|
||||
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusOk}).Count(&num)
|
||||
info.DoingTotal = uint64(num)
|
||||
|
||||
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusOk}).Count(&num)
|
||||
info.SuccessTotal = uint64(num)
|
||||
|
||||
DB.Model(&Approval{}).Where(&filter).Where(&Approval{Status: StatusFail}).Count(&num)
|
||||
info.FailTotal = uint64(num)
|
||||
|
||||
return info
|
||||
}
|
||||
|
||||
// ApprovalInfo 统计
|
||||
func ApprovalInfo(in *approval.InformationRequest) (*approval.InformationResponse, error) {
|
||||
|
||||
response := &approval.InformationResponse{
|
||||
MySubmitInfo: approvalCalc(&Approval{Domain: &in.Domain, SubmitterID: in.UserID}),
|
||||
SubmitMeInfo: approvalCalc(&Approval{Domain: &in.Domain, ApproverID: in.UserID}),
|
||||
DomainInfo: approvalCalc(&Approval{Domain: &in.Domain}),
|
||||
}
|
||||
|
||||
return response, nil
|
||||
|
||||
}
|
||||
|
||||
func (m *Approval) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Approval) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *Approval) DeleteApproval(p *Approval) error {
|
||||
return nil
|
||||
}
|
||||
@ -129,6 +244,18 @@ func (m *Approval) SaveContent(in *approval.ApprovalRequest) error {
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *Approval) UpdateContent(in *approval.ApprovalRequest) error {
|
||||
|
||||
factory, err := GetApprovalContentFactory(in.Type)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = factory.UpdateApprovalContent(in, m)
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func ApprovalList(in *approval.ApprovalListRequest) ([]*Approval, int64) {
|
||||
var list []*Approval
|
||||
var count int64
|
||||
|
@ -7,16 +7,16 @@ import (
|
||||
|
||||
// ApprovalExhibition 绑定的画展包
|
||||
type ApprovalExhibition struct {
|
||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
||||
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
||||
ExhibitionName string `gorm:"column:exhibition_name" json:"exhibitionName"` // 作品名称
|
||||
ArtworkID uint64 `gorm:"column:artwork_id" json:"artworkId"` // 作品类型id
|
||||
ExhibitionSize uint64 `gorm:"column:exhibition_size" json:"exhibitionSize"` // 平尺数
|
||||
ExhibitionNumber string `gorm:"column:exhibition_number" json:"exhibitionNumber"` // 序号
|
||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
||||
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
||||
PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称
|
||||
PackageID uint64 `gorm:"column:package_id" json:"packageID"` // 作品类型id
|
||||
PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数
|
||||
PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号
|
||||
}
|
||||
|
||||
// TableName get sql table name.获取数据库表名
|
||||
|
@ -1,7 +1,9 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
@ -31,6 +33,22 @@ func (m *Bundle) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval)
|
||||
return DB.Create(&m).Error
|
||||
}
|
||||
|
||||
func (m *Bundle) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
|
||||
var entity *Bundle
|
||||
|
||||
if err := DB.Where(&Bundle{ApprovalID: a.ID}).First(&entity).Error; err != nil {
|
||||
return errors.New(m2.ErrorNotFound)
|
||||
}
|
||||
|
||||
m.ID = entity.ID
|
||||
//m.ApprovalID = a.ID
|
||||
m.ReceivedAt = in.Bundle.ReceivedAt
|
||||
m.ApplicationsNum = in.Bundle.ApplicationsNum
|
||||
|
||||
return DB.Save(&m).Error
|
||||
}
|
||||
|
||||
func (m *Bundle) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||
request.Bundle = &approval.Bundle{
|
||||
ID: m.ID,
|
||||
|
@ -9,8 +9,9 @@ import (
|
||||
)
|
||||
|
||||
type CopyUser struct {
|
||||
ID uint64
|
||||
Name string
|
||||
ID uint64
|
||||
Name string
|
||||
IsViewed uint64
|
||||
}
|
||||
|
||||
type CopyUsers []CopyUser
|
||||
|
@ -1,8 +1,8 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/collection"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
@ -29,6 +29,7 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
|
||||
//主体保存
|
||||
m.ApprovalID = a.ID
|
||||
m.ReceivedAt = in.Exhibition.ReceivedAt
|
||||
m.Address = in.Exhibition.Address
|
||||
|
||||
err := DB.Create(m).Error
|
||||
if err != nil {
|
||||
@ -36,30 +37,108 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
|
||||
}
|
||||
|
||||
//绑定画作保存
|
||||
var approvalWorks []ApprovalWork
|
||||
for _, approvalWork := range in.Work.ApprovalWorks {
|
||||
fmt.Println(approvalWork)
|
||||
temp := ApprovalWork{
|
||||
var approvalExhibitions []ApprovalExhibition
|
||||
for _, approvalExhibition := range in.Exhibition.ApprovalExhibitions {
|
||||
temp := ApprovalExhibition{
|
||||
|
||||
ApprovalID: a.ID,
|
||||
WorkID: m.ID,
|
||||
ArtworkID: approvalWork.ArtworkId,
|
||||
ArtworkName: approvalWork.ArtworkName,
|
||||
ArtistName: approvalWork.ArtistName,
|
||||
ArtworkCover: approvalWork.ArtworkCover,
|
||||
ArtworkNumber: approvalWork.ArtworkNumber,
|
||||
ExhibitionID: m.ID,
|
||||
PackageName: approvalExhibition.PackageName,
|
||||
PackageID: approvalExhibition.PackageID,
|
||||
PackageSize: approvalExhibition.PackageSize,
|
||||
PackageNumber: approvalExhibition.PackageNumber,
|
||||
}
|
||||
|
||||
approvalWorks = append(approvalWorks, temp)
|
||||
approvalExhibitions = append(approvalExhibitions, temp)
|
||||
}
|
||||
|
||||
if len(approvalWorks) > 0 {
|
||||
err = DB.Create(&approvalWorks).Error
|
||||
if len(approvalExhibitions) > 0 {
|
||||
err = DB.Create(&approvalExhibitions).Error
|
||||
}
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *Exhibition) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
|
||||
approvalExhibitions := in.Exhibition.ApprovalExhibitions
|
||||
var oldApprovalExhibitions []ApprovalExhibition
|
||||
var oldPackageID []uint64
|
||||
var inPackageID []uint64
|
||||
var err error
|
||||
inApprovalExhibitionMap := make(map[uint64]*approval.ApprovalExhibition, len(approvalExhibitions))
|
||||
|
||||
DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Find(&oldApprovalExhibitions)
|
||||
|
||||
for _, oldAW := range oldApprovalExhibitions {
|
||||
oldPackageID = append(oldPackageID, oldAW.PackageID)
|
||||
}
|
||||
|
||||
for _, approvalWork := range approvalExhibitions {
|
||||
inPackageID = append(inPackageID, approvalWork.PackageID)
|
||||
inApprovalExhibitionMap[approvalWork.PackageID] = approvalWork
|
||||
}
|
||||
|
||||
needDel := collection.DiffArrayUint64(oldPackageID, inPackageID)
|
||||
|
||||
if len(needDel) > 0 {
|
||||
DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Where("package_id in ?", needDel).
|
||||
Delete(&ApprovalExhibition{})
|
||||
}
|
||||
|
||||
needAdd := collection.DiffArrayUint64(inPackageID, oldPackageID)
|
||||
|
||||
//传递的id去除表 新增
|
||||
if len(needAdd) > 0 {
|
||||
var approvalWorks []ApprovalExhibition
|
||||
for _, one := range approvalExhibitions {
|
||||
temp := ApprovalExhibition{
|
||||
ApprovalID: a.ID,
|
||||
ExhibitionID: m.ID,
|
||||
PackageName: one.PackageName,
|
||||
PackageID: one.PackageID,
|
||||
PackageSize: one.PackageSize,
|
||||
PackageNumber: one.PackageNumber,
|
||||
}
|
||||
|
||||
approvalWorks = append(approvalWorks, temp)
|
||||
}
|
||||
|
||||
if len(approvalWorks) > 0 {
|
||||
if err = DB.Create(&approvalWorks).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//更新 主要修改绑定的数据权限id
|
||||
changeIds := collection.IntersectArrayUint64(inPackageID, oldPackageID)
|
||||
if len(changeIds) > 0 {
|
||||
for _, tempId := range changeIds {
|
||||
|
||||
if _, ok := inApprovalExhibitionMap[tempId]; ok == false {
|
||||
continue
|
||||
}
|
||||
|
||||
temp := ApprovalExhibition{
|
||||
ApprovalID: a.ID,
|
||||
ExhibitionID: m.ID,
|
||||
PackageName: inApprovalExhibitionMap[tempId].PackageName,
|
||||
PackageID: inApprovalExhibitionMap[tempId].PackageID,
|
||||
PackageSize: inApprovalExhibitionMap[tempId].PackageSize,
|
||||
PackageNumber: inApprovalExhibitionMap[tempId].PackageNumber,
|
||||
}
|
||||
|
||||
DB.Model(&ApprovalExhibition{}).
|
||||
Where(&ApprovalExhibition{PackageID: inApprovalExhibitionMap[tempId].PackageID, ExhibitionID: m.ID}).
|
||||
Updates(temp)
|
||||
}
|
||||
}
|
||||
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
|
||||
var approvalExhibitions []*approval.ApprovalExhibition
|
||||
@ -67,13 +146,13 @@ func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequ
|
||||
for _, one := range m.ApprovalExhibitions {
|
||||
temp := &approval.ApprovalExhibition{
|
||||
|
||||
ID: one.ID,
|
||||
ApprovalID: one.ApprovalID,
|
||||
ArtworkId: one.ArtworkID,
|
||||
ExhibitionID: one.ExhibitionID,
|
||||
ExhibitionName: one.ExhibitionName,
|
||||
ExhibitionSize: one.ExhibitionSize,
|
||||
ExhibitionNumber: one.ExhibitionNumber,
|
||||
ID: one.ID,
|
||||
ApprovalID: one.ApprovalID,
|
||||
ExhibitionID: one.ExhibitionID,
|
||||
PackageID: one.PackageID,
|
||||
PackageName: one.PackageName,
|
||||
PackageSize: one.PackageSize,
|
||||
PackageNumber: one.PackageNumber,
|
||||
}
|
||||
approvalExhibitions = append(approvalExhibitions, temp)
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -27,6 +29,21 @@ func (m *Show) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
||||
m.ShowAt = in.Show.ShowAt
|
||||
return DB.Create(&m).Error
|
||||
}
|
||||
|
||||
func (m *Show) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
|
||||
var entity *Show
|
||||
|
||||
if err := DB.Where(&Show{ApprovalID: a.ApproverID}).First(&entity).Error; err != nil {
|
||||
return errors.New(m2.ErrorNotFound)
|
||||
}
|
||||
|
||||
m.ID = entity.ID
|
||||
m.ArtistNum = in.Show.ArtistNum
|
||||
m.ShowAt = in.Show.ShowAt
|
||||
return DB.Save(&m).Error
|
||||
}
|
||||
|
||||
func (m *Show) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||
request.Show = &approval.Show{
|
||||
ID: m.ID,
|
||||
|
@ -1,8 +1,11 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/collection"
|
||||
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||
"gorm.io/plugin/soft_delete"
|
||||
"time"
|
||||
)
|
||||
@ -44,7 +47,7 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
||||
|
||||
ApprovalID: a.ID,
|
||||
WorkID: m.ID,
|
||||
ArtworkID: approvalWork.ArtworkId,
|
||||
ArtworkID: approvalWork.ArtworkID,
|
||||
ArtworkName: approvalWork.ArtworkName,
|
||||
ArtistName: approvalWork.ArtistName,
|
||||
ArtworkCover: approvalWork.ArtworkCover,
|
||||
@ -61,6 +64,108 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
||||
return err
|
||||
}
|
||||
|
||||
func (m *Work) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
|
||||
var entity *Work
|
||||
var err error
|
||||
|
||||
//主体保存
|
||||
if err := DB.Where(&Work{ApprovalID: a.ID}).First(&entity).Error; err != nil {
|
||||
return errors.New(m2.ErrorNotFound)
|
||||
}
|
||||
|
||||
m.ID = entity.ID
|
||||
//m.ApprovalID = a.ApproverID
|
||||
m.ReturnAt = in.Work.ReturnAt
|
||||
m.ReceivedAt = in.Work.ReceivedAt
|
||||
|
||||
if err = DB.Save(m).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return m.UpdateContent(in, a)
|
||||
}
|
||||
|
||||
func (m *Work) UpdateContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||
var oldApprovalWorks []ApprovalWork
|
||||
var oldArtWorkID []uint64
|
||||
var inArtWorkID []uint64
|
||||
var err error
|
||||
inApprovalWorkMap := make(map[uint64]*approval.ApprovalWork, len(in.Work.ApprovalWorks))
|
||||
|
||||
DB.Where(&ApprovalWork{WorkID: m.ID}).Find(&oldApprovalWorks)
|
||||
|
||||
for _, oldAW := range oldApprovalWorks {
|
||||
oldArtWorkID = append(oldArtWorkID, oldAW.ArtworkID)
|
||||
}
|
||||
|
||||
for _, approvalWork := range in.Work.ApprovalWorks {
|
||||
inArtWorkID = append(inArtWorkID, approvalWork.ArtworkID)
|
||||
inApprovalWorkMap[approvalWork.ArtworkID] = approvalWork
|
||||
}
|
||||
|
||||
needDel := collection.DiffArrayUint64(oldArtWorkID, inArtWorkID)
|
||||
|
||||
if len(needDel) > 0 {
|
||||
DB.Where(&ApprovalWork{WorkID: m.ID}).Where("artwork_id in ?", needDel).
|
||||
Delete(&ApprovalWork{})
|
||||
}
|
||||
|
||||
needAdd := collection.DiffArrayUint64(inArtWorkID, oldArtWorkID)
|
||||
|
||||
//传递的id去除表 新增
|
||||
if len(needAdd) > 0 {
|
||||
var approvalWorks []ApprovalWork
|
||||
for _, approvalWork := range in.Work.ApprovalWorks {
|
||||
temp := ApprovalWork{
|
||||
ApprovalID: a.ID,
|
||||
WorkID: m.ID,
|
||||
ArtworkID: approvalWork.ArtworkID,
|
||||
ArtworkName: approvalWork.ArtworkName,
|
||||
ArtistName: approvalWork.ArtistName,
|
||||
ArtworkCover: approvalWork.ArtworkCover,
|
||||
ArtworkNumber: approvalWork.ArtworkNumber,
|
||||
}
|
||||
|
||||
approvalWorks = append(approvalWorks, temp)
|
||||
}
|
||||
|
||||
if len(approvalWorks) > 0 {
|
||||
if err = DB.Create(&approvalWorks).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//更新 主要修改绑定的数据权限id
|
||||
changeIds := collection.IntersectArrayUint64(inArtWorkID, oldArtWorkID)
|
||||
if len(changeIds) > 0 {
|
||||
for _, tempId := range changeIds {
|
||||
|
||||
if _, ok := inApprovalWorkMap[tempId]; ok == false {
|
||||
continue
|
||||
}
|
||||
|
||||
temp := ApprovalWork{
|
||||
ApprovalID: a.ID,
|
||||
WorkID: m.ID,
|
||||
ArtworkID: inApprovalWorkMap[tempId].ArtworkID,
|
||||
ArtworkName: inApprovalWorkMap[tempId].ArtworkName,
|
||||
ArtistName: inApprovalWorkMap[tempId].ArtistName,
|
||||
ArtworkCover: inApprovalWorkMap[tempId].ArtworkCover,
|
||||
ArtworkNumber: inApprovalWorkMap[tempId].ArtworkNumber,
|
||||
}
|
||||
|
||||
DB.Model(&ApprovalWork{}).
|
||||
Where(&ApprovalWork{WorkID: m.ID, ArtworkID: inApprovalWorkMap[tempId].ArtworkID}).
|
||||
Updates(temp)
|
||||
}
|
||||
}
|
||||
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||
|
||||
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
|
||||
@ -70,9 +175,9 @@ func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||
temp := &approval.ApprovalWork{
|
||||
|
||||
ID: one.ID,
|
||||
WorkId: one.WorkID,
|
||||
WorkID: one.WorkID,
|
||||
ApprovalID: one.ApprovalID,
|
||||
ArtworkId: one.ArtworkID,
|
||||
ArtworkID: one.ArtworkID,
|
||||
ArtworkName: one.ArtworkName,
|
||||
ArtistName: one.ArtistName,
|
||||
ArtworkCover: one.ArtworkCover,
|
||||
|
@ -14,13 +14,13 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
|
||||
|
||||
response := &approval.ApprovalRequest{
|
||||
ID: entity.ID,
|
||||
Domain: entity.Domain,
|
||||
Domain: *entity.Domain,
|
||||
Status: uint64(entity.Status),
|
||||
Type: entity.Type,
|
||||
ApproverId: entity.ApproverID,
|
||||
ApproverID: entity.ApproverID,
|
||||
ApproverName: entity.ApproverName,
|
||||
CopyUsers: model.FormatToResponse(entity.CopyUsers),
|
||||
SubmitterId: entity.SubmitterID,
|
||||
SubmitterID: entity.SubmitterID,
|
||||
SubmitterName: entity.SubmitterName,
|
||||
Content: entity.Content,
|
||||
Reply: entity.Reply,
|
||||
@ -35,7 +35,7 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
|
||||
return response
|
||||
}
|
||||
|
||||
//BuildApproval 处理单个detail返回
|
||||
//BuildApprovals 处理单个detail返回
|
||||
func BuildApprovals(list []*model.Approval) (details []*approval.ApprovalRequest) {
|
||||
|
||||
for _, item := range list {
|
||||
|
@ -21,9 +21,9 @@ func BuildSetting(entity *model.DepartmentApprovalSetting) *approval.SettingRequ
|
||||
response := &approval.SettingRequest{
|
||||
ID: entity.ID,
|
||||
Domain: entity.Domain,
|
||||
DepartmentId: entity.DepartmentID,
|
||||
DepartmentID: entity.DepartmentID,
|
||||
CopyUsers: copyUsers,
|
||||
ApproverId: entity.ApproverID,
|
||||
ApproverID: entity.ApproverID,
|
||||
ApproverName: entity.ApproverName,
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@ package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/model"
|
||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/serializer"
|
||||
@ -24,7 +23,16 @@ func (a *ApprovalProvider) Create(ctx context.Context, in *approval.ApprovalRequ
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) Update(ctx context.Context, in *approval.ApprovalRequest) (*approval.ApprovalResponse, error) {
|
||||
return nil, nil
|
||||
|
||||
response := &approval.ApprovalResponse{}
|
||||
|
||||
entity, err := model.UpdateApproval(in)
|
||||
|
||||
response.ID = entity.ID
|
||||
response.Success = true
|
||||
|
||||
return response, err
|
||||
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDetail) (*approval.ApprovalRemove, error) {
|
||||
@ -37,7 +45,7 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
|
||||
var entity *model.Approval
|
||||
|
||||
// 确定有数据则执行删除
|
||||
if err = model.DB.Where(&model.Approval{Domain: in.Domain}).
|
||||
if err = model.DB.Where(&model.Approval{Domain: &in.Domain}).
|
||||
Find(&entity, in.ID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
@ -47,7 +55,7 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
|
||||
return err
|
||||
}
|
||||
|
||||
if err = model.DB.Where(&model.Approval{Domain: in.Domain}).
|
||||
if err = model.DB.Where(&model.Approval{Domain: &in.Domain}).
|
||||
Delete(&model.Approval{}, in.ID).Error; err != nil {
|
||||
return err
|
||||
}
|
||||
@ -79,6 +87,28 @@ func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.ApprovalDeta
|
||||
return response, err
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) Information(ctx context.Context, in *approval.InformationRequest) (*approval.InformationResponse, error) {
|
||||
|
||||
return model.ApprovalInfo(in)
|
||||
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) Viewed(ctx context.Context, in *approval.ViewedRequest) (*approval.ApprovalResponse, error) {
|
||||
|
||||
response := &approval.ApprovalResponse{}
|
||||
var err error
|
||||
|
||||
if err = model.Viewed(in); err != nil {
|
||||
return response, err
|
||||
}
|
||||
|
||||
response.ID = in.ID
|
||||
response.Success = true
|
||||
|
||||
return response, err
|
||||
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRequest) (*approval.ApprovalListResponse, error) {
|
||||
|
||||
//获取人的 部门角色(1、管理组 2、超级管理 3、Leader角色)
|
||||
@ -97,40 +127,35 @@ func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRe
|
||||
// UpdateSetting 设置配置抄送者和审核者
|
||||
func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.SettingRequest) (*approval.SettingResponse, error) {
|
||||
|
||||
exhibit := ""
|
||||
exhibit += in.Domain
|
||||
|
||||
fmt.Println(exhibit)
|
||||
|
||||
var err error
|
||||
response := &approval.SettingResponse{}
|
||||
var setting model.DepartmentApprovalSetting
|
||||
copyUsers := model.FormatCopyUsers(in.CopyUsers)
|
||||
|
||||
//首次
|
||||
if err := model.DB.Model(&model.DepartmentApprovalSetting{}).
|
||||
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentId}).
|
||||
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).
|
||||
First(&setting).Error; err != nil {
|
||||
|
||||
setting = model.DepartmentApprovalSetting{
|
||||
DepartmentID: in.DepartmentId,
|
||||
DepartmentID: in.DepartmentID,
|
||||
CopyUsers: copyUsers,
|
||||
ApproverID: in.ApproverId,
|
||||
ApproverID: in.ApproverID,
|
||||
ApproverName: in.ApproverName,
|
||||
Domain: in.Domain,
|
||||
}
|
||||
|
||||
model.DB.Create(&setting)
|
||||
} else {
|
||||
setting.DepartmentID = in.DepartmentId
|
||||
setting.DepartmentID = in.DepartmentID
|
||||
setting.CopyUsers = copyUsers
|
||||
setting.ApproverID = in.ApproverId
|
||||
setting.ApproverID = in.ApproverID
|
||||
setting.ApproverName = in.ApproverName
|
||||
model.DB.Save(&setting)
|
||||
}
|
||||
|
||||
err = model.DB.Save(&setting).Error
|
||||
|
||||
response.ID = setting.ID
|
||||
response.Success = true
|
||||
|
||||
return response, nil
|
||||
return response, err
|
||||
}
|
||||
|
||||
func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.DetailSettingRequest) (*approval.SettingRequest, error) {
|
||||
@ -139,7 +164,7 @@ func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.Detai
|
||||
var setting model.DepartmentApprovalSetting
|
||||
|
||||
if err := model.DB.Model(&model.DepartmentApprovalSetting{}).
|
||||
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentId}).
|
||||
Where(&model.DepartmentApprovalSetting{Domain: in.Domain, DepartmentID: in.DepartmentID}).
|
||||
First(&setting).Error; err != nil {
|
||||
response.Domain = in.Domain
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user