自动化代码可选不使用官方global.Model结构 (#1637)

* 自动化代码可自行选择默认结构

* 调整自动化模板

* 增加自动化模板中对timer的处理
This commit is contained in:
奇淼(piexlmax
2024-01-22 17:37:03 +08:00
committed by GitHub
parent 07cde689b1
commit 379b63275a
15 changed files with 311 additions and 125 deletions

View File

@@ -137,6 +137,9 @@ func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStru
for i := range autoCode.Fields {
if autoCode.Fields[i].FieldType == "time.Time" {
autoCode.HasTimer = true
if autoCode.Fields[i].FieldSearchType != "" {
autoCode.HasSearchTimer = true
}
}
if autoCode.Fields[i].Sort {
autoCode.NeedSort = true
@@ -158,6 +161,21 @@ func (autoCodeService *AutoCodeService) PreviewTemp(autoCode system.AutoCodeStru
autoCode.HasFile = true
autoCode.NeedJSON = true
}
if autoCode.GvaModel {
autoCode.PrimaryField = &system.Field{
FieldName: "ID",
FieldType: "uint",
FieldDesc: "ID",
FieldJson: "ID",
DataTypeLong: "20",
Comment: "主键ID",
ColumnName: "id",
}
}
if !autoCode.GvaModel && autoCode.PrimaryField == nil && autoCode.Fields[i].PrimaryKey {
autoCode.PrimaryField = autoCode.Fields[i]
}
}
dataList, _, needMkdir, err := autoCodeService.getNeedList(&autoCode)
if err != nil {
@@ -241,6 +259,9 @@ func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruc
for i := range autoCode.Fields {
if autoCode.Fields[i].FieldType == "time.Time" {
autoCode.HasTimer = true
if autoCode.Fields[i].FieldSearchType != "" {
autoCode.HasSearchTimer = true
}
}
if autoCode.Fields[i].Sort {
autoCode.NeedSort = true
@@ -262,6 +283,20 @@ func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruc
autoCode.NeedJSON = true
autoCode.HasFile = true
}
if autoCode.GvaModel {
autoCode.PrimaryField = &system.Field{
FieldName: "ID",
FieldType: "uint",
FieldDesc: "ID",
FieldJson: "ID",
DataTypeLong: "20",
Comment: "主键ID",
ColumnName: "id",
}
}
if !autoCode.GvaModel && autoCode.PrimaryField == nil && autoCode.Fields[i].PrimaryKey {
autoCode.PrimaryField = autoCode.Fields[i]
}
}
// 增加判断: 重复创建struct
if autoCode.AutoMoveFile && AutoCodeHistoryServiceApp.Repeat(autoCode.BusinessDB, autoCode.StructName, autoCode.Package) {