pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/codegenerator/controller/GeneratorController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ks/codegenerator/utils/ServiceBuilder.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/static/service.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pom.xml
@@ -49,6 +49,21 @@ <artifactId>commons-compress</artifactId> <version>1.18</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.7</version> </dependency> <!-- 常用工具 --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> </dependencies> <build> src/main/java/com/ks/codegenerator/controller/GeneratorController.java
@@ -7,8 +7,8 @@ import org.yeshi.utils.StringUtil; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import java.io.*; /** * @author hxh @@ -20,7 +20,8 @@ @Controller public class GeneratorController { @RequestMapping("service") //生成service @RequestMapping("createService") public void service(String name, String pks, String subpks, PrintWriter out, HttpServletRequest request) { if (StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(pks) || StringUtil.isNullOrEmpty(subpks)) { out.print(JsonUtil.loadFalseResult("项目名称,项目包名,应用包名不能为空")); @@ -28,13 +29,34 @@ } String rootPath = request.getServletContext().getRealPath("cache"); try { new ServiceBuilder().setCacheDir(rootPath).setName(name).setPks(pks).setSubpks(subpks).build(); String path = new ServiceBuilder().setCacheDir(rootPath).setName(name).setPks(pks).setSubpks(subpks).build(); out.print(JsonUtil.loadTrueResult(path)); } catch (Exception e) { e.printStackTrace(); out.print(JsonUtil.loadFalseResult(e.getMessage())); } } @RequestMapping("downloadServiceZIP") public void downloadServiceZIP(String name, HttpServletResponse response) throws IOException { if (!new File(name).exists()) { response.sendError(406, "问价已被删除"); return; } response.setHeader("content-disposition", "attachment;filename=" + new File(name).getName()); //4.获取要下载的文件输入流 InputStream in = new FileInputStream(new File(name).getAbsolutePath()); int len = 0; //5.创建数据缓冲区 byte[] buffer = new byte[1024]; //6.通过response对象获取OutputStream流 OutputStream out = response.getOutputStream(); //7.将FileInputStream流写入到buffer缓冲区 while ((len = in.read(buffer)) > 0) { //8.使用OutputStream将缓冲区的数据输出到客户端浏览器 out.write(buffer, 0, len); } in.close(); } src/main/java/com/ks/codegenerator/utils/ServiceBuilder.java
@@ -69,10 +69,11 @@ renamePackage(destPath + "/app/src/main/java/com/ks/app"); replaceSettings(destPath); //压缩文件夹 ZipUtil.compressToZip(destPath, new File(destPath).getParent(), new File(destPath).getName() + ".zip"); File zip = new File(new File(destPath).getParent(), new File(destPath).getName() + ".zip"); ZipUtil.compressToZip(destPath, zip.getParent(), zip.getName()); //删除原来的文件夹 FileUtil.deleteFileDir(new File(destPath)); return destPath; return zip.getAbsolutePath(); } private void replaceSettings(String path) throws Exception { src/main/resources/static/service.html
@@ -88,11 +88,16 @@ }); function startDownLoad() { ksapp.post("api/generator/service", { ksapp.post("api/generator/createService", { name: $("input[type=text]").eq(0).val(), pks: $("input[type=text]").eq(1).val(), subpks: $("input[type=text]").eq(2).val() }, function (res) { if (res.code == 0) { window.location.href = "api/generator/downloadServiceZIP?name=" + encodeURIComponent(res.data) } else { layer.msg(res.msg); } }, function (res) {