diff --git a/internal/app/system/controller/tools_gen_table.go b/internal/app/system/controller/tools_gen_table.go index 5e26299..e37ed48 100644 --- a/internal/app/system/controller/tools_gen_table.go +++ b/internal/app/system/controller/tools_gen_table.go @@ -10,6 +10,7 @@ package controller import ( "context" "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/os/gctx" "github.com/tiger1103/gfast/v3/api/v1/common" "github.com/tiger1103/gfast/v3/api/v1/system" "github.com/tiger1103/gfast/v3/internal/app/system/model/entity" @@ -63,7 +64,7 @@ func (c *toolsGenTableController) GenColumnList(ctx context.Context, req *system // RelationTable 获取关联表数据 func (c *toolsGenTableController) RelationTable(ctx context.Context, req *system.ToolsGenRelationTableReq) (res *system.ToolsGenRelationTableRes, err error) { - res, err = service.ToolsGenTable().GetRelationTable(ctx,req) + res, err = service.ToolsGenTable().GetRelationTable(ctx, req) return } @@ -82,7 +83,7 @@ func (c *toolsGenTableController) Preview(ctx context.Context, req *system.Tools // BatchGenCode 代码生成 func (c *toolsGenTableController) BatchGenCode(ctx context.Context, req *system.ToolsGenTableBatchGenCodeReq) (res *system.ToolsGenTableBatchGenCodeRes, err error) { - err = service.ToolsGenTable().GenCode(ctx, req.Ids) + err = service.ToolsGenTable().GenCode(gctx.New(), req.Ids) return } diff --git a/internal/app/system/logic/toolsGenTable/tools_gen_table.go b/internal/app/system/logic/toolsGenTable/tools_gen_table.go index 1d91ccb..3d02c39 100644 --- a/internal/app/system/logic/toolsGenTable/tools_gen_table.go +++ b/internal/app/system/logic/toolsGenTable/tools_gen_table.go @@ -91,7 +91,7 @@ func (s *sToolsGenTable) SelectDbTableList(ctx context.Context, req *system.Tool var sqlStr string if s.IsMysql() { sqlStr = " from information_schema.tables where table_schema = (select database())" + - " and table_name table_name NOT LIKE 'tools_gen_%' and table_name NOT IN (select table_name from " + dao.ToolsGenTable.Table() + ") " + " and table_name NOT LIKE 'tools_gen_%' and table_name NOT IN (select table_name from " + dao.ToolsGenTable.Table() + ") " if req != nil { if req.TableName != "" { sqlStr += gdb.FormatSqlWithArgs(" and lower(table_name) like lower(?)", []interface{}{"%" + req.TableName + "%"}) diff --git a/resource/template/vm/go/controller.template b/resource/template/vm/go/controller.template index 2b3f2f6..2a5ed61 100644 --- a/resource/template/vm/go/controller.template +++ b/resource/template/vm/go/controller.template @@ -303,14 +303,14 @@ func (c *{{$structName}}Controller) ExcelTemplate(ctx context.Context,req *{{.ta r.Response.Header().Set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") r.Response.Header().Set("Accept-Ranges", "bytes") r.Response.Header().Set("Access-Control-Expose-Headers", "*") - r.Response.Header().Set("Content-Disposition", "attachment; filename="+gurl.Encode("代码生成测试表模板")+".xlsx") + r.Response.Header().Set("Content-Disposition", "attachment; filename="+gurl.Encode("{{.table.TableComment}}模板")+".xlsx") r.Response.Buffer() r.Exit() return } func(c *{{$structName}}Controller)Import(ctx context.Context,req *{{.table.ModuleName}}.{{.table.ClassName}}ImportReq)(res *{{.table.ModuleName}}.{{.table.ClassName}}ImportRes,err error){ - err = service.DemoGen().Import(ctx,req.File) + err = service.{{.table.ClassName}}().Import(ctx,req.File) return } {{end}} diff --git a/resource/template/vm/go/logic.template b/resource/template/vm/go/logic.template index 8a732c5..fa63da7 100644 --- a/resource/template/vm/go/logic.template +++ b/resource/template/vm/go/logic.template @@ -42,6 +42,7 @@ import ( "context" "github.com/gogf/gf/v2/frame/g" {{if .table.ExcelImp}} + "errors" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/database/gdb" "github.com/xuri/excelize/v2" @@ -347,6 +348,7 @@ func(s *s{{.table.ClassName}})Import(ctx context.Context,file *ghttp.UploadFile) } d:=make([]interface{}, len(rows[0])) data=make([]do.{{.table.ClassName}},len(rows)-1) + for k,v:=range rows{ if k==0{ continue @@ -354,17 +356,19 @@ func(s *s{{.table.ClassName}})Import(ctx context.Context,file *ghttp.UploadFile) for kv,vv:=range v{ d[kv] = vv } + {{if $.table.UseSnowId}} + var {{$.table.PkColumn.HtmlField}} uint64 + {{$.table.PkColumn.HtmlField}}, err = commonService.SnowID().GenID() + liberr.ErrIsNil(ctx, err) + {{end}} data[k-1] = do.{{.table.ClassName}}{ {{$i:=0}} {{range $index, $column := .table.Columns}} {{$add:=false}} - {{if $.table.IsPkInsertable}} + {{if and $column.IsPk $.table.IsPkInsertable}} {{$.table.PkColumn.GoField}}:d[{{$i}}], {{$add = true}} - {{else if $.table.UseSnowId}} - var {{$.table.PkColumn.HtmlField}} uint64 - {{$.table.PkColumn.HtmlField}}, err = commonService.SnowID().GenID() - liberr.ErrIsNil(ctx, err) + {{else if and $column.IsPk $.table.UseSnowId}} {{$.table.PkColumn.GoField}}:{{$.table.PkColumn.HtmlField}}, {{else if and (ne $column.IsPk true) (ne $column.HtmlType "imagefile") (ne $column.HtmlType "images") (ne $column.HtmlType "file") (ne $column.HtmlType "files")}} {{$add = true}} diff --git a/resource/template/vm/go/service.template b/resource/template/vm/go/service.template index 665bf7a..6bf992d 100644 --- a/resource/template/vm/go/service.template +++ b/resource/template/vm/go/service.template @@ -36,7 +36,7 @@ type I{{.table.ClassName}} interface { {{if .table.ExcelPort }} GetExportData(ctx context.Context, req *model.{{.table.ClassName}}SearchReq) (listRes []*model.{{.table.ClassName}}InfoRes, err error) {{end}} - {{if .table.ExcelPort }} + {{if .table.ExcelImp }} Import(ctx context.Context,file *ghttp.UploadFile)(err error) {{end}} GetBy{{.table.PkColumn.GoField}}(ctx context.Context, {{.table.PkColumn.GoField}} {{$.table.PkColumn.GoType}}) (res *model.{{.table.ClassName}}InfoRes,err error) diff --git a/resource/template/vm/vue/list-vue.template b/resource/template/vm/vue/list-vue.template index c88be95..54ff54f 100644 --- a/resource/template/vm/vue/list-vue.template +++ b/resource/template/vm/vue/list-vue.template @@ -724,7 +724,7 @@ export default defineComponent({ {{if .table.ExcelPort }} handleExport, {{end}} - {{if .table.ExcelPort }} + {{if .table.ExcelImp }} handleImport, loadExcel{{.table.ClassName}}Ref, {{end}}