115 lines
3.2 KiB
Go
115 lines
3.2 KiB
Go
package service
|
|
|
|
import (
|
|
"go-common/app/admin/main/tv/model"
|
|
bm "go-common/library/net/http/blademaster"
|
|
)
|
|
|
|
const (
|
|
_isDeleted = 1
|
|
)
|
|
|
|
//SetSearInterRank set search intervene rank
|
|
func (s *Service) SetSearInterRank(c *bm.Context, rank []*model.OutSearchInter) (err error) {
|
|
err = s.dao.SetSearchInterv(c, rank)
|
|
return
|
|
}
|
|
|
|
//GetSearInterRank get search intervene rank
|
|
func (s *Service) GetSearInterRank(c *bm.Context) (rank []*model.OutSearchInter, err error) {
|
|
rank, err = s.dao.GetSearchInterv(c)
|
|
return
|
|
}
|
|
|
|
//GetSearInterList get search intervene list
|
|
func (s *Service) GetSearInterList(c *bm.Context, pn, ps int) (items []*model.SearInter, total int, err error) {
|
|
//rank, err = s.dao.GetSearchInterv(c)
|
|
//return
|
|
start := (pn - 1) * ps
|
|
db := s.DB.Where("deleted!=?", _isDeleted).Order("rank ASC")
|
|
if err = db.Model(&model.SearInter{}).Offset(start).Limit(ps).Find(&items).Error; err != nil {
|
|
return
|
|
}
|
|
s.DB.Model(&model.SearInter{}).Where("deleted!=?", _isDeleted).Count(&total)
|
|
return
|
|
}
|
|
|
|
//GetSearInterCount get search intervene count
|
|
func (s *Service) GetSearInterCount(c *bm.Context) (total int, err error) {
|
|
if err = s.DB.Model(&model.SearInter{}).Where("deleted!=?", _isDeleted).Count(&total).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//AddSearInter add search intervene
|
|
func (s *Service) AddSearInter(c *bm.Context, si *model.SearInter) (err error) {
|
|
if err = s.DB.Create(si).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//UpdateSearInter update search intervene
|
|
func (s *Service) UpdateSearInter(c *bm.Context, id int64, searchword string) (err error) {
|
|
if err = s.DB.Model(&model.SearInter{}).Where("id=?", id).Update("searchword", searchword).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//DelSearInter delete search intervene
|
|
func (s *Service) DelSearInter(c *bm.Context, id int64) (err error) {
|
|
if err = s.DB.Model(&model.SearInter{}).Where("id=?", id).Update("deleted", 1).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//RankSearInter set search intervene new rank
|
|
func (s *Service) RankSearInter(c *bm.Context, idsArr []string) (err error) {
|
|
tx := s.DB.Begin()
|
|
for k, v := range idsArr {
|
|
newRank := k + 1
|
|
id := v
|
|
if errDB := s.DB.Model(&model.SearInter{}).Where("id=?", id).Update("rank", newRank).Error; errDB != nil {
|
|
err = errDB
|
|
tx.Rollback()
|
|
return
|
|
}
|
|
}
|
|
tx.Commit()
|
|
return
|
|
}
|
|
|
|
//GetSearInterPublish get search intervene publish status
|
|
func (s *Service) GetSearInterPublish(c *bm.Context) (items []*model.SearInter, err error) {
|
|
limit := s.c.Cfg.SearInterMax
|
|
db := s.DB.Where("deleted!=?", _isDeleted).Order("rank ASC")
|
|
if err = db.Model(&model.SearInter{}).Limit(limit).Find(&items).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//GetMaxRank get search intervene max rank
|
|
func (s *Service) GetMaxRank(c *bm.Context) (items model.SearInter, err error) {
|
|
db := s.DB.Where("deleted!=?", _isDeleted).Order("rank DESC")
|
|
if err = db.Model(&model.SearInter{}).Limit(1).Find(&items).Error; err != nil {
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
//SetPublishState set publish status
|
|
func (s *Service) SetPublishState(c *bm.Context, state *model.PublishStatus) (err error) {
|
|
err = s.dao.SetPublishCache(c, state)
|
|
return
|
|
}
|
|
|
|
//GetPublishState get publish status
|
|
func (s *Service) GetPublishState(c *bm.Context) (state *model.PublishStatus, err error) {
|
|
state, err = s.dao.GetPublishCache(c)
|
|
return
|
|
}
|