fix 修改画作和画展更新的时候绑定关系更新错误
This commit is contained in:
parent
c885c3fb44
commit
cfa705caa9
@ -166,7 +166,12 @@ func approvalCalc(filter *Approval) *approval.Information {
|
|||||||
|
|
||||||
var num int64
|
var num int64
|
||||||
|
|
||||||
info := &approval.Information{}
|
info := &approval.Information{
|
||||||
|
Total: 0,
|
||||||
|
DoingTotal: 0,
|
||||||
|
SuccessTotal: 0,
|
||||||
|
FailTotal: 0,
|
||||||
|
}
|
||||||
|
|
||||||
DB.Model(&Approval{}).Where(&filter).Count(&num)
|
DB.Model(&Approval{}).Where(&filter).Count(&num)
|
||||||
info.Total = uint64(num)
|
info.Total = uint64(num)
|
||||||
|
@ -1,8 +1,11 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
"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"
|
"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"
|
||||||
)
|
)
|
||||||
@ -60,7 +63,28 @@ func (m *Exhibition) SaveApprovalContent(in *approval.CreateRequest, a *Approval
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
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
|
approvalExhibitions := in.Exhibition.ApprovalExhibitions
|
||||||
var oldApprovalExhibitions []ApprovalExhibition
|
var oldApprovalExhibitions []ApprovalExhibition
|
||||||
var oldPackageID []uint64
|
var oldPackageID []uint64
|
||||||
@ -80,6 +104,7 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approv
|
|||||||
}
|
}
|
||||||
|
|
||||||
needDel := collection.DiffArrayUint64(oldPackageID, inPackageID)
|
needDel := collection.DiffArrayUint64(oldPackageID, inPackageID)
|
||||||
|
fmt.Println(needDel)
|
||||||
|
|
||||||
if len(needDel) > 0 {
|
if len(needDel) > 0 {
|
||||||
DB.Where(&ApprovalExhibition{ExhibitionID: m.ID}).Where("package_id in ?", needDel).
|
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)
|
needAdd := collection.DiffArrayUint64(inPackageID, oldPackageID)
|
||||||
|
fmt.Println(needAdd)
|
||||||
|
|
||||||
//传递的id去除表 新增
|
//传递的id去除表 新增
|
||||||
if len(needAdd) > 0 {
|
if len(needAdd) > 0 {
|
||||||
var approvalWorks []ApprovalExhibition
|
var approvalWorks []ApprovalExhibition
|
||||||
for _, one := range approvalExhibitions {
|
for _, tempId := range needAdd {
|
||||||
temp := ApprovalExhibition{
|
temp := ApprovalExhibition{
|
||||||
ApprovalID: a.ID,
|
ApprovalID: a.ID,
|
||||||
ExhibitionID: m.ID,
|
ExhibitionID: m.ID,
|
||||||
PackageName: one.PackageName,
|
PackageName: inApprovalExhibitionMap[tempId].PackageName,
|
||||||
PackageID: one.PackageID,
|
PackageID: inApprovalExhibitionMap[tempId].PackageID,
|
||||||
PackageSize: one.PackageSize,
|
PackageSize: inApprovalExhibitionMap[tempId].PackageSize,
|
||||||
PackageNumber: one.PackageNumber,
|
PackageNumber: inApprovalExhibitionMap[tempId].PackageNumber,
|
||||||
}
|
}
|
||||||
|
|
||||||
approvalWorks = append(approvalWorks, temp)
|
approvalWorks = append(approvalWorks, temp)
|
||||||
@ -136,7 +162,6 @@ func (m *Exhibition) UpdateApprovalContent(in *approval.CreateRequest, a *Approv
|
|||||||
}
|
}
|
||||||
|
|
||||||
return err
|
return err
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Exhibition) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
func (m *Exhibition) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
||||||
|
@ -116,15 +116,15 @@ func (m *Work) UpdateContent(in *approval.CreateRequest, a *Approval) error {
|
|||||||
//传递的id去除表 新增
|
//传递的id去除表 新增
|
||||||
if len(needAdd) > 0 {
|
if len(needAdd) > 0 {
|
||||||
var approvalWorks []ApprovalWork
|
var approvalWorks []ApprovalWork
|
||||||
for _, approvalWork := range in.Work.ApprovalWorks {
|
for _, tempId := range needAdd {
|
||||||
temp := ApprovalWork{
|
temp := ApprovalWork{
|
||||||
ApprovalID: a.ID,
|
ApprovalID: a.ID,
|
||||||
WorkID: m.ID,
|
WorkID: m.ID,
|
||||||
ArtworkID: approvalWork.ArtworkID,
|
ArtworkID: inApprovalWorkMap[tempId].ArtworkID,
|
||||||
ArtworkName: approvalWork.ArtworkName,
|
ArtworkName: inApprovalWorkMap[tempId].ArtworkName,
|
||||||
ArtistName: approvalWork.ArtistName,
|
ArtistName: inApprovalWorkMap[tempId].ArtistName,
|
||||||
ArtworkCover: approvalWork.ArtworkCover,
|
ArtworkCover: inApprovalWorkMap[tempId].ArtworkCover,
|
||||||
ArtworkNumber: approvalWork.ArtworkNumber,
|
ArtworkNumber: inApprovalWorkMap[tempId].ArtworkNumber,
|
||||||
}
|
}
|
||||||
|
|
||||||
approvalWorks = append(approvalWorks, temp)
|
approvalWorks = append(approvalWorks, temp)
|
||||||
|
Loading…
Reference in New Issue
Block a user