123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package dao
- import (
- "context"
- "go-common/app/admin/main/tv/model"
- "go-common/library/ecode"
- "go-common/library/log"
- )
- const (
- _addRegSQL = `INSERT INTO tv_pages (page_id,title,index_type,index_tid,rank) VALUES (?,?,?,?,?)`
- _editRegSQL = `UPDATE tv_pages SET title=?,index_type=?,index_tid=? WHERE page_id=?`
- _del = 0
- _firpid = 1
- )
- // RegList region list .
- func (d *Dao) RegList(ctx context.Context, arg *model.Param) (res []*model.RegDB, err error) {
- if arg.PageID != "" {
- if err = d.DB.Where("page_id=? AND deleted=?", arg.PageID, _del).Find(&res).Error; err != nil {
- log.Error("d.DB.Where error(%v)", err)
- }
- } else {
- if arg.State == "2" {
- if err = d.DB.Order("rank ASC", true).Where("title LIKE ? AND deleted=?", "%"+arg.Title+"%", _del).Find(&res).Error; err != nil {
- log.Error("d.DB.Where error(%v)", err)
- }
- return
- }
- if err = d.DB.Order("rank ASC", true).Where("title LIKE ? AND deleted=? AND valid=?", "%"+arg.Title+"%", _del, arg.State).Find(&res).Error; err != nil {
- log.Error("d.DB.Order Where error(%v)", err)
- }
- }
- return
- }
- // AddReg add region .
- func (d *Dao) AddReg(ctx context.Context, title, itype, itid, rank string) (err error) {
- var (
- pid int
- res = &model.RegDB{}
- )
- tx := d.DB.Begin()
- if err = d.DB.Order("page_id DESC", true).First(res).Error; err != nil || res == nil {
- if err == ecode.NothingFound {
- if err = d.DB.Exec(_addRegSQL, _firpid, title, itype, itid, rank).Error; err != nil {
- log.Error(" d.DB.Exec error(%v)", err)
- tx.Rollback()
- return
- }
- tx.Commit()
- return
- }
- log.Error(" d.DB.Order error(%v)", err)
- tx.Rollback()
- return
- }
- pid = res.PageID + 1
- if err = d.DB.Exec(_addRegSQL, pid, title, itype, itid, rank).Error; err != nil {
- log.Error(" d.DB.Exec error(%v)", err)
- tx.Rollback()
- return
- }
- tx.Commit()
- return
- }
- // EditReg edit region .
- func (d *Dao) EditReg(ctx context.Context, pid, title, itype, itid string) (err error) {
- if err = d.DB.Exec(_editRegSQL, title, itype, itid, pid).Error; err != nil {
- log.Error(" d.DB.Exec error(%v)", err)
- }
- return
- }
- // UpState publish or not .
- func (d *Dao) UpState(ctx context.Context, pids []int, state string) (err error) {
- m := map[string]string{"valid": state}
- if err = d.DB.Table("tv_pages").Where("page_id IN (?)", pids).Updates(m).Error; err != nil {
- log.Error(" d.DB.Table.Where.Updates error(%v)", err)
- }
- return
- }
|