|
|
|
@ -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) {
|
|
|
|
|