diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenCodeService.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenCodeService.java index 68f760feb..596f5dadb 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenCodeService.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GenCodeService.java @@ -40,7 +40,7 @@ import java.util.zip.ZipOutputStream; */ public interface GenCodeService { - default Map gen(GenConfig genConfig, Map table, List> columns, + default Map gen(GenConfig genConfig, Map table, List> columns, ZipOutputStream zip, GenFormConf formConf) { // 构建表实体 @@ -261,7 +261,7 @@ public interface GenCodeService { * @return */ @SneakyThrows - default Map renderData(GenConfig genConfig, ZipOutputStream zip, TableEntity tableEntity, + default Map renderData(GenConfig genConfig, ZipOutputStream zip, TableEntity tableEntity, Map map, GenFormConf formConf) { // 设置velocity资源加载器 Properties prop = new Properties(); @@ -274,9 +274,10 @@ public interface GenCodeService { // 获取模板列表 List templates = getTemplates(genConfig); - Map resultMap = new LinkedHashMap<>(8); + Map resultMap = new LinkedHashMap<>(8); for (String template : templates) { + Map templatesData = new HashMap<>(); // 渲染模板 StringWriter sw = new StringWriter(); Template tpl = Velocity.getTemplate(template, CharsetUtil.UTF_8); @@ -286,6 +287,9 @@ public interface GenCodeService { String fileName = getFileName(template, tableEntity.getCaseClassName(), map.get("package").toString(), map.get("moduleName").toString()); + templatesData.put("codePath",fileName); + templatesData.put("code",sw.toString()); + if (zip != null) { try { zip.putNextEntry(new ZipEntry(Objects.requireNonNull(fileName))); @@ -296,7 +300,7 @@ public interface GenCodeService { } } - resultMap.put(template, sw.toString()); + resultMap.put(template, templatesData); } return resultMap; diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java index 470608e6e..3658ffcee 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/GeneratorService.java @@ -50,6 +50,6 @@ public interface GeneratorService { * @param genConfig 生成信息 * @return */ - Map previewCode(GenConfig genConfig); + Map previewCode(GenConfig genConfig); } 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 e6962e6d7..94ab5c7c4 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 @@ -58,7 +58,7 @@ public class GenDynamicServiceImpl implements GenDynamicService { } @Override - public Map run(GenConfig genConfig) { + public Map run(GenConfig genConfig) { // 根据tableName 查询最新的表单配置 List formConfList = genFormConfMapper.selectList(Wrappers.lambdaQuery() .eq(GenFormConf::getTableName, genConfig.getTableName()).orderByDesc(GenFormConf::getCreateTime)); @@ -68,7 +68,7 @@ public class GenDynamicServiceImpl implements GenDynamicService { GeneratorMapper mapper = magic.getMapper(genConfig.getDsName()); - Map templates = new HashMap<>(); + Map templates = new HashMap<>(); for (String tableName : StrUtil.split(tableNames, StrUtil.DASHED)) { // 查询表信息 Map table = mapper.queryTable(tableName, dsName); @@ -95,8 +95,8 @@ public class GenDynamicServiceImpl implements GenDynamicService { ApiInfo apiInfo = new ApiInfo(); apiInfo.setId(id + "_query"); - String script = templates.get("template/magic/query.magic.vm"); - apiInfo.setScript(script); + Map script = templates.get("template/magic/query.magic.vm"); + apiInfo.setScript(script.get("code")); apiInfo.setName("分页"); apiInfo.setPath("/list"); apiInfo.setMethod("post"); @@ -105,8 +105,8 @@ public class GenDynamicServiceImpl implements GenDynamicService { ApiInfo delApiInfo = new ApiInfo(); delApiInfo.setId(id + "_del"); - String delScript = templates.get("template/magic/del.magic.vm"); - delApiInfo.setScript(delScript); + Map delScript = templates.get("template/magic/del.magic.vm"); + delApiInfo.setScript(delScript.get("code")); delApiInfo.setName("删除"); delApiInfo.setPath("/delete"); delApiInfo.setMethod("delete"); @@ -115,8 +115,8 @@ public class GenDynamicServiceImpl implements GenDynamicService { ApiInfo addApiInfo = new ApiInfo(); addApiInfo.setId(id + "_add"); - String addScript = templates.get("template/magic/add.magic.vm"); - addApiInfo.setScript(addScript); + Map addScript = templates.get("template/magic/add.magic.vm"); + addApiInfo.setScript(addScript.get("code")); addApiInfo.setName("添加"); addApiInfo.setPath("/save"); addApiInfo.setMethod("post"); @@ -125,8 +125,8 @@ public class GenDynamicServiceImpl implements GenDynamicService { ApiInfo updateApiInfo = new ApiInfo(); updateApiInfo.setId(id + "_update"); - String updateScript = templates.get("template/magic/update.magic.vm"); - updateApiInfo.setScript(updateScript); + Map updateScript = templates.get("template/magic/update.magic.vm"); + updateApiInfo.setScript(updateScript.get("code")); updateApiInfo.setName("修改"); updateApiInfo.setPath("/update"); updateApiInfo.setMethod("put"); @@ -135,8 +135,8 @@ public class GenDynamicServiceImpl implements GenDynamicService { ApiInfo metadataApiInfo = new ApiInfo(); metadataApiInfo.setId(id + "metadata"); - String metadataScript = templates.get("template/magic/metadata.magic.vm"); - metadataApiInfo.setScript(metadataScript); + Map metadataScript = templates.get("template/magic/metadata.magic.vm"); + metadataApiInfo.setScript(metadataScript.get("code")); metadataApiInfo.setName("元数据"); metadataApiInfo.setPath("/metadata"); metadataApiInfo.setMethod("get"); diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java index ef7294836..d442db2d0 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GeneratorServiceImpl.java @@ -74,7 +74,7 @@ public class GeneratorServiceImpl implements GeneratorService { } @Override - public Map previewCode(GenConfig genConfig) { + public Map previewCode(GenConfig genConfig) { // 根据tableName 查询最新的表单配置 List formConfList = genFormConfMapper.selectList(Wrappers.lambdaQuery() .eq(GenFormConf::getTableName, genConfig.getTableName()).orderByDesc(GenFormConf::getCreateTime)); diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/AvueGenCodeServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/AvueGenCodeServiceImpl.java index 9e9da2e7a..a0736e9d4 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/AvueGenCodeServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/temp/AvueGenCodeServiceImpl.java @@ -81,24 +81,29 @@ public class AvueGenCodeServiceImpl implements GenCodeService { * @return */ @SneakyThrows - public Map renderData(GenConfig genConfig, ZipOutputStream zip, TableEntity tableEntity, + public Map renderData(GenConfig genConfig, ZipOutputStream zip, TableEntity tableEntity, Map map, GenFormConf formConf) { - Map resultMap = new HashMap<>(); + Map resultMap = new HashMap<>(); if (Objects.nonNull(formConf)) { + Map templatesData = new HashMap<>(); // 存在 curd 存在设计好的JSON 则使用Json 覆盖 String crudTempName = "template/avue/crud.js.vm"; String fileName = getFileName(crudTempName, tableEntity.getCaseClassName(), map.get("package").toString(), map.get("moduleName").toString()); String contents = CRUD_PREFIX + formConf.getFormInfo(); + templatesData.put("codePath",fileName); + templatesData.put("code",contents); + if (zip != null) { zip.putNextEntry(new ZipEntry(Objects.requireNonNull(fileName))); IoUtil.write(zip, StandardCharsets.UTF_8, false, contents); } resultMap.putAll(GenCodeService.super.renderData(genConfig, zip, tableEntity, map, formConf)); - resultMap.put(crudTempName, contents); + + resultMap.put(crudTempName, templatesData); return resultMap; } return GenCodeService.super.renderData(genConfig, zip, tableEntity, map, formConf);