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())