fonchain-artistinfo/cmd/internal/dao/artistinfo_artshow_artistSupplement.go

120 lines
3.5 KiB
Go
Raw Normal View History

2023-03-03 05:47:45 +00:00
// Package dao -----------------------------
// @file : artistinfo_artshow_artistIndex.go
// @author : JJXu
// @contact : wavingbear@163.com
// @time : 2023/3/3 0:20
// -------------------------------------------
package dao
import (
"errors"
"fmt"
2023-03-03 05:47:45 +00:00
"github.com/fonchain/fonchain-artistinfo/cmd/model"
"github.com/fonchain/fonchain-artistinfo/pb/artistinfoArtshow"
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
"gorm.io/gorm"
)
var ArtistSupplement = new(artistSupplement)
type artistSupplement struct{}
func (a artistSupplement) BatchCreateData(datas []model.ArtshowArtistSupplement) error {
//return db.DB.Create(&datas).Error
tx := db.DB.Begin()
for _, v := range datas {
err := a.CreateData(&v, tx)
if err != nil {
return err
}
}
tx.Commit()
return nil
}
func (a artistSupplement) CreateData(data *model.ArtshowArtistSupplement, tx ...*gorm.DB) error {
var txdb *gorm.DB
if tx != nil {
txdb = tx[0]
} else {
txdb = db.DB
}
var exist = model.ArtshowArtistSupplement{}
db.DB.Where("artist_uid = ? AND status = 2", data.ArtistUid).Find(&exist)
if exist.ID != 0 {
return errors.New(fmt.Sprintf("画家补充信息已存在"))
}
return txdb.Create(&data).Error
}
func (a artistSupplement) UpdateData(data *model.ArtshowArtistSupplement) error {
return db.DB.Updates(&data).Error
}
func (a artistSupplement) DeletedData(id ...int64) (err error) {
if len(id) == 1 {
err = db.DB.Where("id = ?", id[0]).Delete(&model.ArtshowArtistSupplement{}).Error
} else if len(id) > 0 {
err = db.DB.Where("id = ?", id).Delete(&model.ArtshowArtistSupplement{}).Error
}
return err
}
func (a artistSupplement) GetData(id int64) (data *model.ArtshowArtistSupplement, err error) {
2023-03-03 07:28:55 +00:00
err = db.DB.Where("id = ?", id).First(&data).Error
2023-03-03 05:47:45 +00:00
return
}
func (a artistSupplement) GetDataList(req *artistinfoArtshow.GetArtistSupplementListRequest) (datas []model.ArtshowArtistSupplement, total int64, err error) {
datas = []model.ArtshowArtistSupplement{}
var tx = db.DB.Model(model.ArtshowArtistSupplement{})
if req.ArtistUid != "" {
tx = tx.Where("artist_uid = ?", req.ArtistUid)
}
if req.LockTime != "" {
tx = tx.Where("lock_time = ?", req.LockTime)
}
if req.Status != 0 {
tx = tx.Where("status = ?", req.Status)
}
if req.AuditStatus != 0 {
tx = tx.Where("audit_status = ?", req.AuditStatus)
}
//if req.AuditMark1 != "" {
// tx = tx.Where("audit_mark1 = ?", req.AuditMark1)
//}
//if req.AuditMark2 != "" {
// tx = tx.Where("audit_mark2 = ?", req.AuditMark2)
//}
err = tx.Count(&total).Scopes(db.Pagination(req.Page, req.PageSize)).Find(&datas).Error
return
}
func (a artistSupplement) Audit(auditStatus model.AuditStatus, mark1, mark2 string, ids ...int64) (err error) {
tx := db.DB.Begin()
err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_status", auditStatus).Error
if err != nil {
return err
}
err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_mark1", mark1).Error
if err != nil {
return err
}
err = tx.Model(model.ArtshowArtistSupplement{}).Where("id in ?", ids).Update("audit_mark2", mark2).Error
if err != nil {
return err
}
tx.Commit()
return
}
func (a artistSupplement) GetSupplementDetail(in *artistinfoArtshow.GetArtistSupplementDetailRequest) (rep model.ArtshowArtistSupplement, err error) {
var tx = db.DB.Model(model.ArtshowArtistSupplement{})
if in.Id != 0 {
tx = tx.Where("id = ?", in.Id)
}
2023-03-03 07:28:55 +00:00
//var data model.ArtshowArtistSupplement
err = tx.First(&rep).Error
2023-03-03 05:47:45 +00:00
return
}