From cfa705caa93cb166a7f56fc9eaf73e2441168170 Mon Sep 17 00:00:00 2001 From: gy <997485446@qq.com> Date: Sat, 30 Jul 2022 13:11:18 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E6=94=B9=E7=94=BB=E4=BD=9C?= =?UTF-8?q?=E5=92=8C=E7=94=BB=E5=B1=95=E6=9B=B4=E6=96=B0=E7=9A=84=E6=97=B6?= =?UTF-8?q?=E5=80=99=E7=BB=91=E5=AE=9A=E5=85=B3=E7=B3=BB=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/model/approval.go | 7 ++++++- pkg/model/exhibition.go | 37 +++++++++++++++++++++++++++++++------ pkg/model/work.go | 12 ++++++------ 3 files changed, 43 insertions(+), 13 deletions(-) diff --git a/pkg/model/approval.go b/pkg/model/approval.go index 5cd74d3..ab8c4f2 100644 --- a/pkg/model/approval.go +++ b/pkg/model/approval.go @@ -166,7 +166,12 @@ func approvalCalc(filter *Approval) *approval.Information { var num int64 - info := &approval.Information{} + info := &approval.Information{ + Total: 0, + DoingTotal: 0, + SuccessTotal: 0, + FailTotal: 0, + } DB.Model(&Approval{}).Where(&filter).Count(&num) info.Total = uint64(num) diff --git a/pkg/model/exhibition.go b/pkg/model/exhibition.go index 00f9be2..15c7bee 100644 --- a/pkg/model/exhibition.go +++ b/pkg/model/exhibition.go @@ -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" ) @@ -60,7 +63,28 @@ func (m *Exhibition) SaveApprovalContent(in *approval.CreateRequest, a *Approval } func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error { + var entity *Exhibition + var err error + //主体保存 + if err = DB.Where(&Exhibition{ApprovalID: a.ID}).First(&entity).Error; err != nil { + return errors.New(m2.ErrorNotFound) + } + + //主体保存 + //m.ApprovalID = a.ID + m.ReceivedAt = in.Exhibition.ReceivedAt + m.Address = in.Exhibition.Address + m.ID = entity.ID + + if err = DB.Where(&Exhibition{ApprovalID: a.ID}).Updates(&m).Error; err != nil { + return err + } + + return m.UpdateContent(in, a) +} + +func (m *Exhibition) UpdateContent(in *approval.CreateRequest, a *Approval) error { approvalExhibitions := in.Exhibition.ApprovalExhibitions var oldApprovalExhibitions []ApprovalExhibition var oldPackageID []uint64 @@ -80,6 +104,7 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approv } needDel := collection.DiffArrayUint64(oldPackageID, inPackageID) + fmt.Println(needDel) if len(needDel) > 0 { DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Where("package_id in ?", needDel). @@ -87,18 +112,19 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approv } needAdd := collection.DiffArrayUint64(inPackageID, oldPackageID) + fmt.Println(needAdd) //传递的id去除表 新增 if len(needAdd) > 0 { var approvalWorks []ApprovalExhibition - for _, one := range approvalExhibitions { + for _, tempId := range needAdd { temp := ApprovalExhibition{ ApprovalID: a.ID, ExhibitionID: m.ID, - PackageName: one.PackageName, - PackageID: one.PackageID, - PackageSize: one.PackageSize, - PackageNumber: one.PackageNumber, + PackageName: inApprovalExhibitionMap[tempId].PackageName, + PackageID: inApprovalExhibitionMap[tempId].PackageID, + PackageSize: inApprovalExhibitionMap[tempId].PackageSize, + PackageNumber: inApprovalExhibitionMap[tempId].PackageNumber, } approvalWorks = append(approvalWorks, temp) @@ -136,7 +162,6 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approv } return err - } func (m *Exhibition) BuildResContent(a *Approval, request *approval.CreateRequest) { diff --git a/pkg/model/work.go b/pkg/model/work.go index 0f63d16..f901b17 100644 --- a/pkg/model/work.go +++ b/pkg/model/work.go @@ -116,15 +116,15 @@ func (m *Work) UpdateContent(in *approval.CreateRequest, a *Approval) error { //传递的id去除表 新增 if len(needAdd) > 0 { var approvalWorks []ApprovalWork - for _, approvalWork := range in.Work.ApprovalWorks { + for _, tempId := range needAdd { temp := ApprovalWork{ ApprovalID: a.ID, WorkID: m.ID, - ArtworkID: approvalWork.ArtworkID, - ArtworkName: approvalWork.ArtworkName, - ArtistName: approvalWork.ArtistName, - ArtworkCover: approvalWork.ArtworkCover, - ArtworkNumber: approvalWork.ArtworkNumber, + ArtworkID: inApprovalWorkMap[tempId].ArtworkID, + ArtworkName: inApprovalWorkMap[tempId].ArtworkName, + ArtistName: inApprovalWorkMap[tempId].ArtistName, + ArtworkCover: inApprovalWorkMap[tempId].ArtworkCover, + ArtworkNumber: inApprovalWorkMap[tempId].ArtworkNumber, } approvalWorks = append(approvalWorks, temp)