67 lines
1.6 KiB
Go
67 lines
1.6 KiB
Go
package dao
|
|
|
|
import (
|
|
"fonchain-artshow/cmd/model"
|
|
"fonchain-artshow/pb/test"
|
|
"fonchain-artshow/pkg/db"
|
|
"go.uber.org/zap"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
func SaveShowApply(showApply *model.ShowApply) (tx *gorm.DB, err error) {
|
|
tx = db.DbArtShow.Begin()
|
|
|
|
if showApply.ID != uint(0) {
|
|
err = tx.Model(&model.ShowApply{}).Omit("id").Where("id = ?", showApply.ID).Updates(showApply).Error
|
|
} else {
|
|
err = tx.Model(&model.ShowApply{}).Create(showApply).Error
|
|
}
|
|
if err != nil {
|
|
zap.L().Error("ShowApply err", zap.Error(err))
|
|
return
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
func ShowApplyList(in *test.ApplyListReq) (err error, total int64, out []*model.ShowApply) {
|
|
out = make([]*model.ShowApply, 0)
|
|
queryDB := db.DbArtShow.Model(&model.ShowApply{})
|
|
|
|
err = queryDB.Count(&total).Error
|
|
if err != nil {
|
|
zap.L().Error("ShowApplyList count err", zap.Error(err))
|
|
return
|
|
}
|
|
|
|
if in.PageSize != 0 {
|
|
queryDB = queryDB.Offset(int((in.Page - 1) * in.PageSize)).
|
|
Limit(int(in.PageSize))
|
|
}
|
|
err = queryDB.Find(&out).Error
|
|
if err != nil {
|
|
zap.L().Error("ShowApplyList err", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func ShowApplyDetail(applyID uint) (err error, out *model.ShowApply) {
|
|
out = new(model.ShowApply)
|
|
err = db.DbArtShow.Model(&model.ShowApply{}).Where("id = ?", applyID).Find(&out).Error
|
|
if err != nil {
|
|
zap.L().Error("ShowApplyDetail err", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|
|
func DelShowApply(in *test.DelApplyReq) (tx *gorm.DB, err error) {
|
|
tx = db.DbArtShow.Begin()
|
|
err = tx.Delete(&model.ShowApply{}, in.ApplyID).Error
|
|
if err != nil {
|
|
zap.L().Error("ShowApply delete err", zap.Error(err))
|
|
return
|
|
}
|
|
return
|
|
}
|