You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
161 lines
3.6 KiB
161 lines
3.6 KiB
package http |
|
|
|
import ( |
|
"go-common/app/admin/main/tv/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
|
|
"go-common/library/time" |
|
) |
|
|
|
const ( |
|
_platform = 12 |
|
_isDeleted = 1 |
|
) |
|
|
|
func versionList(c *bm.Context) { |
|
var ( |
|
req = c.Request.Form |
|
err error |
|
items []*model.Version |
|
count int64 |
|
ver = req.Get("ver") |
|
page = atoi(req.Get("page")) |
|
size = 20 |
|
) |
|
if page == 0 { |
|
page = 1 |
|
} |
|
db := tvSrv.DBShow.Where("plat=?", _platform).Where("state!=?", _isDeleted) |
|
if ver != "" { |
|
db = db.Where("version=?", ver) |
|
} |
|
db.Model(&model.Version{}).Count(&count) |
|
if err = db.Model(&model.Version{}).Offset((page - 1) * size).Limit(size).Find(&items).Error; err != nil { |
|
log.Error("%v\n", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
pager := &model.VersionPager{ |
|
TotalCount: count, |
|
Pn: page, |
|
Ps: size, |
|
Items: items, |
|
} |
|
c.JSON(pager, nil) |
|
} |
|
|
|
func versionInfo(c *bm.Context) { |
|
var ( |
|
req = c.Request.Form |
|
vid = parseInt(req.Get("id")) |
|
err error |
|
) |
|
exist := model.Version{} |
|
if err = tvSrv.DBShow.Where("id=?", vid).Where("state!=?", _isDeleted).First(&exist).Error; err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(exist, nil) |
|
} |
|
|
|
func saveVersion(c *bm.Context) { |
|
var ( |
|
req = c.Request.PostForm |
|
|
|
vid = parseInt(req.Get("id")) |
|
err error |
|
) |
|
exist := model.Version{} |
|
if err = tvSrv.DBShow.Where("id=?", vid).Where("state!=?", _isDeleted).First(&exist).Error; err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
alert, simple := validateVerPostData(c) |
|
if alert != "" { |
|
renderErrMsg(c, ecode.RequestErr.Code(), alert) |
|
return |
|
} |
|
if err := tvSrv.DBShow.Model(&model.Version{}).Where("id=?", vid).Update(simple).Error; err != nil { |
|
log.Error("tvSrv.saveVersion error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
if err := tvSrv.DBShow.Model(&model.Version{}).Where("id=?", vid).Update(map[string]int8{"state": simple.State}).Error; err != nil { |
|
log.Error("tvSrv.saveVersion error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func addVersion(c *bm.Context) { |
|
var ( |
|
err error |
|
) |
|
alert, simple := validateVerPostData(c) |
|
if alert != "" { |
|
renderErrMsg(c, ecode.RequestErr.Code(), alert) |
|
return |
|
} |
|
if err = tvSrv.DBShow.Create(simple).Error; err != nil { |
|
log.Error("tvSrv.addVersion error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func versionDel(c *bm.Context) { |
|
var ( |
|
req = c.Request.PostForm |
|
|
|
vid = parseInt(req.Get("id")) |
|
err error |
|
) |
|
exist := model.Version{} |
|
if err = tvSrv.DBShow.Where("id=?", vid).Where("state!=?", _isDeleted).First(&exist).Error; err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
if err := tvSrv.DBShow.Model(&model.Version{}).Where("id=?", vid).Update(map[string]int{"state": _isDeleted}).Error; err != nil { |
|
log.Error("tvSrv.versionDel error(%v)", err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func validateVerPostData(c *bm.Context) (alert string, simple *model.Version) { |
|
var ( |
|
req = c.Request.PostForm |
|
plat = atoi(req.Get("plat")) |
|
version = req.Get("version") |
|
build = atoi(req.Get("build")) |
|
ptime = time.Time(parseInt(req.Get("ptime"))) |
|
state = atoi(req.Get("state")) |
|
desc = req.Get("description") |
|
) |
|
if plat == 0 { |
|
alert = "平台不能为空" |
|
return |
|
} |
|
if version == "" { |
|
alert = "版本号不能为空" |
|
return |
|
} |
|
if build == 0 { |
|
alert = "build号不能为空" |
|
return |
|
} |
|
if int64(ptime) == 0 { |
|
alert = "发布时间不能为空" |
|
return |
|
} |
|
if desc == "" { |
|
alert = "描述不能为空" |
|
return |
|
} |
|
return "", &model.Version{Plat: int8(plat), Description: desc, Version: version, Build: build, State: int8(state), Ptime: ptime} |
|
}
|
|
|