Browse Source

fix: 更新mysql数据库生成代码模块名

Jerry Liang 1 năm trước cách đây
mục cha
commit
c9eb5e7b74

+ 19 - 4
service/cmd/gen/fwh_pro.go

@@ -2,10 +2,13 @@ package main
 
 import (
 	"fwh-toolbox-server/config"
-	"fwh-toolbox-server/database"
+	"log"
 
 	"go.uber.org/zap"
+	"gorm.io/driver/mysql"
 	"gorm.io/gen"
+	"gorm.io/gorm"
+	"gorm.io/gorm/logger"
 )
 
 // Dynamic SQL
@@ -21,8 +24,8 @@ func main() {
 		// 默认会在 OutPath 目录生成CRUD代码,并且同目录下生成 model 包
 		// 所以OutPath最终package不能设置为model,在有数据库表同步的情况下会产生冲突
 		// 若一定要使用,可以通过ModelPkgPath单独指定model package的名称
-		OutPath: "./models/fwh_pro/query",
-		// ModelPkgPath: "./model",
+		OutPath:      "./models/fwh_pro/query_fwh_pro",
+		ModelPkgPath: "model_fwh_pro",
 
 		// gen.WithoutContext: 禁用WithContext模式
 		// gen.WithDefaultQuery: 生成一个全局Query对象Q
@@ -35,7 +38,7 @@ func main() {
 	// gormdb, _ := gorm.Open(mysql.Open("root:@(127.0.0.1:3306)/demo?charset=utf8mb4&parseTime=True&loc=Local"))
 	// g.UseDB(gormdb) // reuse your gorm db
 	cfg, _ := config.LoadConfig()
-	db, err := database.InitMySQL(cfg.MySQLDSN)
+	db, err := InitMySQL(cfg.MySQLDSN)
 	if err != nil {
 		zap.L().Error("Mysql Database Open Filed!", zap.String("err", err.Error()))
 		return
@@ -67,3 +70,15 @@ func main() {
 	// Generate the code
 	g.Execute()
 }
+
+func InitMySQL(dsn string) (*gorm.DB, error) {
+	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
+		Logger: logger.Default.LogMode(logger.Info),
+	})
+	if err != nil {
+		log.Printf("failed to connect to MySQL: %v", err)
+		return nil, err
+	}
+
+	return db, nil
+}

+ 1 - 1
service/models/fwh_pro/model/iot_gateway.gen.go → service/models/fwh_pro/model_fwh_pro/iot_gateway.gen.go

@@ -2,7 +2,7 @@
 // Code generated by gorm.io/gen. DO NOT EDIT.
 // Code generated by gorm.io/gen. DO NOT EDIT.
 
-package model
+package model_fwh_pro
 
 import (
 	"time"

+ 1 - 1
service/models/fwh_pro/query/gen.go → service/models/fwh_pro/query_fwh_pro/gen.go

@@ -2,7 +2,7 @@
 // Code generated by gorm.io/gen. DO NOT EDIT.
 // Code generated by gorm.io/gen. DO NOT EDIT.
 
-package query
+package query_fwh_pro
 
 import (
 	"context"

+ 36 - 36
service/models/fwh_pro/query/iot_gateway.gen.go → service/models/fwh_pro/query_fwh_pro/iot_gateway.gen.go

@@ -2,7 +2,7 @@
 // Code generated by gorm.io/gen. DO NOT EDIT.
 // Code generated by gorm.io/gen. DO NOT EDIT.
 
-package query
+package query_fwh_pro
 
 import (
 	"context"
@@ -17,14 +17,14 @@ import (
 
 	"gorm.io/plugin/dbresolver"
 
-	"fwh-toolbox-server/models/fwh_pro/model"
+	"fwh-toolbox-server/models/fwh_pro/model_fwh_pro"
 )
 
 func newIotGateway(db *gorm.DB, opts ...gen.DOOption) iotGateway {
 	_iotGateway := iotGateway{}
 
 	_iotGateway.iotGatewayDo.UseDB(db, opts...)
-	_iotGateway.iotGatewayDo.UseModel(&model.IotGateway{})
+	_iotGateway.iotGatewayDo.UseModel(&model_fwh_pro.IotGateway{})
 
 	tableName := _iotGateway.iotGatewayDo.TableName()
 	_iotGateway.ALL = field.NewAsterisk(tableName)
@@ -445,17 +445,17 @@ type IIotGatewayDo interface {
 	Count() (count int64, err error)
 	Scopes(funcs ...func(gen.Dao) gen.Dao) IIotGatewayDo
 	Unscoped() IIotGatewayDo
-	Create(values ...*model.IotGateway) error
-	CreateInBatches(values []*model.IotGateway, batchSize int) error
-	Save(values ...*model.IotGateway) error
-	First() (*model.IotGateway, error)
-	Take() (*model.IotGateway, error)
-	Last() (*model.IotGateway, error)
-	Find() ([]*model.IotGateway, error)
-	FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.IotGateway, err error)
-	FindInBatches(result *[]*model.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error
+	Create(values ...*model_fwh_pro.IotGateway) error
+	CreateInBatches(values []*model_fwh_pro.IotGateway, batchSize int) error
+	Save(values ...*model_fwh_pro.IotGateway) error
+	First() (*model_fwh_pro.IotGateway, error)
+	Take() (*model_fwh_pro.IotGateway, error)
+	Last() (*model_fwh_pro.IotGateway, error)
+	Find() ([]*model_fwh_pro.IotGateway, error)
+	FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model_fwh_pro.IotGateway, err error)
+	FindInBatches(result *[]*model_fwh_pro.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error
 	Pluck(column field.Expr, dest interface{}) error
-	Delete(...*model.IotGateway) (info gen.ResultInfo, err error)
+	Delete(...*model_fwh_pro.IotGateway) (info gen.ResultInfo, err error)
 	Update(column field.Expr, value interface{}) (info gen.ResultInfo, err error)
 	UpdateSimple(columns ...field.AssignExpr) (info gen.ResultInfo, err error)
 	Updates(value interface{}) (info gen.ResultInfo, err error)
@@ -467,9 +467,9 @@ type IIotGatewayDo interface {
 	Assign(attrs ...field.AssignExpr) IIotGatewayDo
 	Joins(fields ...field.RelationField) IIotGatewayDo
 	Preload(fields ...field.RelationField) IIotGatewayDo
-	FirstOrInit() (*model.IotGateway, error)
-	FirstOrCreate() (*model.IotGateway, error)
-	FindByPage(offset int, limit int) (result []*model.IotGateway, count int64, err error)
+	FirstOrInit() (*model_fwh_pro.IotGateway, error)
+	FirstOrCreate() (*model_fwh_pro.IotGateway, error)
+	FindByPage(offset int, limit int) (result []*model_fwh_pro.IotGateway, count int64, err error)
 	ScanByPage(result interface{}, offset int, limit int) (count int64, err error)
 	Rows() (*sql.Rows, error)
 	Row() *sql.Row
@@ -571,57 +571,57 @@ func (i iotGatewayDo) Unscoped() IIotGatewayDo {
 	return i.withDO(i.DO.Unscoped())
 }
 
-func (i iotGatewayDo) Create(values ...*model.IotGateway) error {
+func (i iotGatewayDo) Create(values ...*model_fwh_pro.IotGateway) error {
 	if len(values) == 0 {
 		return nil
 	}
 	return i.DO.Create(values)
 }
 
-func (i iotGatewayDo) CreateInBatches(values []*model.IotGateway, batchSize int) error {
+func (i iotGatewayDo) CreateInBatches(values []*model_fwh_pro.IotGateway, batchSize int) error {
 	return i.DO.CreateInBatches(values, batchSize)
 }
 
 // Save : !!! underlying implementation is different with GORM
 // The method is equivalent to executing the statement: db.Clauses(clause.OnConflict{UpdateAll: true}).Create(values)
-func (i iotGatewayDo) Save(values ...*model.IotGateway) error {
+func (i iotGatewayDo) Save(values ...*model_fwh_pro.IotGateway) error {
 	if len(values) == 0 {
 		return nil
 	}
 	return i.DO.Save(values)
 }
 
-func (i iotGatewayDo) First() (*model.IotGateway, error) {
+func (i iotGatewayDo) First() (*model_fwh_pro.IotGateway, error) {
 	if result, err := i.DO.First(); err != nil {
 		return nil, err
 	} else {
-		return result.(*model.IotGateway), nil
+		return result.(*model_fwh_pro.IotGateway), nil
 	}
 }
 
-func (i iotGatewayDo) Take() (*model.IotGateway, error) {
+func (i iotGatewayDo) Take() (*model_fwh_pro.IotGateway, error) {
 	if result, err := i.DO.Take(); err != nil {
 		return nil, err
 	} else {
-		return result.(*model.IotGateway), nil
+		return result.(*model_fwh_pro.IotGateway), nil
 	}
 }
 
-func (i iotGatewayDo) Last() (*model.IotGateway, error) {
+func (i iotGatewayDo) Last() (*model_fwh_pro.IotGateway, error) {
 	if result, err := i.DO.Last(); err != nil {
 		return nil, err
 	} else {
-		return result.(*model.IotGateway), nil
+		return result.(*model_fwh_pro.IotGateway), nil
 	}
 }
 
-func (i iotGatewayDo) Find() ([]*model.IotGateway, error) {
+func (i iotGatewayDo) Find() ([]*model_fwh_pro.IotGateway, error) {
 	result, err := i.DO.Find()
-	return result.([]*model.IotGateway), err
+	return result.([]*model_fwh_pro.IotGateway), err
 }
 
-func (i iotGatewayDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model.IotGateway, err error) {
-	buf := make([]*model.IotGateway, 0, batchSize)
+func (i iotGatewayDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int) error) (results []*model_fwh_pro.IotGateway, err error) {
+	buf := make([]*model_fwh_pro.IotGateway, 0, batchSize)
 	err = i.DO.FindInBatches(&buf, batchSize, func(tx gen.Dao, batch int) error {
 		defer func() { results = append(results, buf...) }()
 		return fc(tx, batch)
@@ -629,7 +629,7 @@ func (i iotGatewayDo) FindInBatch(batchSize int, fc func(tx gen.Dao, batch int)
 	return results, err
 }
 
-func (i iotGatewayDo) FindInBatches(result *[]*model.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error {
+func (i iotGatewayDo) FindInBatches(result *[]*model_fwh_pro.IotGateway, batchSize int, fc func(tx gen.Dao, batch int) error) error {
 	return i.DO.FindInBatches(result, batchSize, fc)
 }
 
@@ -655,23 +655,23 @@ func (i iotGatewayDo) Preload(fields ...field.RelationField) IIotGatewayDo {
 	return &i
 }
 
-func (i iotGatewayDo) FirstOrInit() (*model.IotGateway, error) {
+func (i iotGatewayDo) FirstOrInit() (*model_fwh_pro.IotGateway, error) {
 	if result, err := i.DO.FirstOrInit(); err != nil {
 		return nil, err
 	} else {
-		return result.(*model.IotGateway), nil
+		return result.(*model_fwh_pro.IotGateway), nil
 	}
 }
 
-func (i iotGatewayDo) FirstOrCreate() (*model.IotGateway, error) {
+func (i iotGatewayDo) FirstOrCreate() (*model_fwh_pro.IotGateway, error) {
 	if result, err := i.DO.FirstOrCreate(); err != nil {
 		return nil, err
 	} else {
-		return result.(*model.IotGateway), nil
+		return result.(*model_fwh_pro.IotGateway), nil
 	}
 }
 
-func (i iotGatewayDo) FindByPage(offset int, limit int) (result []*model.IotGateway, count int64, err error) {
+func (i iotGatewayDo) FindByPage(offset int, limit int) (result []*model_fwh_pro.IotGateway, count int64, err error) {
 	result, err = i.Offset(offset).Limit(limit).Find()
 	if err != nil {
 		return
@@ -700,7 +700,7 @@ func (i iotGatewayDo) Scan(result interface{}) (err error) {
 	return i.DO.Scan(result)
 }
 
-func (i iotGatewayDo) Delete(models ...*model.IotGateway) (result gen.ResultInfo, err error) {
+func (i iotGatewayDo) Delete(models ...*model_fwh_pro.IotGateway) (result gen.ResultInfo, err error) {
 	return i.DO.Delete(models)
 }
 

+ 25 - 0
service/models/model_pgsql/siteAlarmSnapshot.go

@@ -0,0 +1,25 @@
+package model_pgsql
+
+import (
+	"fwh-toolbox-server/database"
+	"time"
+
+	"gorm.io/datatypes"
+)
+
+var db = database.PgSQL
+
+// 保存快照文件数据
+type SiteAlarmSnapshotModel struct {
+	ID           int64          `gorm:"primaryKey;autoIncrement"` // 自增ID
+	SN           string         `gorm:"size:64;not null;uniqueIndex:idx_type_sn_time"`
+	FileRecordID int64          `gorm:"not null"`
+	LogTime      time.Time      `gorm:"type:timestamp;not null;uniqueIndex:idx_type_sn_time"` // TIMESTAMP WITHOUT TIME ZONE
+	JsonData     datatypes.JSON `gorm:"type:jsonb"`
+}
+
+// 记录已处理过的文件(避免重复处理)
+type SiteAlarmSnapshotFileRecord struct {
+	ID    int64 `gorm:"primaryKey"` // 使用雪花ID算法
+	State int16
+}

+ 1 - 1
service/models/siteOriginalData.go → service/models/model_pgsql/siteOriginalData.go

@@ -1,4 +1,4 @@
-package models
+package model_pgsql
 
 import (
 	"fwh-toolbox-server/database"

+ 0 - 18
service/models/siteAlarmSnapshot.go

@@ -1,18 +0,0 @@
-package models
-
-import (
-	"fwh-toolbox-server/database"
-	"time"
-
-	"gorm.io/datatypes"
-)
-
-var db = database.PgSQL
-
-type SiteAlarmSnapshotModel struct {
-	ID        int64          `gorm:"primaryKey"` // 使用雪花ID算法
-	SN        string         `gorm:"size:64;not null;uniqueIndex:idx_type_sn_time"`
-	PackageID uint64         `gorm:"not null"`
-	LogTime   time.Time      `gorm:"type:timestamp;not null;uniqueIndex:idx_type_sn_time"` // TIMESTAMP WITHOUT TIME ZONE
-	JsonData  datatypes.JSON `gorm:"type:jsonb"`
-}