From 01f194d7ef29bf916f924465f7f95428da6e71f9 Mon Sep 17 00:00:00 2001 From: tak Date: Mon, 16 Sep 2024 12:05:22 +0800 Subject: [PATCH] =?UTF-8?q?=20CURD=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. `Delete`删除方法, 新增: `Unscoped()`, 已经有删除时间了, 不需要更新编辑时间, 新建时间,编辑时间, 删除时间独立 2. `List`列表方法, JOSN 字段搜索问题处理 3. 模版新增 `in.In` 参数, 在模版中使用`in`参数,如: 插件目录名称 --- server/internal/library/hggen/views/curd.go | 1 + server/internal/library/hggen/views/curd_generate_logic.go | 2 +- server/resource/generate/default/curd/logic.go.template | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/server/internal/library/hggen/views/curd.go b/server/internal/library/hggen/views/curd.go index b84ad67..697d919 100644 --- a/server/internal/library/hggen/views/curd.go +++ b/server/internal/library/hggen/views/curd.go @@ -403,6 +403,7 @@ func (l *gCurd) loadView(ctx context.Context, in *CurdPreviewInput) (err error) "importWebApi": in.options.ImportWebApi, // 导入webApi "apiPrefix": in.options.ApiPrefix, // api前缀 "componentPrefix": componentPrefix, // vue子组件前缀 + "in": in.In, // 在模版中使用`in`参数,如:插件目录名称 }) in.view = view diff --git a/server/internal/library/hggen/views/curd_generate_logic.go b/server/internal/library/hggen/views/curd_generate_logic.go index 90449f2..1a68eec 100644 --- a/server/internal/library/hggen/views/curd_generate_logic.go +++ b/server/internal/library/hggen/views/curd_generate_logic.go @@ -287,7 +287,7 @@ func (l *gCurd) generateLogicListWhereEach(buffer *bytes.Buffer, in *CurdPreview whereTag = "\tif " + linkMode + " {\n\t\tmod = mod." + wherePrefix + "NotLike(" + tablePrefix + "dao." + daoName + ".Columns()." + columnName + ", in." + field.GoName + ")\n\t}" case WhereModeJsonContains: val := tablePrefix + "fmt.Sprintf(`JSON_CONTAINS(%s,'%v')`, dao." + daoName + ".Columns()." + columnName + ", in." + field.GoName + ")" - whereTag = "\tif in." + field.GoName + linkMode + " {\n\t\tmod = mod." + wherePrefix + "(" + val + ")\n\t}" + whereTag = "\tif " + linkMode + " {\n\t\tmod = mod." + wherePrefix + "(" + val + ")\n\t}" default: buffer.WriteString(fmt.Sprintf(LogicWhereNoSupport, field.QueryWhere)) diff --git a/server/resource/generate/default/curd/logic.go.template b/server/resource/generate/default/curd/logic.go.template index a96dad7..5fd823f 100644 --- a/server/resource/generate/default/curd/logic.go.template +++ b/server/resource/generate/default/curd/logic.go.template @@ -151,11 +151,11 @@ func (s *s@{.servFunName}) Delete(ctx context.Context, in *@{.templateGroup}in.@ return gerror.New("请先删除该@{.tableComment}下的所有下级!") }@{end} @{ if eq .deletedUpdate "" } - if _, err = s.Model(ctx@{ if eq .options.Step.HasNotFilterAuth true } ,&handler.Option{FilterAuth: false}@{end}).WherePri(in.@{.pk.GoName}).Delete();err != nil { + if _, err = s.Model(ctx@{ if eq .options.Step.HasNotFilterAuth true } ,&handler.Option{FilterAuth: false}@{end}).WherePri(in.@{.pk.GoName}).Unscoped().Delete();err != nil { err = gerror.Wrap(err, "删除@{.tableComment}失败,请稍后重试!") return }@{else} - if _, err = s.Model(ctx@{ if eq .options.Step.HasNotFilterAuth true } ,&handler.Option{FilterAuth: false}@{end}).WherePri(in.@{.pk.GoName}).Data(@{.deletedUpdate}).Update();err != nil { + if _, err = s.Model(ctx@{ if eq .options.Step.HasNotFilterAuth true } ,&handler.Option{FilterAuth: false}@{end}).WherePri(in.@{.pk.GoName}).Data(@{.deletedUpdate}).Unscoped().Update();err != nil { err = gerror.Wrap(err, "删除@{.tableComment}失败,请稍后重试!") return }@{end}