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