From 43b14c65ada8bcee23191d4d7c01bcd50142d10f Mon Sep 17 00:00:00 2001 From: Shikong <919411476@qq.com> Date: Mon, 27 Feb 2023 16:10:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E8=A1=A8?= =?UTF-8?q?=20&&=20=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/golang/matrix-middle-service/.gitignore | 2 +- .../matrix-middle-service/cmd/service/main.go | 7 ------- .../golang/matrix-middle-service/database.drawio | 2 +- .../matrix-middle-service/internel/app/app.go | 2 +- .../internel/{app => route}/handler.go | 2 +- .../pkg/database/driver/mysql/mysql.go | 14 +++++++++++++- .../pkg/database/model/botAccess.go | 8 ++++++++ .../pkg/database/model/botType.go | 7 +++++++ .../pkg/database/model/qqbot.go | 13 +++++++++++++ .../pkg/database/model/webhook.go | 12 ++++++++++++ 10 files changed, 57 insertions(+), 12 deletions(-) rename backend/golang/matrix-middle-service/internel/{app => route}/handler.go (98%) create mode 100644 backend/golang/matrix-middle-service/pkg/database/model/botAccess.go create mode 100644 backend/golang/matrix-middle-service/pkg/database/model/botType.go create mode 100644 backend/golang/matrix-middle-service/pkg/database/model/qqbot.go create mode 100644 backend/golang/matrix-middle-service/pkg/database/model/webhook.go diff --git a/backend/golang/matrix-middle-service/.gitignore b/backend/golang/matrix-middle-service/.gitignore index f964b80..87350cc 100644 --- a/backend/golang/matrix-middle-service/.gitignore +++ b/backend/golang/matrix-middle-service/.gitignore @@ -95,4 +95,4 @@ fabric.properties .idea/caches/build_file_checksums.ser config.toml -.$database.drawio.bkp \ No newline at end of file +.$database.drawio.* \ No newline at end of file diff --git a/backend/golang/matrix-middle-service/cmd/service/main.go b/backend/golang/matrix-middle-service/cmd/service/main.go index 89660df..3a6e45e 100644 --- a/backend/golang/matrix-middle-service/cmd/service/main.go +++ b/backend/golang/matrix-middle-service/cmd/service/main.go @@ -8,9 +8,6 @@ import ( "matrix-middle-service/internel/app" "matrix-middle-service/pkg/config/toml" "matrix-middle-service/pkg/logger" - - "os" - "os/signal" ) func Main() { @@ -37,9 +34,5 @@ func Main() { app.Run() - quit := make(chan os.Signal, 1) - signal.Notify(quit, os.Interrupt) - <-quit - defer app.Shutdown() } diff --git a/backend/golang/matrix-middle-service/database.drawio b/backend/golang/matrix-middle-service/database.drawio index c4b7b3a..7d15471 100644 --- a/backend/golang/matrix-middle-service/database.drawio +++ b/backend/golang/matrix-middle-service/database.drawio @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/backend/golang/matrix-middle-service/internel/app/app.go b/backend/golang/matrix-middle-service/internel/app/app.go index ca601d9..9609659 100644 --- a/backend/golang/matrix-middle-service/internel/app/app.go +++ b/backend/golang/matrix-middle-service/internel/app/app.go @@ -25,7 +25,7 @@ func CreateApp(c *config.Conf) *fiber.App { CaseSensitive: c.Server.CaseSensitive, StrictRouting: c.Server.StrictRouting, ServerHeader: c.Server.ServerHeader, - ErrorHandler: GlobalErrorHandler(), + ErrorHandler: route.GlobalErrorHandler(), }) } diff --git a/backend/golang/matrix-middle-service/internel/app/handler.go b/backend/golang/matrix-middle-service/internel/route/handler.go similarity index 98% rename from backend/golang/matrix-middle-service/internel/app/handler.go rename to backend/golang/matrix-middle-service/internel/route/handler.go index 87de139..dbc975c 100644 --- a/backend/golang/matrix-middle-service/internel/app/handler.go +++ b/backend/golang/matrix-middle-service/internel/route/handler.go @@ -1,4 +1,4 @@ -package app +package route import ( "github.com/gofiber/fiber/v2" diff --git a/backend/golang/matrix-middle-service/pkg/database/driver/mysql/mysql.go b/backend/golang/matrix-middle-service/pkg/database/driver/mysql/mysql.go index c2e4474..671a43f 100644 --- a/backend/golang/matrix-middle-service/pkg/database/driver/mysql/mysql.go +++ b/backend/golang/matrix-middle-service/pkg/database/driver/mysql/mysql.go @@ -8,6 +8,7 @@ import ( database2 "matrix-middle-service/pkg/config/database" "matrix-middle-service/pkg/database" "matrix-middle-service/pkg/database/driver/mysql/conf" + "matrix-middle-service/pkg/database/model" "matrix-middle-service/pkg/logger" fib "matrix-middle-service/pkg/utils/fiber" "strings" @@ -73,6 +74,17 @@ func (d *db) Open() (err error) { if err != nil { logger.Log().Fatalf("[mysql] 数据库连接失败, %s", err) } - logger.Log().Debug("[mysql] 数据库连接成功") + logger.Log().Debug("[mysql] 数据库 连接成功") + + err = d.db.Sync2( + &model.QQBot{}, + &model.WebHook{}, + &model.BotType{}, + &model.BotAccess{}) + + if err != nil { + logger.Log().Fatal(err) + } + logger.Log().Debug("[mysql] 数据表 同步成功") return } diff --git a/backend/golang/matrix-middle-service/pkg/database/model/botAccess.go b/backend/golang/matrix-middle-service/pkg/database/model/botAccess.go new file mode 100644 index 0000000..456ea0c --- /dev/null +++ b/backend/golang/matrix-middle-service/pkg/database/model/botAccess.go @@ -0,0 +1,8 @@ +package model + +type BotAccess struct { + Id string `xorm:"NOT NULL VARCHAR(255) pk"` + Type string `xorm:"NOT NULL VARCHAR(255)"` + Token string `xorm:"NOT NULL VARCHAR(255)"` + Active bool `xorm:"NOT NULL BIT(1)"` +} diff --git a/backend/golang/matrix-middle-service/pkg/database/model/botType.go b/backend/golang/matrix-middle-service/pkg/database/model/botType.go new file mode 100644 index 0000000..939ee8d --- /dev/null +++ b/backend/golang/matrix-middle-service/pkg/database/model/botType.go @@ -0,0 +1,7 @@ +package model + +type BotType struct { + Id string `xorm:"NOT NULL VARCHAR(255) pk"` + Name string `xorm:"NOT NULL VARCHAR(255)"` + Active bool `xorm:"NOT NULL BIT(1)"` +} diff --git a/backend/golang/matrix-middle-service/pkg/database/model/qqbot.go b/backend/golang/matrix-middle-service/pkg/database/model/qqbot.go new file mode 100644 index 0000000..2a52492 --- /dev/null +++ b/backend/golang/matrix-middle-service/pkg/database/model/qqbot.go @@ -0,0 +1,13 @@ +package model + +type QQBot struct { + Id string `xorm:"NOT NULL VARCHAR(255) pk"` + QQ string `xorm:"NOT NULL VARCHAR(255) 'qq'"` + Addr string `xorm:"NOT NULL VARCHAR(255)"` + Secret string `xorm:"NOT NULL VARCHAR(255)"` + Active bool `xorm:"NOT NULL BIT(1)"` +} + +func (b QQBot) TableName() string { + return "qq_bot" +} diff --git a/backend/golang/matrix-middle-service/pkg/database/model/webhook.go b/backend/golang/matrix-middle-service/pkg/database/model/webhook.go new file mode 100644 index 0000000..61995c6 --- /dev/null +++ b/backend/golang/matrix-middle-service/pkg/database/model/webhook.go @@ -0,0 +1,12 @@ +package model + +type WebHook struct { + Id string `xorm:"NOT NULL VARCHAR(255) pk"` + Addr string `xorm:"NOT NULL VARCHAR(255)"` + Secret string `xorm:"NOT NULL VARCHAR(255)"` + Active bool `xorm:"NOT NULL BIT(1)"` +} + +func (w WebHook) TableName() string { + return "webhook" +}