// Package dao ----------------------------- // @file : artistinfo_artshow_artistIndex.go // @author : JJXu // @contact : wavingbear@163.com // @time : 2023/3/3 0:20 // ------------------------------------------- package dao import ( "errors" "fmt" "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) { err = db.DB.Where("id = ?", id).First(&data).Error 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) } //var data model.ArtshowArtistSupplement err = tx.First(&rep).Error return }