controllers/sys.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/db.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/sys.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
models/sysUpgrade.go | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vo/upgrade.go | ●●●●● 补丁 | 查看 | 原始文档 | 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"` }