From 4a61b67350f275b21e9954ece29c1cc4f0c5f21e Mon Sep 17 00:00:00 2001 From: lbw Date: Thu, 8 Sep 2022 10:00:50 +0800 Subject: [PATCH] =?UTF-8?q?:recycle:=20Refactoring=20code.=20=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E4=BB=A3=E7=A0=81=E4=B8=BB=E9=94=AE=E3=80=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=88=A0=E9=99=A4=E6=9B=B4=E7=81=B5=E6=B4=BB=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/GenDynamicServiceImpl.java | 10 ++++++++ .../impl/temp/MagicGenCodeServiceImpl.java | 1 + .../resources/template/magic/del.magic.vm | 23 +++++++++++++++---- .../template/magic/metadata.magic.vm | 4 ++++ .../resources/template/magic/query.magic.vm | 13 ++++++++--- 5 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 pigx-visual/pigx-codegen/src/main/resources/template/magic/metadata.magic.vm diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDynamicServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDynamicServiceImpl.java index 082f4387f..e6962e6d7 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDynamicServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDynamicServiceImpl.java @@ -132,6 +132,16 @@ public class GenDynamicServiceImpl implements GenDynamicService { updateApiInfo.setMethod("put"); updateApiInfo.setGroupId(id); magicResourceService.saveFile(updateApiInfo); + + ApiInfo metadataApiInfo = new ApiInfo(); + metadataApiInfo.setId(id + "metadata"); + String metadataScript = templates.get("template/magic/metadata.magic.vm"); + metadataApiInfo.setScript(metadataScript); + metadataApiInfo.setName("元数据"); + metadataApiInfo.setPath("/metadata"); + metadataApiInfo.setMethod("get"); + metadataApiInfo.setGroupId(id); + magicResourceService.saveFile(metadataApiInfo); } return templates; diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/MagicGenCodeServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/MagicGenCodeServiceImpl.java index 1297a4dbf..1447090de 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/MagicGenCodeServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/MagicGenCodeServiceImpl.java @@ -30,6 +30,7 @@ public class MagicGenCodeServiceImpl implements GenCodeService { templates.add("template/magic/del.magic.vm"); templates.add("template/magic/add.magic.vm"); templates.add("template/magic/update.magic.vm"); + templates.add("template/magic/metadata.magic.vm"); return templates; } diff --git a/pigx-visual/pigx-codegen/src/main/resources/template/magic/del.magic.vm b/pigx-visual/pigx-codegen/src/main/resources/template/magic/del.magic.vm index d1db7282d..3e758a1ac 100644 --- a/pigx-visual/pigx-codegen/src/main/resources/template/magic/del.magic.vm +++ b/pigx-visual/pigx-codegen/src/main/resources/template/magic/del.magic.vm @@ -1,8 +1,21 @@ import response; -var data = db.${dsName}.table("${tableName}").primary("$pk.columnName").update({ -id: id, -del_flag: 1 -}) +// 判断是否逻辑删除 +var logicFlag = false +#foreach($column in $columns) + #if($column.columnName == "del_flag") + logicFlag = true + #end +#end -return response.json(data) +var result; +if(logicFlag){ + result = db.${dsName}.table("${tableName}").primary("$pk.columnName").update({ + "$pk.columnName": id, + del_flag: 1 + }) +}else{ + result = db.${dsName}.table("${tableName}").where().eq("$pk.columnName", id).delete() +} + +return response.json(result) diff --git a/pigx-visual/pigx-codegen/src/main/resources/template/magic/metadata.magic.vm b/pigx-visual/pigx-codegen/src/main/resources/template/magic/metadata.magic.vm new file mode 100644 index 000000000..3fb5a3b03 --- /dev/null +++ b/pigx-visual/pigx-codegen/src/main/resources/template/magic/metadata.magic.vm @@ -0,0 +1,4 @@ +import response; + +// 执行DSL 分页输出结果 +return response.text("$pk.lowerAttrName") diff --git a/pigx-visual/pigx-codegen/src/main/resources/template/magic/query.magic.vm b/pigx-visual/pigx-codegen/src/main/resources/template/magic/query.magic.vm index d93387bf1..411763855 100644 --- a/pigx-visual/pigx-codegen/src/main/resources/template/magic/query.magic.vm +++ b/pigx-visual/pigx-codegen/src/main/resources/template/magic/query.magic.vm @@ -2,10 +2,17 @@ import request; import cn.hutool.json.JSONUtil; import response; +// 基础查询语句 var queryDsl = db.${dsName}.table("${tableName}") -.where() -.eq("del_flag", 0) +// 判断是否逻辑删除 +#foreach($column in $columns) + #if($column.columnName == "del_flag") + queryDsl = queryDsl.where().eq("del_flag", 0) + #end +#end + +// 模糊查询 if (query != null) { var jsonObj = JSONUtil.parseObj(query) for (key in jsonObj.keySet()) { @@ -13,5 +20,5 @@ if (query != null) { } } -// 执行DSL 输出结果 +// 执行DSL 分页输出结果 return response.json(queryDsl.page())