118 lines
5.1 KiB
Go
118 lines
5.1 KiB
Go
package model
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/fonchain_enterprise/fonchain-approval-fork/api/approval"
|
|
m2 "github.com/fonchain_enterprise/fonchain-approval-fork/pkg/m"
|
|
"gorm.io/plugin/soft_delete"
|
|
"time"
|
|
)
|
|
|
|
// BundlePayPrice 画展包付款单审批
|
|
type BundlePayPrice struct {
|
|
ID uint64 `gorm:"column:id" json:"id"`
|
|
DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间
|
|
CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间
|
|
UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间
|
|
ApprovalID uint64 `gorm:"type:int(11);column:approval_id;default:0;comment:画展的uid" json:"approvalId"`
|
|
ShowUid string `gorm:"type:varchar(32);column:show_uid;default:'';comment:画展的uid" json:"showUid"`
|
|
ShowName string `gorm:"type:varchar(32);column:show_name;default:'';comment:画展的名称" json:"showName"`
|
|
ReceivedAt string `gorm:"type:varchar(32);column:received_at;default:'';comment:领取时间" json:"receivedAt"` // 领取时间
|
|
ShowDate string `gorm:"type:varchar(32);column:show_date;default:'';comment:画展时间" json:"showDate"`
|
|
ShowLowPrice string `gorm:"type:varchar(32);column:show_low_price;default:'';comment:画展宝低价" json:"showLowPrice"`
|
|
ArtworkNum uint64 `gorm:"type:int(11);column:artworkNum;default:0;comment:作品数量" json:"artworkNum"`
|
|
ArtworkSize string `gorm:"type:varchar(32);column:artwork_size;default:'';comment:作品总平尺" json:"artworkSize"`
|
|
ShowAddress string `gorm:"type:varchar(50);column:show_address;default:'';comment:画展地址" json:"showAddress"`
|
|
ArtistName string `gorm:"type:varchar(50);column:artist_name;default:'';comment:画家名称" json:"artistName"`
|
|
Rollback int32 `gorm:"type:int;column:rollback;default:1;comment:是否回滚(默认 1 回滚 2)" json:"rollback"`
|
|
OperationTimes int32 `gorm:"type:int;column:operation_times;default:1;comment:操作次数" json:"operationTimes"`
|
|
Status uint64 `gorm:"type:int(11);column:status;default:1;comment:状态" json:"status"`
|
|
}
|
|
|
|
// TableName get sql table name.获取数据库表名
|
|
func (m *BundlePayPrice) TableName() string {
|
|
return "bundle_pay_price"
|
|
}
|
|
|
|
func (m *BundlePayPrice) GetApproval(id uint64) (*Approval, error) {
|
|
|
|
var entity *Approval
|
|
if err := DB.
|
|
Preload("ApprovalWorkFlows").
|
|
Preload("ApprovalType").
|
|
Preload("BundlePayPrice").
|
|
First(&entity, id).Error; err != nil {
|
|
return entity, err
|
|
}
|
|
|
|
return entity, nil
|
|
}
|
|
|
|
func (m *BundlePayPrice) SaveApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
|
|
|
m.ApprovalID = a.ID
|
|
m.ShowUid = in.BundlePayPrice.ShowUid
|
|
m.ShowName = in.BundlePayPrice.ShowName
|
|
m.ReceivedAt = in.BundlePayPrice.ReceivedAt
|
|
m.ShowDate = in.BundlePayPrice.ShowDate
|
|
m.ShowLowPrice = in.BundlePayPrice.ShowLowPrice
|
|
m.ArtworkNum = in.BundlePayPrice.ArtworkNum
|
|
m.ArtworkSize = in.BundlePayPrice.ArtworkSize
|
|
m.ShowAddress = in.BundlePayPrice.ShowAddress
|
|
m.ArtistName = in.BundlePayPrice.ArtistName
|
|
m.Rollback = in.BundlePayPrice.Rollback
|
|
m.OperationTimes = in.BundlePayPrice.OperationTimes
|
|
|
|
return DB.Create(&m).Error
|
|
}
|
|
|
|
func (m *BundlePayPrice) UpdateApprovalContent(in *approval.CreateRequest, a *Approval) error {
|
|
|
|
var entity *BundlePayPrice
|
|
|
|
if err := DB.Where(&BundlePayPrice{ApprovalID: a.ID}).First(&entity).Error; err != nil {
|
|
return errors.New(m2.ErrorNotFound)
|
|
}
|
|
|
|
m.ID = entity.ID
|
|
m.ShowUid = in.BundlePayPrice.ShowUid
|
|
m.ShowName = in.BundlePayPrice.ShowName
|
|
m.ReceivedAt = in.BundlePayPrice.ReceivedAt
|
|
m.ShowDate = in.BundlePayPrice.ShowDate
|
|
m.ShowLowPrice = in.BundlePayPrice.ShowLowPrice
|
|
m.ArtworkNum = in.BundlePayPrice.ArtworkNum
|
|
m.ArtworkSize = in.BundlePayPrice.ArtworkSize
|
|
m.ShowAddress = in.BundlePayPrice.ShowAddress
|
|
m.ArtistName = in.BundlePayPrice.ArtistName
|
|
m.Rollback = in.BundlePayPrice.Rollback
|
|
m.OperationTimes = in.BundlePayPrice.OperationTimes
|
|
|
|
return DB.Model(&m).Updates(m).Error
|
|
}
|
|
|
|
func (m *BundlePayPrice) BuildResContent(a *Approval, request *approval.CreateRequest) {
|
|
|
|
if a.BundlePayPrice != nil {
|
|
request.BundlePayPrice = &approval.BundlePayPrice{
|
|
ShowUid: a.BundlePayPrice.ShowUid,
|
|
ApprovalID: a.BundlePayPrice.ApprovalID,
|
|
ShowName: a.BundlePayPrice.ShowName,
|
|
ReceivedAt: a.BundlePayPrice.ReceivedAt,
|
|
ShowDate: a.BundlePayPrice.ShowDate,
|
|
ShowLowPrice: a.BundlePayPrice.ShowLowPrice,
|
|
ArtworkNum: a.BundlePayPrice.ArtworkNum,
|
|
ArtworkSize: a.BundlePayPrice.ArtworkSize,
|
|
ShowAddress: a.BundlePayPrice.ShowAddress,
|
|
Status: a.BundlePayPrice.Status,
|
|
ArtistName: a.BundlePayPrice.ArtistName,
|
|
Rollback: a.BundlePayPrice.Rollback,
|
|
OperationTimes: a.BundlePayPrice.OperationTimes,
|
|
ID: a.BundlePayPrice.ID,
|
|
}
|
|
}
|
|
}
|
|
|
|
func (m *BundlePayPrice) DeleteApproval(p *Approval) error {
|
|
return DB.Where(&BundlePayPrice{ApprovalID: p.ID}).Delete(&BundlePayPrice{}).Error
|
|
}
|