【修复】代码生成

This commit is contained in:
PandaGoAdmin
2022-07-16 18:49:57 +08:00
parent a6c5e581e3
commit 9223c6404f
19 changed files with 295 additions and 148 deletions

View File

@@ -13,7 +13,7 @@ type DevGenTable struct {
BusinessName string `gorm:"business_name" json:"businessName"` // 生成业务名
FunctionName string `gorm:"function_name" json:"functionName"` // 生成功能名
FunctionAuthor string `gorm:"function_author" json:"functionAuthor"` // 生成功能作者
TreeCode string `gorm:"tree_code" json:"treeCode"`
TreeCode string `gorm:"tree_code" json:"treeCode"`
TreeParentCode string `gorm:"tree_parent_code" json:"treeParentCode"`
TreeName string `gorm:"tree_name" json:"treeName"`
Options string `gorm:"options" json:"options"` // 其它生成选项

View File

@@ -3,6 +3,7 @@ package gen
import (
"bytes"
"github.com/kakuilan/kgo"
"log"
"os"
"pandax/apps/develop/entity"
"pandax/apps/develop/services"
@@ -21,9 +22,9 @@ var (
ColumnTypeStr: []string{"char", "varchar", "narchar", "varchar2", "tinytext", "text", "mediumtext", "longtext"},
ColumnTypeTime: []string{"datetime", "time", "date", "timestamp"},
ColumnTypeNumber: []string{"tinyint", "smallint", "mediumint", "int", "number", "integer", "bigint", "float", "float", "double", "decimal"},
ColumnNameNotEdit: []string{"id", "created_by", "created_at", "updated_by", "updated_at", "deleted_at"},
ColumnNameNotList: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at"},
ColumnNameNotQuery: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at", "remark"},
ColumnNameNotEdit: []string{"create_by", "update_by", "create_time", "update_time", "delete_time"},
ColumnNameNotList: []string{"create_by", "update_by", "update_time", "delete_time"},
ColumnNameNotQuery: []string{"create_by", "update_by", "create_time", "update_time", "delete_time", "remark"},
}
)
@@ -84,6 +85,9 @@ func (s *toolsGenTableColumn) IsNumberObject(dataType string) bool {
// IsNotEdit 是否不可编辑
func (s *toolsGenTableColumn) IsNotEdit(name string) bool {
if strings.Contains(name, "id") {
return true
}
return s.IsExistInArray(name, s.ColumnNameNotEdit)
}
@@ -173,14 +177,12 @@ func (s *toolsGenTableColumn) GenTableInit(tableName string) entity.DevGenTable
strEnd := string([]byte(tableNameList[i])[1:])
// 大驼峰表名 结构体使用
data.ClassName += strings.ToUpper(strStart) + strEnd
// 小驼峰表名 js函数名和权限标识使用
if i == 0 {
// js函数名和权限标识使用
if i >= 1 {
data.BusinessName += strings.ToLower(strStart) + strEnd
} else {
data.BusinessName += strings.ToUpper(strStart) + strEnd
}
}
data.PackageName = "admin"
data.PackageName = "system"
data.TplCategory = "crud"
// 中横线表名称接口路径、前端文件夹名称和js名称使用
data.ModuleName = strings.Replace(tableName, "_", "-", -1)
@@ -188,11 +190,11 @@ func (s *toolsGenTableColumn) GenTableInit(tableName string) entity.DevGenTable
dbTable := services.DevGenTableModelDao.FindDbTableOne(tableName)
dbColumn := services.DevTableColumnModelDao.FindDbTableColumnList(tableName)
data.TableComment = dbTable.TableComment
data.TableComment = dbTable.TableComment //表描述
if dbTable.TableComment == "" {
data.TableComment = data.ClassName
}
data.FunctionName = data.TableComment
data.FunctionName = strings.ToUpper(data.BusinessName)
data.FunctionAuthor = "panda"
wg := sync.WaitGroup{}
dcs := *dbColumn
@@ -200,6 +202,7 @@ func (s *toolsGenTableColumn) GenTableInit(tableName string) entity.DevGenTable
index := i
wg.Add(1)
go func(wg *sync.WaitGroup, i int) {
log.Println(dcs[i].ColumnName)
var column entity.DevGenTableColumn
column.ColumnComment = dcs[i].ColumnComment
column.ColumnName = dcs[i].ColumnName
@@ -229,6 +232,10 @@ func (s *toolsGenTableColumn) GenTableInit(tableName string) entity.DevGenTable
}
}
if column.ColumnComment == "" {
column.ColumnComment = column.GoField
}
dataType := s.GetDbType(column.ColumnType)
if s.IsStringObject(dataType) {
//字段为字符串类型

View File

@@ -23,4 +23,9 @@ func InitGenRouter(router *gin.RouterGroup) {
gen.GET("code/:tableId", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).WithLog(genCodeLog).Handle(genApi.GenCode)
})
genConfigureLog := ctx.NewLogInfo("生成配置")
gen.GET("configure/:tableId", func(c *gin.Context) {
ctx.NewReqCtxWithGin(c).WithLog(genConfigureLog).Handle(genApi.GenCode)
})
}

