From a1638f230ff4cb87fe55c7f56919498c617bec3c Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期一, 27 七月 2020 11:04:44 +0800 Subject: [PATCH] add sys_upgrade --- /dev/null | 8 ---- models/sysUpgrade.go | 33 ++++++++++++++++ controllers/sys.go | 41 +++++++++++++------- models/db.go | 2 vo/upgrade.go | 10 +++++ 5 files changed, 71 insertions(+), 23 deletions(-) diff --git a/controllers/sys.go b/controllers/sys.go index 1f6d908..23c6e08 100644 --- a/controllers/sys.go +++ b/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 { - "浼樺寲鍋滆溅鍦鸿溅浣嶅湴鍥�", - "瑙e喅宸茬煡闂", - } + 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() } diff --git a/models/db.go b/models/db.go index b01ef8f..3ca978d 100644 --- a/models/db.go +++ b/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) } diff --git a/models/sys.go b/models/sys.go deleted file mode 100644 index 3440c4c..0000000 --- a/models/sys.go +++ /dev/null @@ -1,8 +0,0 @@ -package models - -type SysVersion struct { - LatestVersion string `json:"latestVersion"` - Url string `json:"url"` - IsUpgrade bool `json:"isUpgrade"` - Msg []string `json:"msg"` -} diff --git a/models/sysUpgrade.go b/models/sysUpgrade.go new file mode 100644 index 0000000..b581b86 --- /dev/null +++ b/models/sysUpgrade.go @@ -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) +} \ No newline at end of file diff --git a/vo/upgrade.go b/vo/upgrade.go new file mode 100644 index 0000000..3659ff2 --- /dev/null +++ b/vo/upgrade.go @@ -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"` +} -- Gitblit v1.8.0