mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2026-04-22 22:57:15 +08:00
代码生成id换uuidv7
This commit is contained in:
@@ -21,7 +21,7 @@ type ListTableReq struct {
|
||||
|
||||
// DetailTableReq 生成详情参数
|
||||
type DetailTableReq struct {
|
||||
ID uint `form:"id" binding:"required,gt=0"` // 主键
|
||||
ID string `form:"id" binding:"required"` // 主键
|
||||
}
|
||||
|
||||
// ImportTableReq 导入表结构参数
|
||||
@@ -31,13 +31,13 @@ type ImportTableReq struct {
|
||||
|
||||
// SyncTableReq 同步表结构参数
|
||||
type SyncTableReq struct {
|
||||
ID uint `form:"id" binding:"required,gt=0"` // 主键
|
||||
ID string `form:"id" binding:"required"` // 主键
|
||||
}
|
||||
|
||||
// EditColumn 表编辑列
|
||||
type EditColumn struct {
|
||||
ID uint `form:"id" binding:"required,gt=0"` // 主键
|
||||
TableID uint `form:"tableId" binding:"required,gt=0"` // 表ID
|
||||
ID string `form:"id" binding:"required"` // 主键
|
||||
TableID string `form:"tableId" binding:"required"` // 表ID
|
||||
|
||||
ColumnName string `form:"columnName" binding:"required,max=200"` // 列名称
|
||||
ColumnLength uint `form:"columnLength" binding:"required,max=5"` // 列长度
|
||||
@@ -67,7 +67,7 @@ type EditColumn struct {
|
||||
|
||||
// EditTableReq 编辑表结构参数
|
||||
type EditTableReq struct {
|
||||
ID uint `form:"id" binding:"required,gt=0"` // 主键
|
||||
ID string `form:"id" binding:"required"` // 主键
|
||||
TableName string `form:"tableName" binding:"required,min=1,max=200"` // 表名称
|
||||
EntityName string `form:"entityName" binding:"required,min=1,max=200"` // 实体名称
|
||||
TableComment string `form:"tableComment" binding:"required,min=1,max=200"` // 表描述
|
||||
@@ -87,12 +87,12 @@ type EditTableReq struct {
|
||||
|
||||
// DelTableReq 删除表结构参数
|
||||
type DelTableReq struct {
|
||||
Ids []uint `form:"ids" binding:"required"` // 主键
|
||||
Ids []string `form:"ids" binding:"required"` // 主键
|
||||
}
|
||||
|
||||
// PreviewCodeReq 预览代码参数
|
||||
type PreviewCodeReq struct {
|
||||
ID uint `form:"id" binding:"required,gt=0"` // 主键
|
||||
ID string `form:"id" binding:"required"` // 主键
|
||||
}
|
||||
|
||||
// GenCodeReq 生成代码参数
|
||||
@@ -115,7 +115,7 @@ type DbTableResp struct {
|
||||
|
||||
// GenTableResp 生成表返回信息
|
||||
type GenTableResp struct {
|
||||
ID uint `json:"id" structs:"id"` // 主键
|
||||
ID string `json:"id" structs:"id"` // 主键
|
||||
|
||||
TableName string `json:"tableName" structs:"tableName"` // 表名称
|
||||
TableComment string `json:"tableComment" structs:"tableComment"` // 表描述
|
||||
@@ -125,7 +125,7 @@ type GenTableResp struct {
|
||||
|
||||
// GenTableBaseResp 生成表基本返回信息
|
||||
type GenTableBaseResp struct {
|
||||
ID uint `json:"id" structs:"id"` // 主键
|
||||
ID string `json:"id" structs:"id"` // 主键
|
||||
TableName string `json:"tableName" structs:"tableName"` // 表的名称
|
||||
TableComment string `json:"tableComment" structs:"tableComment"` // 表的描述
|
||||
EntityName string `json:"entityName" structs:"entityName"` // 实体名称
|
||||
@@ -150,8 +150,8 @@ type GenTableGenResp struct {
|
||||
|
||||
// GenColumnResp 生成列返回信息
|
||||
type GenColumnResp struct {
|
||||
ID uint `json:"id" structs:"id"` // 字段主键
|
||||
TableID uint `json:"tableId" structs:"tableId"` // 归属表主键
|
||||
ID string `json:"id" structs:"id"` // 字段主键
|
||||
TableID string `json:"tableId" structs:"tableId"` // 归属表主键
|
||||
|
||||
ColumnName string `json:"columnName" structs:"columnName"` // 字段名称
|
||||
ColumnComment string `json:"columnComment" structs:"columnComment"` // 字段描述
|
||||
|
||||
@@ -98,7 +98,7 @@ func (genSrv generateService) List(page request.PageReq, listReq generatorSchema
|
||||
}
|
||||
|
||||
// Detail 生成详情
|
||||
func (genSrv generateService) Detail(id uint) (res generatorSchema.GenTableDetailResp, e error) {
|
||||
func (genSrv generateService) Detail(id string) (res generatorSchema.GenTableDetailResp, e error) {
|
||||
var genTb gen_model.GenTable
|
||||
err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTb).Error
|
||||
if e = response.CheckErrDBNotRecord(err, "查询的数据不存在!"); e != nil {
|
||||
@@ -167,7 +167,7 @@ func (genSrv generateService) ImportTable(tableNames []string) (e error) {
|
||||
}
|
||||
|
||||
// SyncTable 同步表结构
|
||||
func (genSrv generateService) SyncTable(id uint) (e error) {
|
||||
func (genSrv generateService) SyncTable(id string) (e error) {
|
||||
//旧数据
|
||||
var genTable gen_model.GenTable
|
||||
err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTable).Error
|
||||
@@ -235,7 +235,7 @@ func (genSrv generateService) SyncTable(id uint) (e error) {
|
||||
for i := 0; i < len(columns); i++ {
|
||||
colNames[i] = columns[i].ColumnName
|
||||
}
|
||||
delColIds := make([]uint, 0)
|
||||
delColIds := make([]string, 0)
|
||||
for _, prevCol := range prevColMap {
|
||||
if !util.ToolsUtil.Contains(colNames, prevCol.ColumnName) {
|
||||
delColIds = append(delColIds, prevCol.ID)
|
||||
@@ -295,7 +295,7 @@ func (genSrv generateService) EditTable(editReq generatorSchema.EditTableReq) (e
|
||||
}
|
||||
|
||||
// DelTable 删除表结构
|
||||
func (genSrv generateService) DelTable(ids []uint) (e error) {
|
||||
func (genSrv generateService) DelTable(ids []string) (e error) {
|
||||
err := genSrv.db.Transaction(func(tx *gorm.DB) error {
|
||||
txErr := tx.Delete(&gen_model.GenTable{}, "id in ?", ids).Error
|
||||
if te := response.CheckErr(txErr, "DelTable Delete GenTable err"); te != nil {
|
||||
@@ -360,7 +360,7 @@ func (genSrv generateService) renderCodeByTable(genTable gen_model.GenTable) (re
|
||||
}
|
||||
|
||||
// PreviewCode 预览代码
|
||||
func (genSrv generateService) PreviewCode(id uint) (res map[string]string, e error) {
|
||||
func (genSrv generateService) PreviewCode(id string) (res map[string]string, e error) {
|
||||
var genTable gen_model.GenTable
|
||||
err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTable).Error
|
||||
if e = response.CheckErrDBNotRecord(err, "记录丢失!"); e != nil {
|
||||
|
||||
@@ -106,7 +106,7 @@ func (tu templateUtil) PrepareVars(table gen_model.GenTable, columns []gen_model
|
||||
for _, column := range oriSubCols {
|
||||
oriSubColNames = append(oriSubColNames, column.ColumnName)
|
||||
}
|
||||
if oriSubPriCol.ID > 0 {
|
||||
if oriSubPriCol.ID != "" {
|
||||
subPriField = oriSubPriCol.ColumnName
|
||||
subColumns = append(subColumns, oriSubPriCol)
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ func (gu genUtil) InitTable(table gen_model.GenTable) gen_model.GenTable {
|
||||
}
|
||||
|
||||
// InitColumn 初始化字段列
|
||||
func (gu genUtil) InitColumn(tableId uint, column gen_model.GenTableColumn) gen_model.GenTableColumn {
|
||||
func (gu genUtil) InitColumn(tableId string, column gen_model.GenTableColumn) gen_model.GenTableColumn {
|
||||
columnType := gu.GetDbType(column.ColumnType)
|
||||
columnLen := gu.GetColumnLength(column.ColumnType)
|
||||
col := gen_model.GenTableColumn{
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package gen_model
|
||||
|
||||
import "x_admin/core"
|
||||
import (
|
||||
"x_admin/core"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// GenTable 代码生成业务实体
|
||||
type GenTable struct {
|
||||
ID uint `gorm:"primarykey;comment:'主键'"`
|
||||
ID string `gorm:"primarykey;type:char(36);comment:'主键'"`
|
||||
TableName string `gorm:"not null;default:'';comment:'表名称''"`
|
||||
TableComment string `gorm:"not null;default:'';comment:'表描述'"`
|
||||
SubTableName string `gorm:"not null;default:'';comment:'关联表名称'"`
|
||||
@@ -23,10 +28,20 @@ type GenTable struct {
|
||||
UpdateTime core.NullTime `gorm:"autoUpdateTime;not null;comment:'更新时间'"`
|
||||
}
|
||||
|
||||
// 自动在创建时设置 UUIDv7
|
||||
func (m *GenTable) BeforeCreate(tx *gorm.DB) error {
|
||||
id, err := uuid.NewV7()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.ID = id.String()
|
||||
return nil
|
||||
}
|
||||
|
||||
// GenTableColumn 代码生成表列实体
|
||||
type GenTableColumn struct {
|
||||
ID uint `gorm:"primarykey;comment:'列主键'"`
|
||||
TableID uint `gorm:"not null;default:0;comment:'表外键'"`
|
||||
ID string `gorm:"primarykey;type:char(36);comment:'主键'"`
|
||||
TableID string `gorm:"not null;default:0;comment:'表外键'"`
|
||||
ColumnName string `gorm:"not null;default:'';comment:'列名称'"`
|
||||
ColumnComment string `gorm:"not null;default:'';comment:'列描述'"`
|
||||
ColumnLength int `gorm:"not null;default:0;comment:'列长度'"`
|
||||
@@ -48,3 +63,13 @@ type GenTableColumn struct {
|
||||
CreateTime core.NullTime `gorm:"autoCreateTime;not null;comment:'创建时间'"`
|
||||
UpdateTime core.NullTime `gorm:"autoUpdateTime;not null;comment:'更新时间'"`
|
||||
}
|
||||
|
||||
// 自动在创建时设置 UUIDv7
|
||||
func (m *GenTableColumn) BeforeCreate(tx *gorm.DB) error {
|
||||
id, err := uuid.NewV7()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.ID = id.String()
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
package model
|
||||
|
||||
import "x_admin/core"
|
||||
|
||||
// MonitorWeb 错误收集error实体
|
||||
type MonitorWeb struct {
|
||||
Id int `gorm:"primarykey;comment:'uuid'"` // uuid
|
||||
|
||||
ProjectKey string `gorm:"comment:'项目key'"` // 项目key
|
||||
|
||||
ClientId string `gorm:"comment:'sdk生成的客户端id'"` // sdk生成的客户端id
|
||||
|
||||
EventType string `gorm:"comment:'事件类型'"` // 事件类型
|
||||
|
||||
Page string `gorm:"comment:'URL地址'"` // URL地址
|
||||
|
||||
Message string `gorm:"comment:'错误消息'"` // 错误消息
|
||||
|
||||
Stack string `gorm:"comment:'错误堆栈'"` // 错误堆栈
|
||||
|
||||
ClientTime core.NullTime `gorm:"comment:'客户端时间'"` // 客户端时间
|
||||
|
||||
CreateTime core.NullTime `gorm:"autoCreateTime;comment:'创建时间'"` // 创建时间
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user