123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- package http
- import (
- "strings"
- "go-common/app/admin/main/tv/model"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "github.com/jinzhu/gorm"
- )
- func seasonList(c *bm.Context) {
- var (
- req = c.Request.Form
- err error
- items []*model.SeaRepoDB
- count int64
- order = atoi(req.Get("order"))
- page = atoi(req.Get("page"))
- size = 20
- )
- if page == 0 {
- page = 1
- }
- db := seasonWhere(c)
- db.Model(&model.SeaRepoDB{}).Count(&count)
- if order == 1 {
- db = db.Order("mtime ASC")
- } else {
- db = db.Order("mtime DESC")
- }
- if err = db.Model(&model.SeaRepoDB{}).Offset((page - 1) * size).Limit(size).Find(&items).Error; err != nil {
- log.Error("%v\n", err)
- c.JSON(nil, err)
- return
- }
- pager := &model.SeasonRepoPager{
- TotalCount: count,
- Pn: page,
- Ps: size,
- }
- for _, v := range items {
- pager.Items = append(pager.Items, v.ToList())
- }
- c.JSON(pager, nil)
- }
- func seasonInfo(c *bm.Context) {
- var (
- req = c.Request.Form
- sid = parseInt(req.Get("id"))
- err error
- )
- exist := model.TVEpSeason{}
- if err = tvSrv.DB.Where("id=?", sid).Where("is_deleted=?", 0).First(&exist).Error; err != nil {
- c.JSON(nil, err)
- return
- }
- c.JSON(exist, nil)
- }
- func saveSeason(c *bm.Context) {
- var (
- req = c.Request.PostForm
- sid = parseInt(req.Get("id"))
- err error
- )
- exist := model.TVEpSeason{}
- if err = tvSrv.DB.Where("id=?", sid).Where("is_deleted=?", 0).First(&exist).Error; err != nil {
- c.JSON(nil, err)
- return
- }
- title := req.Get("title")
- desc := req.Get("desc")
- staff := req.Get("staff")
- cover := req.Get("cover")
- if title == "" {
- renderErrMsg(c, ecode.RequestErr.Code(), "标题不能为空")
- return
- }
- if desc == "" {
- renderErrMsg(c, ecode.RequestErr.Code(), "简介不能为空")
- return
- }
- if staff == "" {
- renderErrMsg(c, ecode.RequestErr.Code(), "staff不能为空")
- return
- }
- if cover == "" {
- renderErrMsg(c, ecode.RequestErr.Code(), "封面不能为空")
- return
- }
- if err := tvSrv.DB.Model(&model.TVEpSeason{}).Where("id = ?", sid).Update(map[string]string{"title": title, "desc": desc, "staff": staff, "cover": cover}).Error; err != nil {
- log.Error("tvSrv.saveSeason error(%v)", err)
- c.JSON(nil, err)
- return
- }
- c.JSON(nil, nil)
- }
- func seasonOptions(id string, valid int) (ret bool) {
- var (
- sid = parseInt(id)
- exist = model.TVEpSeason{}
- )
- ret = false
- if err := tvSrv.DB.Where("id=?", sid).Where("is_deleted=?", 0).First(&exist).Error; err != nil {
- log.Error("tvSrv.seasonOptions error(%v)", err)
- return
- }
- if err := tvSrv.DB.Model(&model.TVEpSeason{}).Where("id=?", sid).Update(map[string]int{"valid": valid}).Error; err != nil {
- log.Error("tvSrv.seasonOptions error(%v)", err)
- return
- }
- return true
- }
- func seasonOnline(c *bm.Context) {
- var (
- req = c.Request.PostForm
- ids = req.Get("ids")
- )
- idList := strings.Split(ids, ",")
- if len(idList) == 0 {
- renderErrMsg(c, ecode.RequestErr.Code(), _errIDNotFound)
- return
- }
- for _, val := range idList {
- if !seasonOptions(val, 1) {
- renderErrMsg(c, ecode.RequestErr.Code(), "Online("+val+") fail")
- return
- }
- }
- c.JSON(nil, nil)
- }
- func seasonHidden(c *bm.Context) {
- var (
- req = c.Request.PostForm
- ids = req.Get("ids")
- )
- idList := strings.Split(ids, ",")
- if len(idList) == 0 {
- renderErrMsg(c, ecode.RequestErr.Code(), _errIDNotFound)
- return
- }
- for _, val := range idList {
- if !seasonOptions(val, 0) {
- renderErrMsg(c, ecode.RequestErr.Code(), "Hidden("+val+") fail")
- return
- }
- }
- c.JSON(nil, nil)
- }
- func seasonWhere(c *bm.Context) *gorm.DB {
- var (
- req = c.Request.Form
- sid = atoi(req.Get("sid"))
- cat = atoi(req.Get("category"))
- validStr = req.Get("valid")
- title = req.Get("title")
- )
- db := tvSrv.DB.Select("*").
- Where("`check`=?", 1).
- Where("is_deleted=?", 0)
- if title != "" {
- db = db.Where("title LIKE ?", "%"+title+"%")
- }
- if sid != 0 {
- db = db.Where("id=?", sid)
- }
- if cat != 0 {
- db = db.Where("category=?", cat)
- }
- if validStr == "" {
- return db
- }
- if valid := atoi(validStr); valid == 0 {
- db = db.Where("valid=?", 0)
- } else if valid == 1 {
- db = db.Where("valid=?", 1)
- }
- return db
- }
|