fix 修改画作和画展更新的时候绑定关系更新错误

main
耿阳 2 years ago
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…
Cancel
Save