View File

@@ -231,5 +231,6 @@ func (e *devGenTableModelImpl) DeleteTables(tableId int64) bool {
func (m *devGenTableModelImpl) Delete(configIds []int64) {
err := global.Db.Table(m.table).Delete(&entity.DevGenTable{}, "table_id in (?)", configIds).Error
biz.ErrIsNil(err, "删除生成代码信息失败")
DevTableColumnModelDao.Delete(configIds)
return
}

View File

@@ -22,6 +22,7 @@ type (
Insert(data entity.DevGenTableColumn) *entity.DevGenTableColumn
FindList(data entity.DevGenTableColumn, exclude bool) *[]entity.DevGenTableColumn
Update(data entity.DevGenTableColumn) *entity.DevGenTableColumn
Delete(tableId []int64)
}
devTableColumnModelImpl struct {
@@ -92,10 +93,10 @@ func (m *devTableColumnModelImpl) FindList(data entity.DevGenTableColumn, exclud
notIn = append(notIn, "id")
notIn = append(notIn, "create_by")
notIn = append(notIn, "update_by")
notIn = append(notIn, "created_at")
notIn = append(notIn, "updated_at")
notIn = append(notIn, "deleted_at")
db = db.Where(" column_name not in(?)", notIn)
notIn = append(notIn, "create_time")
notIn = append(notIn, "update_time")
notIn = append(notIn, "delete_time")
db = db.Where("column_name not in(?)", notIn)
}
err := db.Find(&list).Error
biz.ErrIsNil(err, "查询生成代码字段表信息失败")
@@ -107,3 +108,9 @@ func (m *devTableColumnModelImpl) Update(data entity.DevGenTableColumn) *entity.
biz.ErrIsNil(err, "修改生成代码字段表失败")
return &data
}
func (m *devTableColumnModelImpl) Delete(tableId []int64) {
err := global.Db.Table(m.table).Delete(&entity.DevGenTableColumn{}, "table_id in (?)", tableId).Error
biz.ErrIsNil(err, "删除生成代码字段表失败")
return
}

View File

@@ -12,8 +12,7 @@ import (
**/
type SysTenants struct {
model.BaseModel
TenantId int64 `json:"tenantId" gorm:"primary_key;AUTO_INCREMENT"`
model.BaseAutoModel
TenantName string `json:"tenantName" gorm:"type:varchar(255);comment:租户名"`
Remark string `json:"remark" gorm:"type:varchar(255);comment:备注"`
ExpireTime time.Time `json:"expireTime" gorm:"comment:过期时间"`

View File

@@ -17,7 +17,7 @@ func InitSysTenantRouter(router *gin.RouterGroup) {
s := &api.SysTenantsApi{
SysTenantsApp: services.SysTenantModelDao,
}
routerGroup := router.Group("SysTenant")
routerGroup := router.Group("tenant")
SysTenantListLog := ctx.NewLogInfo("获取SysTenant分页列表")
routerGroup.GET("list", func(c *gin.Context) {

View File

@@ -48,9 +48,11 @@ func (m *SysTenantModelImpl) FindListPage(page, pageSize int, data entity.SysTen
var total int64 = 0
offset := pageSize * (page - 1)
db := global.Db.Table(m.table)
// 此处填写 where参数判断
if data.TenantId != 0 {
db = db.Where("tenant_id = ?", data.TenantId)
if data.TenantName != "" {
db = db.Where("tenant_name like ?", "%"+data.TenantName+"%")
}
if data.Id != 0 {
db = db.Where("id = ?", data.Id)
}
db.Where("delete_time IS NULL")
err := db.Count(&total).Error
@@ -62,9 +64,11 @@ func (m *SysTenantModelImpl) FindListPage(page, pageSize int, data entity.SysTen
func (m *SysTenantModelImpl) FindList(data entity.SysTenants) *[]entity.SysTenants {
list := make([]entity.SysTenants, 0)
db := global.Db.Table(m.table)
// 此处填写 where参数判断
if data.TenantId != 0 {
db = db.Where("tenant_id = ?", data.TenantId)
if data.TenantName != "" {
db = db.Where("tenant_name like ?", "%"+data.TenantName+"%")
}
if data.Id != 0 {
db = db.Where("id = ?", data.Id)
}
db.Where("delete_time IS NULL")
biz.ErrIsNil(db.Order("create_time").Find(&list).Error, "查询SysTenant列表失败")