fix 修改画作和画展更新的时候绑定关系更新错误
This commit is contained in:
parent
c885c3fb44
commit
cfa705caa9
@ -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)
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user