liuxiaolong
2020-07-27 a1638f230ff4cb87fe55c7f56919498c617bec3c
add sys_upgrade
1个文件已删除
2个文件已添加
2个文件已修改
94 ■■■■ 已修改文件
controllers/sys.go 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/db.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/sys.go 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
models/sysUpgrade.go 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vo/upgrade.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/sys.go
@@ -2,6 +2,8 @@
import (
    "car-service/models"
    "car-service/vo"
    "encoding/json"
    "fmt"
    "github.com/astaxie/beego"
    "strconv"
@@ -15,26 +17,37 @@
// @Title 比对版本号,看是否有升级
// @Description 比对版本号,看是否有升级
// @Param curVersion query string  true "当前版本号"
// @Success 200 {object} models.SysVersion
// @Success 200 {object} models.SysUpgrade
// @Failure 403 {string} json ""
// @router /version [get]
func (c *AppController)  Version() {
    curV := c.GetString("curVersion")
    latestV := beego.AppConfig.String("latestVersion")
    fmt.Println("curV:", curV, "latestV:", latestV)
    result := models.SysVersion{
        LatestVersion: latestV,
    }
    if shouldVersionBeUpgrade(curV, latestV) {
        result.IsUpgrade = true
        result.Url = beego.AppConfig.String("latestUrl")
        result.Msg = []string {
            "优化停车场车位地图",
            "解决已知问题",
        }
    fmt.Println("curV:", curV)
    result := vo.Upgrade{}
    var sv models.SysUpgrade
    err := sv.GetLatest()
    if err != nil {
        result.Msg = []string{}
    } else {
        result.IsUpgrade = false
        latestV := sv.LatestVersion
        if shouldVersionBeUpgrade(curV, latestV) {
            result.IsUpgrade = true
            result.Url = sv.Url
            result.LatestVersion = sv.LatestVersion
            result.Time = sv.Time
            result.ForceUpgrade = sv.ForceUpgrade
            mb, e1 := json.Marshal(sv.Msg)
            if e1 == nil {
                var msgArr []string
                if e1 = json.Unmarshal(mb, &msgArr);e1 ==nil {
                    result.Msg = msgArr
                }
            }
        } else {
            result.IsUpgrade = false
        }
    }
    c.Data["json"] = result
    c.ServeJSON()
}
models/db.go
@@ -9,6 +9,6 @@
func InitDb() {
    dbUrl := beego.AppConfig.String("dbUrl")
    _ = orm.RegisterDataBase("default", "mysql", dbUrl)
    orm.RegisterModel(new(User), new(UserCar))
    orm.RegisterModel(new(User), new(UserCar), new(SysUpgrade))
    _ = orm.RunSyncdb("default", false, true)
}
models/sys.go
File was deleted
models/sysUpgrade.go
New file
@@ -0,0 +1,33 @@
package models
import "github.com/astaxie/beego/orm"
type SysUpgrade struct {
    Id                   string         `orm:"pk;size(50);column(id)" json:"id"`
    LatestVersion         string         `orm:"column(latestVersion)" json:"latestVersion"`
    Url                 string         `orm:"column(url)" json:"url"`
    IsUpgrade             bool         `orm:"column(isUpgrade)" json:"isUpgrade"`
    ForceUpgrade         bool         `orm:"column(forceUpgrade)" json:"forceUpgrade"`
    Time                  string         `orm:"column(time)" json:"time"`
    Msg                 string         `orm:"column(msg)" json:"msg"`
}
func (sv *SysUpgrade) TableName() string {
    return "sys_upgrade"
}
func (sv *SysUpgrade) GetLatest() error {
    o := orm.NewOrm()
    err := o.QueryTable(sv.TableName()).OrderBy("time desc").One(sv)
    return err
}
func (sv *SysUpgrade) Insert() (int64,error) {
    o := orm.NewOrm()
    return o.Insert(sv)
}
func (sv *SysUpgrade) Update() (int64, error) {
    o := orm.NewOrm()
    return o.Update(sv)
}
vo/upgrade.go
New file
@@ -0,0 +1,10 @@
package vo
type Upgrade struct {
    LatestVersion         string         `json:"latestVersion"`
    Url                 string         `json:"url"`
    IsUpgrade             bool         `json:"isUpgrade"`
    ForceUpgrade         bool         `json:"forceUpgrade"`
    Time                  string         `json:"time"`
    Msg                 []string     `json:"msg"`
}