go-common/app/interface/main/app-resource/http/version.go
2019-04-22 18:49:16 +08:00

138 lines
3.5 KiB
Go

package http
import (
"strconv"
"go-common/app/interface/main/app-resource/model"
"go-common/app/interface/main/app-resource/model/version"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
"github.com/golang/protobuf/proto"
)
// getVersion get version
func getVersion(c *bm.Context) {
params := c.Request.Form
mobiApp := params.Get("mobi_app")
device := params.Get("device")
plat := model.Plat(mobiApp, device)
data, err := verSvc.Version(plat)
c.JSON(data, err)
}
// versionUpdate get versionUpdate
func versionUpdate(c *bm.Context) {
var (
params = c.Request.Form
header = c.Request.Header
)
mobiApp := params.Get("mobi_app")
device := params.Get("device")
plat := model.Plat(mobiApp, device)
buildStr := params.Get("build")
channel := params.Get("channel")
sdkStr := params.Get("sdkint")
platModel := params.Get("model")
oldID := params.Get("old_id")
build, err := strconv.Atoi(buildStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
buvid := header.Get(_headerBuvid)
// mobiApp not equal to android or mobiApp is null,default android
if !model.IsAndroid(plat) {
plat = model.PlatAndroid
}
if (plat == model.PlatAndroid) && (build >= 591000 && build <= 599000) {
plat = model.PlatAndroidB
}
data, err := verSvc.VersionUpdate(build, plat, buvid, sdkStr, channel, platModel, oldID)
if err != nil {
c.JSON(nil, ecode.NotModified)
return
}
c.JSON(data, nil)
}
// versionUpdate get versionUpdate
func versionUpdatePb(c *bm.Context) {
var (
params = c.Request.Form
header = c.Request.Header
)
mobiApp := params.Get("mobi_app")
device := params.Get("device")
plat := model.Plat(mobiApp, device)
buildStr := params.Get("build")
channel := params.Get("channel")
sdkStr := params.Get("sdkint")
platModel := params.Get("model")
oldID := params.Get("old_id")
build, err := strconv.Atoi(buildStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
buvid := header.Get(_headerBuvid)
// mobiApp not equal to android or mobiApp is null,default android
if !model.IsAndroid(plat) {
plat = model.PlatAndroid
}
data, err := verSvc.VersionUpdate(build, plat, buvid, sdkStr, channel, platModel, oldID)
if err != nil {
c.JSON(nil, ecode.NotModified)
return
}
size, _ := strconv.Atoi(data.Size)
resPb := &version.VerUpdate{
Ver: *proto.String(data.Version),
Build: *proto.Int(data.Build),
Info: *proto.String(data.Desc),
Size: *proto.Int(size),
Url: *proto.String(data.Url),
Hash: *proto.String(data.MD5),
Policy: *proto.Int(data.Policy),
IsForce: *proto.Int(data.IsForce),
Mtime: *proto.Int64(data.Mtime.Time().Unix()),
}
c.JSON(resPb, nil)
}
func versionSo(c *bm.Context) {
params := c.Request.Form
name := params.Get("name")
seedStr := params.Get("seed")
buildStr := params.Get("build")
sdkStr := params.Get("sdkint")
model := params.Get("model")
seed, err := strconv.Atoi(seedStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
build, err := strconv.Atoi(buildStr)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
sdkint, _ := strconv.Atoi(sdkStr)
data, err := verSvc.VersionSo(build, seed, sdkint, name, model)
if err != nil {
c.JSON(nil, ecode.NotModified)
return
}
c.JSON(data, nil)
}
// versionRn get versionUpdate
func versionRn(c *bm.Context) {
params := c.Request.Form
deploymentKey := params.Get("deployment_key")
bundleID := params.Get("bundle_id")
version := params.Get("base_version")
data, err := verSvc.VersionRn(version, deploymentKey, bundleID)
c.JSON(data, err)
}