From f8c5fcec47d73c6e8d443895e8abaf68f796dde2 Mon Sep 17 00:00:00 2001 From: yangduo Date: Tue, 13 Aug 2024 13:16:59 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/adminserver/config/audit.json | 10 ++++++ server/adminserver/api/v1/system/audit.go | 33 +++++++++++++++++++ .../adminserver/api/v1/system/gameswitch.go | 33 +++++++++++++++++++ .../adminserver/router/system/game_switch.go | 5 +-- server/adminserver/router/system/sys_audit.go | 3 +- 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 bin/adminserver/config/audit.json diff --git a/bin/adminserver/config/audit.json b/bin/adminserver/config/audit.json new file mode 100644 index 00000000..fa925d0c --- /dev/null +++ b/bin/adminserver/config/audit.json @@ -0,0 +1,10 @@ +[ + { + "version": "1.0.0", + "model": 1 + }, + { + "version": "1.0.0", + "model": 2 + } +] diff --git a/server/adminserver/api/v1/system/audit.go b/server/adminserver/api/v1/system/audit.go index 2e1053b8..ce352aeb 100644 --- a/server/adminserver/api/v1/system/audit.go +++ b/server/adminserver/api/v1/system/audit.go @@ -2,9 +2,11 @@ package system import ( "f5" + "fmt" "main/constant" "main/model/system" "net/http" + "q5" "strconv" "github.com/gin-gonic/gin" @@ -13,6 +15,37 @@ import ( type AuditApi struct { } +func (aa *AuditApi) Init() { + audits := []struct { + Version string `json:"version" binding:"required" ` + Model uint `json:"model" binding:"required" ` + }{} + + if jsonStr, err := f5.ReadJsonFile("../config/audit.json"); err == nil { + if err := q5.DecodeJson(jsonStr, &audits); err != nil { + panic(fmt.Sprintf("parse metafile error %s %s", "audit.json", err)) + } + } else { + panic(fmt.Sprintf("load metafile error %s %s", "audit.json", err)) + } + + for _, item := range audits { + audit := new(system.Audit) + var count int64 = 0 + f5.GetApp().GetOrmDb(constant.CONF_DB).Table(audit.TableName()).Where("model = ?", item.Model).Count(&count) + if count > 0 { + continue + } + + audit.Version = item.Version + audit.IsAuditing = 0 + audit.Model = item.Model + if err := f5.GetApp().GetOrmDb(constant.CONF_DB).Create(audit).Error; err != nil { + f5.GetSysLog().Error("添加audit 失败:%s, %d", item.Version, item.Model) + } + } +} + func (this *AuditApi) AuditList(c *gin.Context) { var auditList []system.Audit err := f5.GetApp().GetOrmDb(constant.CONF_DB).Find(&auditList).Error diff --git a/server/adminserver/api/v1/system/gameswitch.go b/server/adminserver/api/v1/system/gameswitch.go index 00bc0053..2689f9f2 100644 --- a/server/adminserver/api/v1/system/gameswitch.go +++ b/server/adminserver/api/v1/system/gameswitch.go @@ -2,6 +2,7 @@ package system import ( "f5" + "fmt" "main/constant" "main/model/system" "net/http" @@ -13,6 +14,38 @@ import ( type GameSwitchApi struct { } +func (gs *GameSwitchApi) Init() { + switches := []struct { + Name string `json:"switch_name"` + Desc string `json:"switch_desc"` + }{} + + if jsonStr, err := f5.ReadJsonFile("../config/game_switch.json"); err == nil { + if err := q5.DecodeJson(jsonStr, &switches); err != nil { + panic(fmt.Sprintf("parse metafile error %s %s", "game_switch.json", err)) + } + } else { + panic(fmt.Sprintf("load metafile error %s %s", "game_switch.json", err)) + } + + nowDaySeconds := int32(f5.GetApp().GetRealSeconds()) + for _, item := range switches { + if err := f5.GetApp().GetOrmDb(constant.CONF_DB).Where("switch_name = ?", item.Name).Take(new(system.GameSwitch)).Error; err == nil { + continue + } + + gswitch := new(system.GameSwitch) + gswitch.Name = item.Name + gswitch.Opened = 0 + gswitch.Remark = item.Desc + gswitch.CreateTime = nowDaySeconds + gswitch.ModifyTime = nowDaySeconds + if err := f5.GetApp().GetOrmDb(constant.CONF_DB).Create(gswitch).Error; err != nil { + f5.GetSysLog().Error("添加game switch 失败:%s, %s", item.Name, item.Desc) + } + } +} + func (this *GameSwitchApi) List(c *gin.Context) { pagesize := c.DefaultQuery("pagesize", "10") page := c.DefaultQuery("page", "") diff --git a/server/adminserver/router/system/game_switch.go b/server/adminserver/router/system/game_switch.go index be9d65b9..e50e1ffe 100644 --- a/server/adminserver/router/system/game_switch.go +++ b/server/adminserver/router/system/game_switch.go @@ -13,10 +13,11 @@ type GameSwitchRoute struct { func (this *GameSwitchRoute) InitGameSwitchRouter(priRouter *gin.RouterGroup) { group := priRouter.Group("game_switch") api := v1.ApiGroupApp.SystemApiGroup.GameSwitchApi + api.Init() { - group.POST("add", middleware.Permission("api/v1/game_switch/add", api.Add)) + //group.POST("add", middleware.Permission("api/v1/game_switch/add", api.Add)) group.POST("edit", middleware.Permission("api/v1/game_switch/edit", api.Edit)) - group.POST("del", middleware.Permission("api/v1/game_switch/del", api.Del)) + //group.POST("del", middleware.Permission("api/v1/game_switch/del", api.Del)) group.GET("list", middleware.Permission("api/v1/game_switch/list", api.List)) } } diff --git a/server/adminserver/router/system/sys_audit.go b/server/adminserver/router/system/sys_audit.go index 106bc4bc..c20a0bae 100644 --- a/server/adminserver/router/system/sys_audit.go +++ b/server/adminserver/router/system/sys_audit.go @@ -12,9 +12,10 @@ type AuditRouter struct{} func (ar *AnncRouter) InitAuditRouter(priRouter *gin.RouterGroup) { priUserRouter := priRouter.Group("audit") auditApi := v1.ApiGroupApp.SystemApiGroup.AuditApi + auditApi.Init() { priUserRouter.GET("auditList", middleware.Permission("api/v1/audit/auditList", auditApi.AuditList)) - priUserRouter.POST("addAudit", middleware.Permission("api/v1/audit/addAudit", auditApi.AddAudit)) + // priUserRouter.POST("addAudit", middleware.Permission("api/v1/audit/addAudit", auditApi.AddAudit)) priUserRouter.PUT("updateAudit/:idx", middleware.Permission("api/v1/audit/updateAudit", auditApi.UpdateAudit)) } }