Explorar el Código

修复gf 1.14.4兼容性

tiger1103 hace 5 años
padre
commit
689007958e

+ 1 - 1
app/controller/home/index.go

@@ -66,7 +66,7 @@ func (c *Index) Show(r *ghttp.Request) {
 	// 查询文章信息
 	// 查询文章信息
 	newsInfo, _ := cms_service.GetNewsById(int(newsId))
 	newsInfo, _ := cms_service.GetNewsById(int(newsId))
 	newsInfo.NewsHits++
 	newsInfo.NewsHits++
-	newsInfo.Save()
+	cms_news.Model.Save(newsInfo)
 	if newsInfo.IsJump == 1 {
 	if newsInfo.IsJump == 1 {
 		//跳转连接
 		//跳转连接
 		home.ResponseInstance.Redirect(r, newsInfo.JumpUrl)
 		home.ResponseInstance.Redirect(r, newsInfo.JumpUrl)

+ 1 - 1
app/model/admin/auth_rule/auth_rule.go

@@ -124,7 +124,7 @@ func Edit(req *MenuReq, id int) (err error, rows int64) {
 	entity.IsFrame = req.IsFrame
 	entity.IsFrame = req.IsFrame
 	entity.Pid = req.Pid
 	entity.Pid = req.Pid
 	entity.Weigh = req.Weigh
 	entity.Weigh = req.Weigh
-	res, e := entity.Update()
+	res, e := Model.Save(entity)
 	err = e
 	err = e
 	if err != nil {
 	if err != nil {
 		return
 		return

+ 1 - 1
app/model/admin/cms_category/cms_category.go

@@ -154,7 +154,7 @@ func EditSave(req *ReqEdit) (id int64, err error) {
 	if len(moreFields) != 0 {
 	if len(moreFields) != 0 {
 		entity.More = gconv.String(moreFields)
 		entity.More = gconv.String(moreFields)
 	}
 	}
-	res, err := entity.Update()
+	res, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		err = gerror.New("修改保存失败")
 		err = gerror.New("修改保存失败")

+ 1 - 1
app/model/admin/model_fields/model_fields.go

@@ -187,7 +187,7 @@ func EditSave(req *EditReq) error {
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.FieldWidth = req.FieldWidth
 	entity.FieldWidth = req.FieldWidth
 	entity.FieldAlign = req.FieldAlign
 	entity.FieldAlign = req.FieldAlign
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改失败")
 		return gerror.New("修改失败")

+ 2 - 2
app/model/admin/model_info/model_info.go

@@ -155,7 +155,7 @@ func EditSave(req *EditReq) error {
 	entity.ModelEngine = req.ModelEngine
 	entity.ModelEngine = req.ModelEngine
 	entity.UpdateBy = gconv.Uint64(req.UpdateBy)
 	entity.UpdateBy = gconv.Uint64(req.UpdateBy)
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改失败")
 		return gerror.New("修改失败")
@@ -242,7 +242,7 @@ func SetStatus(req *StatusSetReq) error {
 			return gerror.New("获取模型信息失败")
 			return gerror.New("获取模型信息失败")
 		}
 		}
 		entity.ModelStatus = gconv.Uint(req.ModelStatus)
 		entity.ModelStatus = gconv.Uint(req.ModelStatus)
-		_, err = entity.Update()
+		_, err = Model.Save(entity)
 		if err != nil {
 		if err != nil {
 			g.Log().Error(err)
 			g.Log().Error(err)
 			return gerror.New("设置状态失败")
 			return gerror.New("设置状态失败")

+ 1 - 1
app/model/admin/plug_ad/plug_ad.go

@@ -102,7 +102,7 @@ func EditSave(editReq *EditReq) error {
 	entity.AdContent = editReq.AdContent
 	entity.AdContent = editReq.AdContent
 	entity.AdSort = editReq.AdSort
 	entity.AdSort = editReq.AdSort
 	entity.AdOpen = editReq.AdOpen
 	entity.AdOpen = editReq.AdOpen
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改广告失败")
 		return gerror.New("修改广告失败")

+ 1 - 1
app/model/admin/plug_adtype/plug_adtype.go

@@ -96,7 +96,7 @@ func EditSave(editReq *EditReq) error {
 	// 修改实体
 	// 修改实体
 	entity.AdtypeName = editReq.AdtypeName
 	entity.AdtypeName = editReq.AdtypeName
 	entity.AdtypeSort = editReq.AdtypeSort
 	entity.AdtypeSort = editReq.AdtypeSort
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改广告位失败")
 		return gerror.New("修改广告位失败")

+ 1 - 1
app/model/admin/plug_link/plug_link.go

@@ -109,7 +109,7 @@ func EditSave(editReq *EditReq) error {
 	entity.LinkUsername = editReq.LinkUsername
 	entity.LinkUsername = editReq.LinkUsername
 	entity.LinkEmail = editReq.LinkEmail
 	entity.LinkEmail = editReq.LinkEmail
 	entity.LinkRemark = editReq.LinkRemark
 	entity.LinkRemark = editReq.LinkRemark
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改栏目失败")
 		return gerror.New("修改栏目失败")

+ 1 - 1
app/model/admin/plug_linktype/plug_linktype.go

@@ -101,7 +101,7 @@ func EditSave(req *EditReq) error {
 	// 修改实体
 	// 修改实体
 	entity.LinktypeName = req.LinktypeName
 	entity.LinktypeName = req.LinktypeName
 	entity.LinktypeOrder = uint(req.LinktypeOrder)
 	entity.LinktypeOrder = uint(req.LinktypeOrder)
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改栏目失败")
 		return gerror.New("修改栏目失败")

+ 1 - 1
app/model/admin/role/role.go

@@ -169,7 +169,7 @@ func StatusSetRole(req *StatusSetReq) error {
 			return gerror.New("获取角色信息失败")
 			return gerror.New("获取角色信息失败")
 		}
 		}
 		entity.Status = req.Status
 		entity.Status = req.Status
-		_, err = entity.Update()
+		_, err = Model.Save(entity)
 		if err != nil {
 		if err != nil {
 			g.Log().Error(err)
 			g.Log().Error(err)
 			return gerror.New("设置状态失败")
 			return gerror.New("设置状态失败")

+ 1 - 1
app/model/admin/sys_config/sys_config.go

@@ -74,7 +74,7 @@ func EditSave(req *EditReq, userId uint64) (int64, error) {
 	entity.Remark = req.Remark
 	entity.Remark = req.Remark
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateBy = gconv.Uint(userId)
 	entity.UpdateBy = gconv.Uint(userId)
-	result, err := entity.Update()
+	result, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return 0, gerror.New("修改失败")
 		return 0, gerror.New("修改失败")

+ 1 - 1
app/model/admin/sys_dict_data/sys_dict_data.go

@@ -96,7 +96,7 @@ func EditSaveData(req *EditDataReq, userId uint64) (int64, error) {
 	entity.Remark = req.Remark
 	entity.Remark = req.Remark
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateBy = userId
 	entity.UpdateBy = userId
-	result, err := entity.Update()
+	result, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return 0, gerror.New("修改失败")
 		return 0, gerror.New("修改失败")

+ 2 - 2
app/model/admin/sys_dict_type/sys_dict_type.go

@@ -87,7 +87,7 @@ func EditSave(req *EditReq, userId uint64) (int64, error) {
 	entity.Remark = req.Remark
 	entity.Remark = req.Remark
 	entity.UpdateBy = gconv.Uint(userId)
 	entity.UpdateBy = gconv.Uint(userId)
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
-	res, err := entity.Update()
+	res, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return 0, gerror.New("更新失败")
 		return 0, gerror.New("更新失败")
@@ -239,7 +239,7 @@ func DeleteDictByIds(ids []int) error {
 	//删除字典下的数据
 	//删除字典下的数据
 	for _, v := range discs {
 	for _, v := range discs {
 		sys_dict_data.Model.Delete("dict_type=?", v.DictType)
 		sys_dict_data.Model.Delete("dict_type=?", v.DictType)
-		v.Delete()
+		Model.Delete(v.DictId)
 	}
 	}
 	return nil
 	return nil
 }
 }

+ 3 - 3
app/model/admin/sys_job/sys_job.go

@@ -105,7 +105,7 @@ func Edit(req *ReqEdit, userId uint64) (rows int64, err error) {
 	entity.Status = req.Status
 	entity.Status = req.Status
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateTime = gconv.Uint64(gtime.Timestamp())
 	entity.UpdateBy = gconv.Uint64(userId)
 	entity.UpdateBy = gconv.Uint64(userId)
-	res, err := entity.Update()
+	res, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		err = gerror.New("修改任务失败")
 		err = gerror.New("修改任务失败")
@@ -194,7 +194,7 @@ func JobStart(job *Entity) error {
 	gcron.Start(job.InvokeTarget)
 	gcron.Start(job.InvokeTarget)
 	if job.MisfirePolicy == 1 {
 	if job.MisfirePolicy == 1 {
 		job.Status = 0
 		job.Status = 0
-		job.Update()
+		Model.Save(job)
 	}
 	}
 	return nil
 	return nil
 }
 }
@@ -211,6 +211,6 @@ func JobStop(job *Entity) error {
 		gcron.Remove(job.InvokeTarget)
 		gcron.Remove(job.InvokeTarget)
 	}
 	}
 	job.Status = 1
 	job.Status = 1
-	job.Update()
+	Model.Save(job)
 	return nil
 	return nil
 }
 }

+ 1 - 1
app/model/admin/sys_oper_log/sys_oper_log.go

@@ -69,7 +69,7 @@ func Add(user *user.Entity, menu *auth_rule.Entity, url *url.URL,
 			operLog.OperParam = string(b)
 			operLog.OperParam = string(b)
 		}
 		}
 	}
 	}
-	operLog.Save()
+	Model.Save(operLog)
 }
 }
 
 
 //操作日志列表
 //操作日志列表

+ 2 - 2
app/model/admin/sys_post/sys_post.go

@@ -118,7 +118,7 @@ func Add(addParams *AddParams) (result sql.Result, err error) {
 		CreateTime: gtime.Now(),
 		CreateTime: gtime.Now(),
 	}
 	}
 
 
-	return entity.Save()
+	return Model.Save(entity)
 
 
 }
 }
 
 
@@ -136,7 +136,7 @@ func Edit(editParams *EditParams) (result sql.Result, err error) {
 	if entity.CreateTime == nil {
 	if entity.CreateTime == nil {
 		entity.CreateTime = entity.UpdateTime
 		entity.CreateTime = entity.UpdateTime
 	}
 	}
-	return entity.Update()
+	return Model.Save(entity)
 }
 }
 
 
 func GetOneById(id int64) (*Entity, error) {
 func GetOneById(id int64) (*Entity, error) {

+ 4 - 4
app/model/admin/user/user.go

@@ -87,7 +87,7 @@ func Add(req *AddUserReq) (InsertId int64, err error) {
 	entity.UserPassword = req.Password
 	entity.UserPassword = req.Password
 	entity.Remark = req.Remark
 	entity.Remark = req.Remark
 	entity.IsAdmin = req.IsAdmin
 	entity.IsAdmin = req.IsAdmin
-	res, err := entity.Save()
+	res, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
@@ -117,7 +117,7 @@ func Edit(req *EditUserReq) (err error) {
 	entity.UserNickname = req.NickName
 	entity.UserNickname = req.NickName
 	entity.Remark = req.Remark
 	entity.Remark = req.Remark
 	entity.IsAdmin = req.IsAdmin
 	entity.IsAdmin = req.IsAdmin
-	_, err = entity.Update()
+	_, err = Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		err = gerror.New("修改用户信息失败")
 		err = gerror.New("修改用户信息失败")
@@ -172,7 +172,7 @@ func ChangeUserStatus(req *StatusReq) error {
 		return gerror.New("用户不存在")
 		return gerror.New("用户不存在")
 	}
 	}
 	user.UserStatus = req.UserStatus
 	user.UserStatus = req.UserStatus
-	_, err = user.Update()
+	_, err = Model.Save(user)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改用户状态失败")
 		return gerror.New("修改用户状态失败")
@@ -188,7 +188,7 @@ func ResetUserPwd(req *ResetPwdReq) error {
 		return gerror.New("用户不存在")
 		return gerror.New("用户不存在")
 	}
 	}
 	user.UserPassword = req.Password
 	user.UserPassword = req.Password
-	_, err = user.Update()
+	_, err = Model.Save(user)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("修改用户密码失败")
 		return gerror.New("修改用户密码失败")

+ 1 - 1
app/model/admin/web_set/web_set.go

@@ -18,7 +18,7 @@ func UpdateSave(req *UpdateReq) error {
 		WebContent: gconv.String(req.WebContent),
 		WebContent: gconv.String(req.WebContent),
 	}
 	}
 
 
-	_, err := entity.Replace()
+	_, err := Model.Save(entity)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		return gerror.New("更新站点信息失败")
 		return gerror.New("更新站点信息失败")

+ 1 - 1
app/service/admin/model_service/field.go

@@ -157,7 +157,7 @@ func SetFieldsAttr(req *model_fields.SetFieldsAttrReq) error {
 	modelInfo.ModelList = infoReq.ModelList
 	modelInfo.ModelList = infoReq.ModelList
 	modelInfo.ModelSort = infoReq.ModelSort
 	modelInfo.ModelSort = infoReq.ModelSort
 	modelInfo.SearchList = infoReq.SearchList
 	modelInfo.SearchList = infoReq.SearchList
-	_, err = modelInfo.Save()
+	_, err = model_info.Save(modelInfo)
 	if err != nil {
 	if err != nil {
 		g.Log().Error(err)
 		g.Log().Error(err)
 		tx.Rollback()
 		tx.Rollback()

+ 1 - 1
app/service/admin/monitor_service/online.go

@@ -41,7 +41,7 @@ func ForceLogout(ids []int) error {
 		if entity == nil {
 		if entity == nil {
 			continue
 			continue
 		}
 		}
-		entity.Delete()
+		user_online.Delete("id", entity.Id)
 		_, userKey := GetUuidUserKeyByToken(entity.Token)
 		_, userKey := GetUuidUserKeyByToken(entity.Token)
 		if userKey == "" {
 		if userKey == "" {
 			continue
 			continue

+ 1 - 1
app/task/functions.go

@@ -70,7 +70,7 @@ func CheckUserOnline() {
 		for _, entity := range list {
 		for _, entity := range list {
 			onlineInfo := GetOnlineInfo(entity.Token)
 			onlineInfo := GetOnlineInfo(entity.Token)
 			if onlineInfo == nil {
 			if onlineInfo == nil {
-				entity.Delete()
+				user_online.Model.Delete("id", entity.Id)
 			}
 			}
 		}
 		}
 		param.PageNum++
 		param.PageNum++

+ 0 - 3
go.mod

@@ -4,7 +4,6 @@ require (
 	github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
 	github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
 	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
 	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
 	github.com/casbin/casbin/v2 v2.1.2
 	github.com/casbin/casbin/v2 v2.1.2
-	github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect
 	github.com/go-ole/go-ole v1.2.4 // indirect
 	github.com/go-ole/go-ole v1.2.4 // indirect
 	github.com/go-openapi/spec v0.19.11 // indirect
 	github.com/go-openapi/spec v0.19.11 // indirect
 	github.com/go-openapi/swag v0.19.11 // indirect
 	github.com/go-openapi/swag v0.19.11 // indirect
@@ -16,9 +15,7 @@ require (
 	github.com/shirou/gopsutil v2.20.2+incompatible
 	github.com/shirou/gopsutil v2.20.2+incompatible
 	github.com/swaggo/swag v1.6.9
 	github.com/swaggo/swag v1.6.9
 	golang.org/x/net v0.0.0-20201024042810-be3efd7ff127 // indirect
 	golang.org/x/net v0.0.0-20201024042810-be3efd7ff127 // indirect
-	golang.org/x/text v0.3.3 // indirect
 	golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6 // indirect
 	golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6 // indirect
-	gopkg.in/yaml.v2 v2.3.0 // indirect
 )
 )
 
 
 go 1.14
 go 1.14

+ 2 - 38
go.sum

@@ -19,8 +19,6 @@ github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28 h1:LdXxtjzvZYhhUao
 github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
 github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
-github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM=
-github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
@@ -39,31 +37,20 @@ github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwv
 github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
 github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
 github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
 github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
 github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
 github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
 github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
 github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
 github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
 github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
 github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
 github.com/go-openapi/jsonreference v0.19.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
 github.com/go-openapi/jsonreference v0.19.4 h1:3Vw+rh13uq2JFNxgnMTGE1rnoieU9FmyE1gvnyylsYg=
 github.com/go-openapi/jsonreference v0.19.4 h1:3Vw+rh13uq2JFNxgnMTGE1rnoieU9FmyE1gvnyylsYg=
 github.com/go-openapi/jsonreference v0.19.4/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
 github.com/go-openapi/jsonreference v0.19.4/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
 github.com/go-openapi/spec v0.19.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
 github.com/go-openapi/spec v0.19.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.4 h1:ixzUSnHTd6hCemgtAJgluaTSGYpLNpJY4mA2DIkdOAo=
-github.com/go-openapi/spec v0.19.4/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.8 h1:qAdZLh1r6QF/hI/gTq+TJTvsQUodZsM7KLqkAJdiJNg=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
 github.com/go-openapi/spec v0.19.9 h1:9z9cbFuZJ7AcvOHKIY+f6Aevb4vObNDkTEyoMfO7rAc=
 github.com/go-openapi/spec v0.19.9 h1:9z9cbFuZJ7AcvOHKIY+f6Aevb4vObNDkTEyoMfO7rAc=
 github.com/go-openapi/spec v0.19.9/go.mod h1:vqK/dIdLGCosfvYsQV3WfC7N3TiZSnGY2RZKoFK7X28=
 github.com/go-openapi/spec v0.19.9/go.mod h1:vqK/dIdLGCosfvYsQV3WfC7N3TiZSnGY2RZKoFK7X28=
 github.com/go-openapi/spec v0.19.11 h1:ogU5q8dtp3MMPn59a9VRrPKVxvJHEs5P7yNMR5sNnis=
 github.com/go-openapi/spec v0.19.11 h1:ogU5q8dtp3MMPn59a9VRrPKVxvJHEs5P7yNMR5sNnis=
 github.com/go-openapi/spec v0.19.11/go.mod h1:vqK/dIdLGCosfvYsQV3WfC7N3TiZSnGY2RZKoFK7X28=
 github.com/go-openapi/spec v0.19.11/go.mod h1:vqK/dIdLGCosfvYsQV3WfC7N3TiZSnGY2RZKoFK7X28=
 github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
 github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
 github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
 github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
 github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
 github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
 github.com/go-openapi/swag v0.19.11 h1:RFTu/dlFySpyVvJDfp/7674JY4SDglYWKztbiIGFpmc=
 github.com/go-openapi/swag v0.19.11 h1:RFTu/dlFySpyVvJDfp/7674JY4SDglYWKztbiIGFpmc=
 github.com/go-openapi/swag v0.19.11/go.mod h1:Uc0gKkdR+ojzsEpjh39QChyu92vPgIr72POcgHMAgSY=
 github.com/go-openapi/swag v0.19.11/go.mod h1:Uc0gKkdR+ojzsEpjh39QChyu92vPgIr72POcgHMAgSY=
 github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
 github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
@@ -72,15 +59,9 @@ github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+
 github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
 github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI=
 github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
 github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
 github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
-github.com/goflyfox/gtoken v1.3.20 h1:7J8A/DandT9D9m2ceNbmYKE8ZBbhy/ZH+L5jW64q76k=
-github.com/goflyfox/gtoken v1.3.20/go.mod h1:o+RTTc1R/ifKH5NSsVPtk4lirnocvbQmmk1I39+Y29Q=
 github.com/goflyfox/gtoken v1.3.21 h1:62k9aqcqGJ17axDw5dsIgJzhESIaSohNC/DVhvwzx6E=
 github.com/goflyfox/gtoken v1.3.21 h1:62k9aqcqGJ17axDw5dsIgJzhESIaSohNC/DVhvwzx6E=
 github.com/goflyfox/gtoken v1.3.21/go.mod h1:/p/vWt/TjHB22+sWnr+W/nLB0RR9akp7B+iUT+dMd3I=
 github.com/goflyfox/gtoken v1.3.21/go.mod h1:/p/vWt/TjHB22+sWnr+W/nLB0RR9akp7B+iUT+dMd3I=
 github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
 github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
-github.com/gogf/gf v1.14.0 h1:cO7yqWQB8PVCQ8ynTARd/LDQvJdzA6ZkUSr7GPslmFI=
-github.com/gogf/gf v1.14.0/go.mod h1:7b21qQKDyIwJO4PkBCxVci5C62tm89MANGV2wJgAf50=
-github.com/gogf/gf v1.14.1 h1:OrM7zLF3XlwdCXkhOzWsr6LihtFrabpjEJO4nQzkjY4=
-github.com/gogf/gf v1.14.1/go.mod h1:7b21qQKDyIwJO4PkBCxVci5C62tm89MANGV2wJgAf50=
 github.com/gogf/gf v1.14.2 h1:xIgfq2YcMYAm1ZcbVD/u0y5qZDDdARY4u7261w8QlHA=
 github.com/gogf/gf v1.14.2 h1:xIgfq2YcMYAm1ZcbVD/u0y5qZDDdARY4u7261w8QlHA=
 github.com/gogf/gf v1.14.2/go.mod h1:7b21qQKDyIwJO4PkBCxVci5C62tm89MANGV2wJgAf50=
 github.com/gogf/gf v1.14.2/go.mod h1:7b21qQKDyIwJO4PkBCxVci5C62tm89MANGV2wJgAf50=
 github.com/gogf/gf v1.14.4 h1:44EfQ7mluq/qEkppzk6Pg4I7QVP+9DBu/JOLaR5nXkQ=
 github.com/gogf/gf v1.14.4 h1:44EfQ7mluq/qEkppzk6Pg4I7QVP+9DBu/JOLaR5nXkQ=
@@ -109,7 +90,6 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
 github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
@@ -117,8 +97,6 @@ github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
 github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
 github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
 github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
 github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
 github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
 github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
 github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
@@ -144,24 +122,19 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
 github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
 github.com/shirou/gopsutil v2.20.2+incompatible h1:ucK79BhBpgqQxPASyS2cu9HX8cfDVljBN1WWFvbNvgY=
 github.com/shirou/gopsutil v2.20.2+incompatible h1:ucK79BhBpgqQxPASyS2cu9HX8cfDVljBN1WWFvbNvgY=
 github.com/shirou/gopsutil v2.20.2+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shirou/gopsutil v2.20.2+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
 github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
 github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
 github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/swaggo/files v0.0.0-20190704085106-630677cd5c14/go.mod h1:gxQT6pBGRuIGunNf/+tSOB5OHvguWi8Tbt82WOkf35E=
 github.com/swaggo/files v0.0.0-20190704085106-630677cd5c14/go.mod h1:gxQT6pBGRuIGunNf/+tSOB5OHvguWi8Tbt82WOkf35E=
 github.com/swaggo/gin-swagger v1.2.0/go.mod h1:qlH2+W7zXGZkczuL+r2nEBR2JTT+/lX05Nn6vPhc7OI=
 github.com/swaggo/gin-swagger v1.2.0/go.mod h1:qlH2+W7zXGZkczuL+r2nEBR2JTT+/lX05Nn6vPhc7OI=
 github.com/swaggo/swag v1.5.1/go.mod h1:1Bl9F/ZBpVWh22nY0zmYyASPO1lI/zIwRDrpZU+tv8Y=
 github.com/swaggo/swag v1.5.1/go.mod h1:1Bl9F/ZBpVWh22nY0zmYyASPO1lI/zIwRDrpZU+tv8Y=
-github.com/swaggo/swag v1.6.7 h1:e8GC2xDllJZr3omJkm9YfmK0Y56+rMO3cg0JBKNz09s=
-github.com/swaggo/swag v1.6.7/go.mod h1:xDhTyuFIujYiN3DKWC/H/83xcfHp+UE/IzWWampG7Zc=
 github.com/swaggo/swag v1.6.9 h1:BukKRwZjnEcUxQt7Xgfrt9fpav0hiWw9YimdNO9wssw=
 github.com/swaggo/swag v1.6.9 h1:BukKRwZjnEcUxQt7Xgfrt9fpav0hiWw9YimdNO9wssw=
 github.com/swaggo/swag v1.6.9/go.mod h1:a0IpNeMfGidNOcm2TsqODUh9JHdHu3kxDA0UlGbBKjI=
 github.com/swaggo/swag v1.6.9/go.mod h1:a0IpNeMfGidNOcm2TsqODUh9JHdHu3kxDA0UlGbBKjI=
 github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
 github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
@@ -172,13 +145,11 @@ github.com/ugorji/go/codec v1.1.5-pre/go.mod h1:tULtS6Gy1AE1yCENaw4Vb//HLH5njI2t
 github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
 github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY=
 github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
 github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
 github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
-github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
 github.com/urfave/cli/v2 v2.2.0 h1:JTTnM6wKzdA0Jqodd966MVj4vWbbquZykeX1sKbe2C4=
 github.com/urfave/cli/v2 v2.2.0 h1:JTTnM6wKzdA0Jqodd966MVj4vWbbquZykeX1sKbe2C4=
 github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
 github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/image v0.0.0-20190501045829-6d32002ffd75 h1:TbGuee8sSq15Iguxu4deQ7+Bqq/d2rsQejGcEtADAMQ=
 golang.org/x/image v0.0.0-20190501045829-6d32002ffd75 h1:TbGuee8sSq15Iguxu4deQ7+Bqq/d2rsQejGcEtADAMQ=
@@ -191,14 +162,11 @@ golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190611141213-3f473d35a33a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201024042810-be3efd7ff127 h1:pZPp9+iYUqwYKLjht0SDBbRCRK/9gAXDy7pz5fRDpjo=
 golang.org/x/net v0.0.0-20201024042810-be3efd7ff127 h1:pZPp9+iYUqwYKLjht0SDBbRCRK/9gAXDy7pz5fRDpjo=
 golang.org/x/net v0.0.0-20201024042810-be3efd7ff127/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
 golang.org/x/net v0.0.0-20201024042810-be3efd7ff127/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -211,7 +179,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20190610200419-93c9922d18ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
@@ -226,11 +193,7 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20190606050223-4d9ae51c2468/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190606050223-4d9ae51c2468/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190611222205-d73e1c7e250b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20190611222205-d73e1c7e250b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59 h1:QjA/9ArTfVTLfEhClDCG7SGrZkZixxWpwNCDiwJfh88=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20200716225003-58eba7e7502e h1:WaR4d3kbnTlsdn8Ms1b6r8HwNloW6f8WKxiDu+C5J48=
-golang.org/x/tools v0.0.0-20200716225003-58eba7e7502e/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200820010801-b793a1359eac h1:DugppSxw0LSF8lcjaODPJZoDzq0ElTGskTst3ZaBkHI=
 golang.org/x/tools v0.0.0-20200820010801-b793a1359eac h1:DugppSxw0LSF8lcjaODPJZoDzq0ElTGskTst3ZaBkHI=
 golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20200820010801-b793a1359eac/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
 golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6 h1:rbvTkL9AkFts1cgI78+gG6Yu1pwaqX6hjSJAatB78E4=
 golang.org/x/tools v0.0.0-20201023174141-c8cfbd0f21e6 h1:rbvTkL9AkFts1cgI78+gG6Yu1pwaqX6hjSJAatB78E4=
@@ -239,6 +202,7 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=

+ 9 - 9
library/service/service.go

@@ -86,7 +86,7 @@ func LoginAfter(r *ghttp.Request, respData gtoken.Resp) {
 			Explorer:   explorer,
 			Explorer:   explorer,
 			Os:         os,
 			Os:         os,
 		}
 		}
-		entity.Save()
+		user_online.Model.Save(entity)
 		r.Response.WriteJson(gtoken.Succ(g.Map{
 		r.Response.WriteJson(gtoken.Succ(g.Map{
 			"token": token,
 			"token": token,
 		}))
 		}))
@@ -128,22 +128,22 @@ func LoginOut(r *ghttp.Request) bool {
 
 
 // 用户登录,成功返回用户信息,否则返回nil
 // 用户登录,成功返回用户信息,否则返回nil
 func signIn(username, password string, r *ghttp.Request) (error, *user.Entity) {
 func signIn(username, password string, r *ghttp.Request) (error, *user.Entity) {
-	user, err := user.Model.Where("user_name=? and user_password=?", username, password).One()
+	userInfo, err := user.Model.Where("user_name=? and user_password=?", username, password).One()
 	if err != nil && err != sql.ErrNoRows {
 	if err != nil && err != sql.ErrNoRows {
 		return err, nil
 		return err, nil
 	}
 	}
-	if user == nil {
+	if userInfo == nil {
 		return errors.New("账号或密码错误"), nil
 		return errors.New("账号或密码错误"), nil
 	}
 	}
 	//判断用户状态
 	//判断用户状态
-	if user.UserStatus == 0 {
+	if userInfo.UserStatus == 0 {
 		return errors.New("用户已被冻结"), nil
 		return errors.New("用户已被冻结"), nil
 	}
 	}
-	returnData := *user
+	returnData := *userInfo
 	//更新登陆时间及ip
 	//更新登陆时间及ip
-	user.LastLoginTime = gconv.Int(gtime.Timestamp())
-	user.LastLoginIp = utils.GetClientIp(r)
-	user.Update()
+	userInfo.LastLoginTime = gconv.Int(gtime.Timestamp())
+	userInfo.LastLoginIp = utils.GetClientIp(r)
+	user.Model.Save(userInfo)
 	return nil, &returnData
 	return nil, &returnData
 }
 }
 
 
@@ -160,5 +160,5 @@ func loginLog(status int, username, ip, userAgent, msg, module string) {
 	log.Msg = msg
 	log.Msg = msg
 	log.LoginTime = gtime.Timestamp()
 	log.LoginTime = gtime.Timestamp()
 	log.Module = module
 	log.Module = module
-	log.Save()
+	sys_login_log.Model.Save(log)
 }
 }