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.
|
// The approval service definition.
|
||||||
service Approval {
|
service Approval {
|
||||||
|
|
||||||
|
|
||||||
rpc Create(ApprovalRequest) returns (ApprovalResponse) {};
|
rpc Create(ApprovalRequest) returns (ApprovalResponse) {};
|
||||||
|
|
||||||
rpc Detail(ApprovalDetail) returns (ApprovalRequest) {};
|
rpc Detail(ApprovalDetail) returns (ApprovalRequest) {};
|
||||||
rpc Update(ApprovalRequest) returns (ApprovalResponse) {};
|
rpc Update(ApprovalRequest) returns (ApprovalResponse) {};
|
||||||
rpc Remove(ApprovalDetail) returns (ApprovalRemove) {};
|
rpc Remove(ApprovalDetail) returns (ApprovalRemove) {};
|
||||||
rpc List(ApprovalListRequest) returns (ApprovalListResponse) {};
|
rpc List(ApprovalListRequest) returns (ApprovalListResponse) {};
|
||||||
|
rpc Information(InformationRequest) returns (InformationResponse) {};
|
||||||
|
rpc Viewed(ViewedRequest) returns (ApprovalResponse) {};
|
||||||
|
|
||||||
rpc DetailSetting(DetailSettingRequest) returns (SettingRequest) {};
|
rpc DetailSetting(DetailSettingRequest) returns (SettingRequest) {};
|
||||||
rpc UpdateSetting(SettingRequest) returns (SettingResponse) {};
|
rpc UpdateSetting(SettingRequest) returns (SettingResponse) {};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
message ViewedRequest {
|
||||||
rpc RemoveApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRemove) {};
|
string Domain = 1 [json_name = "domain"];
|
||||||
rpc ListApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
|
uint64 ID = 2 [json_name = "ID"];
|
||||||
rpc DetailApprovalWork(ApprovalWorkDetail) returns (ApprovalWorkRequest) {};
|
uint64 UserID = 3 [json_name = "userID"];
|
||||||
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) {};
|
|
||||||
|
|
||||||
rpc UpdateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
|
message InformationRequest {
|
||||||
rpc RemoveApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRemove) {};
|
string Domain = 1 [json_name = "domain"];
|
||||||
rpc ListApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
|
uint64 UserID = 2 [json_name = "userID"];
|
||||||
rpc DetailApprovalExhibition(ApprovalExhibitionDetail) returns (ApprovalExhibitionRequest) {};
|
string Type = 3 [json_name = "type"];
|
||||||
rpc CreateApprovalExhibition(ApprovalExhibitionRequest) returns (ApprovalExhibitionResponse) {};
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
|
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 {
|
message Bundle {
|
||||||
@ -69,9 +60,9 @@ message Show {
|
|||||||
|
|
||||||
message ApprovalWork {
|
message ApprovalWork {
|
||||||
uint64 ID =1 [json_name = "ID"];
|
uint64 ID =1 [json_name = "ID"];
|
||||||
uint64 WorkId =2 [json_name = "WorkId"];
|
uint64 WorkID =2 [json_name = "WorkID"];
|
||||||
uint64 ApprovalID =3 [json_name = "WorkId"];
|
uint64 ApprovalID =3 [json_name = "ApprovalID"];
|
||||||
uint64 ArtworkId =4 [json_name = "artworkId"];
|
uint64 ArtworkID =4 [json_name = "artworkID"];
|
||||||
string ArtworkName =5 [json_name = "artworkName"];
|
string ArtworkName =5 [json_name = "artworkName"];
|
||||||
string ArtistName =6 [json_name = "artistName"];
|
string ArtistName =6 [json_name = "artistName"];
|
||||||
string ArtworkCover =7 [json_name = "artworkCover"];
|
string ArtworkCover =7 [json_name = "artworkCover"];
|
||||||
@ -89,11 +80,11 @@ message Work {
|
|||||||
message ApprovalExhibition {
|
message ApprovalExhibition {
|
||||||
uint64 ID =1 [json_name = "ID"];
|
uint64 ID =1 [json_name = "ID"];
|
||||||
uint64 ExhibitionID =2 [json_name = "exhibitionID"];
|
uint64 ExhibitionID =2 [json_name = "exhibitionID"];
|
||||||
uint64 ApprovalID =3 [json_name = "ApprovalID"];
|
uint64 ApprovalID =3 [json_name = "approvalID"];
|
||||||
string ExhibitionName =4 [json_name = "exhibitionName"];
|
string PackageName =4 [json_name = "packageName"];
|
||||||
uint64 ArtworkId =5 [json_name = "artworkId"];
|
uint64 PackageID =5 [json_name = "packageID"];
|
||||||
uint64 ExhibitionSize =6 [json_name = "exhibitionSize"];
|
uint64 PackageSize =6 [json_name = "packageSize"];
|
||||||
string ExhibitionNumber =7 [json_name = "exhibitionNumber"];
|
string PackageNumber =7 [json_name = "packageNumber"];
|
||||||
}
|
}
|
||||||
|
|
||||||
message Exhibition {
|
message Exhibition {
|
||||||
@ -121,9 +112,9 @@ message ApprovalRequest {
|
|||||||
string Domain = 2 [json_name = "domain"];
|
string Domain = 2 [json_name = "domain"];
|
||||||
uint64 Status = 3 [json_name = "status"];//0待审批 1-审批成功 2-拒绝
|
uint64 Status = 3 [json_name = "status"];//0待审批 1-审批成功 2-拒绝
|
||||||
string Type = 4 [json_name = "type"]; //类型
|
string Type = 4 [json_name = "type"]; //类型
|
||||||
uint64 ApproverId = 5 [json_name = "approverId"];//申请人
|
uint64 ApproverID = 5 [json_name = "approverID"];//申请人
|
||||||
string ApproverName = 6 [json_name = "approverName"];
|
string ApproverName = 6 [json_name = "approverName"];
|
||||||
uint64 SubmitterId = 7 [json_name = "submitterId"];//审批人
|
uint64 SubmitterID = 7 [json_name = "submitterID"];//审批人
|
||||||
string SubmitterName = 8 [json_name = "submitterName"];
|
string SubmitterName = 8 [json_name = "submitterName"];
|
||||||
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
repeated CopyUser CopyUsers = 9 [json_name = "copyName"];//抄送人
|
||||||
string Content = 10 [json_name = "content"];//申请内容
|
string Content = 10 [json_name = "content"];//申请内容
|
||||||
@ -134,82 +125,22 @@ message ApprovalRequest {
|
|||||||
Bundle Bundle = 15 [json_name = "bundle"];
|
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 {
|
message ApprovalDetail {
|
||||||
uint64 ID=1 [json_name = "ID"];
|
uint64 ID=1 [json_name = "ID"];
|
||||||
string Domain=2 [json_name = "domain"];
|
string Domain=2 [json_name = "domain"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ApprovalResponse {
|
message ApprovalResponse {
|
||||||
uint64 ID=1 [json_name = "ID"];
|
uint64 ID=1 [json_name = "ID"];
|
||||||
bool Success=2 [json_name = "success"];
|
bool Success=2 [json_name = "success"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ApprovalRemove {
|
message ApprovalRemove {
|
||||||
bool Success=1 [json_name = "success"];
|
bool Success=1 [json_name = "success"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ApprovalExhibitionRemove {
|
message ApprovalExhibitionRemove {
|
||||||
bool Success=1 [json_name = "success"];
|
bool Success=1 [json_name = "success"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ApprovalExhibitionRequest {
|
message ApprovalExhibitionRequest {
|
||||||
@ -217,60 +148,19 @@ message ApprovalExhibitionRequest {
|
|||||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||||
string CreatedAt=3 [json_name = "createdAt"];
|
string CreatedAt=3 [json_name = "createdAt"];
|
||||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
string UpdatedAt=4 [json_name = "updatedAt"];
|
||||||
uint64 ApprovalId=5 [json_name = "approvalId"];
|
uint64 ApprovalID=5 [json_name = "approvalID"];
|
||||||
uint64 ExhibitionId=6 [json_name = "exhibitionId"];
|
uint64 ExhibitionID=6 [json_name = "exhibitionID"];
|
||||||
string ExhibitionName=7 [json_name = "exhibitionName"];
|
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 ExhibitionSize=9 [json_name = "exhibitionSize"];
|
||||||
string ExhibitionNumber=10 [json_name = "exhibitionNumber"];
|
string ExhibitionNumber=10 [json_name = "exhibitionNumber"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message ApprovalExhibitionDetail {
|
message ApprovalExhibitionDetail {
|
||||||
uint64 ID=1 [json_name = "ID"];
|
uint64 ID=1 [json_name = "ID"];
|
||||||
string Domain=2 [json_name = "domain"];
|
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 {
|
message CopyUser {
|
||||||
uint64 ID =1 [json_name = "ID"];
|
uint64 ID =1 [json_name = "ID"];
|
||||||
string Name =2 [json_name = "name"];
|
string Name =2 [json_name = "name"];
|
||||||
@ -281,52 +171,19 @@ message SettingRequest {
|
|||||||
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
uint64 DeletedAt=2 [json_name = "deletedAt"];
|
||||||
string CreatedAt=3 [json_name = "createdAt"];
|
string CreatedAt=3 [json_name = "createdAt"];
|
||||||
string UpdatedAt=4 [json_name = "updatedAt"];
|
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"];
|
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 ApproverName=8 [json_name = "approverName"];
|
||||||
string Domain=9 [json_name = "domain"];
|
string Domain=9 [json_name = "domain"];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message DetailSettingRequest {
|
message DetailSettingRequest {
|
||||||
uint64 DepartmentId=1 [json_name = "departmentId"];
|
uint64 DepartmentID=1 [json_name = "departmentID"];
|
||||||
string Domain=2 [json_name = "domain"];
|
string Domain=2 [json_name = "domain"];
|
||||||
}
|
}
|
||||||
|
|
||||||
message SettingResponse {
|
message SettingResponse {
|
||||||
uint64 ID=1 [json_name = "ID"];
|
uint64 ID=1 [json_name = "ID"];
|
||||||
bool Success=2 [json_name = "success"];
|
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)
|
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)
|
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)
|
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)
|
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)
|
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)
|
Update func(ctx context.Context, in *ApprovalRequest) (*ApprovalResponse, error)
|
||||||
Remove func(ctx context.Context, in *ApprovalDetail) (*ApprovalRemove, error)
|
Remove func(ctx context.Context, in *ApprovalDetail) (*ApprovalRemove, error)
|
||||||
List func(ctx context.Context, in *ApprovalListRequest) (*ApprovalListResponse, 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)
|
DetailSetting func(ctx context.Context, in *DetailSettingRequest) (*SettingRequest, error)
|
||||||
UpdateSetting func(ctx context.Context, in *SettingRequest) (*SettingResponse, 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)
|
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) {
|
func (c *approvalClient) DetailSetting(ctx context.Context, in *DetailSettingRequest, opts ...grpc_go.CallOption) (*SettingRequest, common.ErrorWithAttachment) {
|
||||||
out := new(SettingRequest)
|
out := new(SettingRequest)
|
||||||
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
interfaceKey := ctx.Value(constant.InterfaceKey).(string)
|
||||||
@ -114,6 +130,8 @@ type ApprovalServer interface {
|
|||||||
Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error)
|
Update(context.Context, *ApprovalRequest) (*ApprovalResponse, error)
|
||||||
Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error)
|
Remove(context.Context, *ApprovalDetail) (*ApprovalRemove, error)
|
||||||
List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, 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)
|
DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error)
|
||||||
UpdateSetting(context.Context, *SettingRequest) (*SettingResponse, error)
|
UpdateSetting(context.Context, *SettingRequest) (*SettingResponse, error)
|
||||||
mustEmbedUnimplementedApprovalServer()
|
mustEmbedUnimplementedApprovalServer()
|
||||||
@ -139,6 +157,12 @@ func (UnimplementedApprovalServer) Remove(context.Context, *ApprovalDetail) (*Ap
|
|||||||
func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) {
|
func (UnimplementedApprovalServer) List(context.Context, *ApprovalListRequest) (*ApprovalListResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
|
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) {
|
func (UnimplementedApprovalServer) DetailSetting(context.Context, *DetailSettingRequest) (*SettingRequest, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method DetailSetting not implemented")
|
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)
|
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) {
|
func _Approval_DetailSetting_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(DetailSettingRequest)
|
in := new(DetailSettingRequest)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@ -403,6 +485,14 @@ var Approval_ServiceDesc = grpc_go.ServiceDesc{
|
|||||||
MethodName: "List",
|
MethodName: "List",
|
||||||
Handler: _Approval_List_Handler,
|
Handler: _Approval_List_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "Information",
|
||||||
|
Handler: _Approval_Information_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "Viewed",
|
||||||
|
Handler: _Approval_Viewed_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "DetailSetting",
|
MethodName: "DetailSetting",
|
||||||
Handler: _Approval_DetailSetting_Handler,
|
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 = "配置文件读取错误,请检查文件路径:"
|
ERRORCONFIG = "配置文件读取错误,请检查文件路径:"
|
||||||
ErrorApprovalType = "类型不支持"
|
ErrorApprovalType = "类型不支持"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
ErrorNotFound = "暂无数据"
|
||||||
|
ErrorWrongStatus = "当前状态无法修改"
|
||||||
|
)
|
||||||
|
@ -24,7 +24,7 @@ type Approval struct {
|
|||||||
Type string `gorm:"column:type" json:"type"` // 类型
|
Type string `gorm:"column:type" json:"type"` // 类型
|
||||||
Content string `gorm:"column:content" json:"content"` // 提交审批内容
|
Content string `gorm:"column:content" json:"content"` // 提交审批内容
|
||||||
Reply string `gorm:"column:reply" json:"reply"` // 回复内容
|
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"` // 环境变量
|
Show *Show //`gorm:"foreignKey:ApprovalID" json:"Show"` // 环境变量
|
||||||
Work *Work //`gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量
|
Work *Work //`gorm:"foreignKey:ApprovalID" json:"Work"` // 环境变量
|
||||||
Bundle *Bundle //`gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量
|
Bundle *Bundle //`gorm:"foreignKey:ApprovalID" json:"Bundle"` // 环境变量
|
||||||
@ -38,9 +38,15 @@ const (
|
|||||||
TypeShow = "show"
|
TypeShow = "show"
|
||||||
TypeBundle = "bundle"
|
TypeBundle = "bundle"
|
||||||
)
|
)
|
||||||
|
const (
|
||||||
|
StatusDoing = 0
|
||||||
|
StatusOk = 1
|
||||||
|
StatusFail = 2
|
||||||
|
)
|
||||||
|
|
||||||
type ApprovalContentInterface interface {
|
type ApprovalContentInterface interface {
|
||||||
SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error
|
SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error
|
||||||
|
UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error
|
||||||
BuildResContent(a *Approval, request *approval.ApprovalRequest)
|
BuildResContent(a *Approval, request *approval.ApprovalRequest)
|
||||||
DeleteApproval(p *Approval) error
|
DeleteApproval(p *Approval) error
|
||||||
}
|
}
|
||||||
@ -57,10 +63,10 @@ func StoreApproval(in *approval.ApprovalRequest) (*Approval, error) {
|
|||||||
|
|
||||||
// 保存基本信息
|
// 保存基本信息
|
||||||
entity = &Approval{
|
entity = &Approval{
|
||||||
Domain: in.Domain,
|
Domain: &in.Domain,
|
||||||
SubmitterID: in.SubmitterId,
|
SubmitterID: in.SubmitterID,
|
||||||
SubmitterName: in.SubmitterName,
|
SubmitterName: in.SubmitterName,
|
||||||
ApproverID: in.ApproverId,
|
ApproverID: in.ApproverID,
|
||||||
ApproverName: in.ApproverName,
|
ApproverName: in.ApproverName,
|
||||||
CopyUsers: FormatCopyUsers(in.CopyUsers),
|
CopyUsers: FormatCopyUsers(in.CopyUsers),
|
||||||
Type: in.Type,
|
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 {
|
func (m *Approval) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *Approval) UpdateApprovalContent(in *approval.ApprovalRequest, a *Approval) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Approval) DeleteApproval(p *Approval) error {
|
func (m *Approval) DeleteApproval(p *Approval) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -129,6 +244,18 @@ func (m *Approval) SaveContent(in *approval.ApprovalRequest) error {
|
|||||||
return err
|
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) {
|
func ApprovalList(in *approval.ApprovalListRequest) ([]*Approval, int64) {
|
||||||
var list []*Approval
|
var list []*Approval
|
||||||
var count int64
|
var count int64
|
||||||
|
@ -7,16 +7,16 @@ import (
|
|||||||
|
|
||||||
// ApprovalExhibition 绑定的画展包
|
// ApprovalExhibition 绑定的画展包
|
||||||
type ApprovalExhibition struct {
|
type ApprovalExhibition struct {
|
||||||
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID
|
||||||
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
||||||
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
||||||
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
||||||
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id
|
||||||
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id
|
||||||
ExhibitionName string `gorm:"column:exhibition_name" json:"exhibitionName"` // 作品名称
|
PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称
|
||||||
ArtworkID uint64 `gorm:"column:artwork_id" json:"artworkId"` // 作品类型id
|
PackageID uint64 `gorm:"column:package_id" json:"packageID"` // 作品类型id
|
||||||
ExhibitionSize uint64 `gorm:"column:exhibition_size" json:"exhibitionSize"` // 平尺数
|
PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数
|
||||||
ExhibitionNumber string `gorm:"column:exhibition_number" json:"exhibitionNumber"` // 序号
|
PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号
|
||||||
}
|
}
|
||||||
|
|
||||||
// TableName get sql table name.获取数据库表名
|
// TableName get sql table name.获取数据库表名
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||||
|
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||||
"gorm.io/plugin/soft_delete"
|
"gorm.io/plugin/soft_delete"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -31,6 +33,22 @@ func (m *Bundle) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval)
|
|||||||
return DB.Create(&m).Error
|
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) {
|
func (m *Bundle) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||||
request.Bundle = &approval.Bundle{
|
request.Bundle = &approval.Bundle{
|
||||||
ID: m.ID,
|
ID: m.ID,
|
||||||
|
@ -9,8 +9,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type CopyUser struct {
|
type CopyUser struct {
|
||||||
ID uint64
|
ID uint64
|
||||||
Name string
|
Name string
|
||||||
|
IsViewed uint64
|
||||||
}
|
}
|
||||||
|
|
||||||
type CopyUsers []CopyUser
|
type CopyUsers []CopyUser
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||||
|
"github.com/fonchain_enterprise/fonchain-approval/pkg/common/collection"
|
||||||
"gorm.io/plugin/soft_delete"
|
"gorm.io/plugin/soft_delete"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -29,6 +29,7 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
|
|||||||
//主体保存
|
//主体保存
|
||||||
m.ApprovalID = a.ID
|
m.ApprovalID = a.ID
|
||||||
m.ReceivedAt = in.Exhibition.ReceivedAt
|
m.ReceivedAt = in.Exhibition.ReceivedAt
|
||||||
|
m.Address = in.Exhibition.Address
|
||||||
|
|
||||||
err := DB.Create(m).Error
|
err := DB.Create(m).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -36,30 +37,108 @@ func (m *Exhibition) SaveApprovalContent(in *approval.ApprovalRequest, a *Approv
|
|||||||
}
|
}
|
||||||
|
|
||||||
//绑定画作保存
|
//绑定画作保存
|
||||||
var approvalWorks []ApprovalWork
|
var approvalExhibitions []ApprovalExhibition
|
||||||
for _, approvalWork := range in.Work.ApprovalWorks {
|
for _, approvalExhibition := range in.Exhibition.ApprovalExhibitions {
|
||||||
fmt.Println(approvalWork)
|
temp := ApprovalExhibition{
|
||||||
temp := ApprovalWork{
|
|
||||||
|
|
||||||
ApprovalID: a.ID,
|
ApprovalID: a.ID,
|
||||||
WorkID: m.ID,
|
ExhibitionID: m.ID,
|
||||||
ArtworkID: approvalWork.ArtworkId,
|
PackageName: approvalExhibition.PackageName,
|
||||||
ArtworkName: approvalWork.ArtworkName,
|
PackageID: approvalExhibition.PackageID,
|
||||||
ArtistName: approvalWork.ArtistName,
|
PackageSize: approvalExhibition.PackageSize,
|
||||||
ArtworkCover: approvalWork.ArtworkCover,
|
PackageNumber: approvalExhibition.PackageNumber,
|
||||||
ArtworkNumber: approvalWork.ArtworkNumber,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
approvalWorks = append(approvalWorks, temp)
|
approvalExhibitions = append(approvalExhibitions, temp)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(approvalWorks) > 0 {
|
if len(approvalExhibitions) > 0 {
|
||||||
err = DB.Create(&approvalWorks).Error
|
err = DB.Create(&approvalExhibitions).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
return err
|
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) {
|
func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||||
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
|
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
|
||||||
var approvalExhibitions []*approval.ApprovalExhibition
|
var approvalExhibitions []*approval.ApprovalExhibition
|
||||||
@ -67,13 +146,13 @@ func (m *Exhibition) BuildResContent(a *Approval, request *approval.ApprovalRequ
|
|||||||
for _, one := range m.ApprovalExhibitions {
|
for _, one := range m.ApprovalExhibitions {
|
||||||
temp := &approval.ApprovalExhibition{
|
temp := &approval.ApprovalExhibition{
|
||||||
|
|
||||||
ID: one.ID,
|
ID: one.ID,
|
||||||
ApprovalID: one.ApprovalID,
|
ApprovalID: one.ApprovalID,
|
||||||
ArtworkId: one.ArtworkID,
|
ExhibitionID: one.ExhibitionID,
|
||||||
ExhibitionID: one.ExhibitionID,
|
PackageID: one.PackageID,
|
||||||
ExhibitionName: one.ExhibitionName,
|
PackageName: one.PackageName,
|
||||||
ExhibitionSize: one.ExhibitionSize,
|
PackageSize: one.PackageSize,
|
||||||
ExhibitionNumber: one.ExhibitionNumber,
|
PackageNumber: one.PackageNumber,
|
||||||
}
|
}
|
||||||
approvalExhibitions = append(approvalExhibitions, temp)
|
approvalExhibitions = append(approvalExhibitions, temp)
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||||
|
m2 "github.com/fonchain_enterprise/fonchain-approval/pkg/m"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -27,6 +29,21 @@ func (m *Show) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
|||||||
m.ShowAt = in.Show.ShowAt
|
m.ShowAt = in.Show.ShowAt
|
||||||
return DB.Create(&m).Error
|
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) {
|
func (m *Show) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||||
request.Show = &approval.Show{
|
request.Show = &approval.Show{
|
||||||
ID: m.ID,
|
ID: m.ID,
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
"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"
|
"gorm.io/plugin/soft_delete"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -44,7 +47,7 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
|||||||
|
|
||||||
ApprovalID: a.ID,
|
ApprovalID: a.ID,
|
||||||
WorkID: m.ID,
|
WorkID: m.ID,
|
||||||
ArtworkID: approvalWork.ArtworkId,
|
ArtworkID: approvalWork.ArtworkID,
|
||||||
ArtworkName: approvalWork.ArtworkName,
|
ArtworkName: approvalWork.ArtworkName,
|
||||||
ArtistName: approvalWork.ArtistName,
|
ArtistName: approvalWork.ArtistName,
|
||||||
ArtworkCover: approvalWork.ArtworkCover,
|
ArtworkCover: approvalWork.ArtworkCover,
|
||||||
@ -61,6 +64,108 @@ func (m *Work) SaveApprovalContent(in *approval.ApprovalRequest, a *Approval) er
|
|||||||
return err
|
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) {
|
func (m *Work) BuildResContent(a *Approval, request *approval.ApprovalRequest) {
|
||||||
|
|
||||||
//ApprovalWorks []*ApprovalWork `protobuf:"bytes,4,rep,name=ApprovalWorks,json=approvalWorks,proto3" json:"ApprovalWorks,omitempty"`
|
//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{
|
temp := &approval.ApprovalWork{
|
||||||
|
|
||||||
ID: one.ID,
|
ID: one.ID,
|
||||||
WorkId: one.WorkID,
|
WorkID: one.WorkID,
|
||||||
ApprovalID: one.ApprovalID,
|
ApprovalID: one.ApprovalID,
|
||||||
ArtworkId: one.ArtworkID,
|
ArtworkID: one.ArtworkID,
|
||||||
ArtworkName: one.ArtworkName,
|
ArtworkName: one.ArtworkName,
|
||||||
ArtistName: one.ArtistName,
|
ArtistName: one.ArtistName,
|
||||||
ArtworkCover: one.ArtworkCover,
|
ArtworkCover: one.ArtworkCover,
|
||||||
|
@ -14,13 +14,13 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
|
|||||||
|
|
||||||
response := &approval.ApprovalRequest{
|
response := &approval.ApprovalRequest{
|
||||||
ID: entity.ID,
|
ID: entity.ID,
|
||||||
Domain: entity.Domain,
|
Domain: *entity.Domain,
|
||||||
Status: uint64(entity.Status),
|
Status: uint64(entity.Status),
|
||||||
Type: entity.Type,
|
Type: entity.Type,
|
||||||
ApproverId: entity.ApproverID,
|
ApproverID: entity.ApproverID,
|
||||||
ApproverName: entity.ApproverName,
|
ApproverName: entity.ApproverName,
|
||||||
CopyUsers: model.FormatToResponse(entity.CopyUsers),
|
CopyUsers: model.FormatToResponse(entity.CopyUsers),
|
||||||
SubmitterId: entity.SubmitterID,
|
SubmitterID: entity.SubmitterID,
|
||||||
SubmitterName: entity.SubmitterName,
|
SubmitterName: entity.SubmitterName,
|
||||||
Content: entity.Content,
|
Content: entity.Content,
|
||||||
Reply: entity.Reply,
|
Reply: entity.Reply,
|
||||||
@ -35,7 +35,7 @@ func BuildApproval(entity *model.Approval) *approval.ApprovalRequest {
|
|||||||
return response
|
return response
|
||||||
}
|
}
|
||||||
|
|
||||||
//BuildApproval 处理单个detail返回
|
//BuildApprovals 处理单个detail返回
|
||||||
func BuildApprovals(list []*model.Approval) (details []*approval.ApprovalRequest) {
|
func BuildApprovals(list []*model.Approval) (details []*approval.ApprovalRequest) {
|
||||||
|
|
||||||
for _, item := range list {
|
for _, item := range list {
|
||||||
|
@ -21,9 +21,9 @@ func BuildSetting(entity *model.DepartmentApprovalSetting) *approval.SettingRequ
|
|||||||
response := &approval.SettingRequest{
|
response := &approval.SettingRequest{
|
||||||
ID: entity.ID,
|
ID: entity.ID,
|
||||||
Domain: entity.Domain,
|
Domain: entity.Domain,
|
||||||
DepartmentId: entity.DepartmentID,
|
DepartmentID: entity.DepartmentID,
|
||||||
CopyUsers: copyUsers,
|
CopyUsers: copyUsers,
|
||||||
ApproverId: entity.ApproverID,
|
ApproverID: entity.ApproverID,
|
||||||
ApproverName: entity.ApproverName,
|
ApproverName: entity.ApproverName,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package service
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
"github.com/fonchain_enterprise/fonchain-approval/api/approval"
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/model"
|
"github.com/fonchain_enterprise/fonchain-approval/pkg/model"
|
||||||
"github.com/fonchain_enterprise/fonchain-approval/pkg/serializer"
|
"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) {
|
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) {
|
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
|
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 {
|
Find(&entity, in.ID).Error; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -47,7 +55,7 @@ func (a *ApprovalProvider) Remove(ctx context.Context, in *approval.ApprovalDeta
|
|||||||
return err
|
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 {
|
Delete(&model.Approval{}, in.ID).Error; err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -79,6 +87,28 @@ func (a *ApprovalProvider) Detail(ctx context.Context, in *approval.ApprovalDeta
|
|||||||
return response, err
|
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) {
|
func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRequest) (*approval.ApprovalListResponse, error) {
|
||||||
|
|
||||||
//获取人的 部门角色(1、管理组 2、超级管理 3、Leader角色)
|
//获取人的 部门角色(1、管理组 2、超级管理 3、Leader角色)
|
||||||
@ -97,40 +127,35 @@ func (a *ApprovalProvider) List(ctx context.Context, in *approval.ApprovalListRe
|
|||||||
// UpdateSetting 设置配置抄送者和审核者
|
// UpdateSetting 设置配置抄送者和审核者
|
||||||
func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.SettingRequest) (*approval.SettingResponse, error) {
|
func (a *ApprovalProvider) UpdateSetting(ctx context.Context, in *approval.SettingRequest) (*approval.SettingResponse, error) {
|
||||||
|
|
||||||
exhibit := ""
|
var err error
|
||||||
exhibit += in.Domain
|
|
||||||
|
|
||||||
fmt.Println(exhibit)
|
|
||||||
|
|
||||||
response := &approval.SettingResponse{}
|
response := &approval.SettingResponse{}
|
||||||
var setting model.DepartmentApprovalSetting
|
var setting model.DepartmentApprovalSetting
|
||||||
copyUsers := model.FormatCopyUsers(in.CopyUsers)
|
copyUsers := model.FormatCopyUsers(in.CopyUsers)
|
||||||
|
|
||||||
|
//首次
|
||||||
if err := model.DB.Model(&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 {
|
First(&setting).Error; err != nil {
|
||||||
|
|
||||||
setting = model.DepartmentApprovalSetting{
|
setting = model.DepartmentApprovalSetting{
|
||||||
DepartmentID: in.DepartmentId,
|
DepartmentID: in.DepartmentID,
|
||||||
CopyUsers: copyUsers,
|
CopyUsers: copyUsers,
|
||||||
ApproverID: in.ApproverId,
|
ApproverID: in.ApproverID,
|
||||||
ApproverName: in.ApproverName,
|
ApproverName: in.ApproverName,
|
||||||
Domain: in.Domain,
|
Domain: in.Domain,
|
||||||
}
|
}
|
||||||
|
|
||||||
model.DB.Create(&setting)
|
|
||||||
} else {
|
} else {
|
||||||
setting.DepartmentID = in.DepartmentId
|
setting.DepartmentID = in.DepartmentID
|
||||||
setting.CopyUsers = copyUsers
|
setting.CopyUsers = copyUsers
|
||||||
setting.ApproverID = in.ApproverId
|
setting.ApproverID = in.ApproverID
|
||||||
setting.ApproverName = in.ApproverName
|
setting.ApproverName = in.ApproverName
|
||||||
model.DB.Save(&setting)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = model.DB.Save(&setting).Error
|
||||||
|
|
||||||
response.ID = setting.ID
|
response.ID = setting.ID
|
||||||
response.Success = true
|
response.Success = true
|
||||||
|
return response, err
|
||||||
return response, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ApprovalProvider) DetailSetting(ctx context.Context, in *approval.DetailSettingRequest) (*approval.SettingRequest, error) {
|
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
|
var setting model.DepartmentApprovalSetting
|
||||||
|
|
||||||
if err := model.DB.Model(&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 {
|
First(&setting).Error; err != nil {
|
||||||
response.Domain = in.Domain
|
response.Domain = in.Domain
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user