From f19071bd5e0007fc823f99cdfa0196391827da1e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 11 五月 2022 18:46:35 +0800 Subject: [PATCH] 'android项目完善' --- src/main/java/com/ks/codegenerator/controller/GeneratorController.java | 62 +++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/ks/codegenerator/controller/GeneratorController.java b/src/main/java/com/ks/codegenerator/controller/GeneratorController.java index d5833ce..e32272e 100644 --- a/src/main/java/com/ks/codegenerator/controller/GeneratorController.java +++ b/src/main/java/com/ks/codegenerator/controller/GeneratorController.java @@ -1,14 +1,16 @@ package com.ks.codegenerator.controller; +import com.ks.codegenerator.utils.AndroidBuilder; import com.ks.codegenerator.utils.ServiceBuilder; +import com.ks.codegenerator.vo.ServiceVO; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.yeshi.utils.JsonUtil; 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,22 +22,66 @@ @Controller public class GeneratorController { - @RequestMapping("service") - 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("椤圭洰鍚嶇О锛岄」鐩寘鍚嶏紝搴旂敤鍖呭悕涓嶈兘涓虹┖")); + //鐢熸垚service + @RequestMapping("createService") + public void service(ServiceVO vo, PrintWriter out, HttpServletRequest request) { + if (StringUtil.isNullOrEmpty(vo.getName()) || StringUtil.isNullOrEmpty(vo.getPks()) || StringUtil.isNullOrEmpty(vo.getSubpks()) || StringUtil.isNullOrEmpty(vo.getChineseName())) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); return; } + + if (StringUtil.isNullOrEmpty(vo.getSqlDataBaseName()) || StringUtil.isNullOrEmpty(vo.getSqlTablePrefix()) || StringUtil.isNullOrEmpty(vo.getMongoDataBaseName())) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } + + 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(vo.getName()).setPks(vo.getPks()).setSubpks(vo.getSubpks()).setProjectChineseName(vo.getChineseName()).setMongoDatabaseName(vo.getMongoDataBaseName()).setSqlDatabaseName(vo.getSqlDataBaseName()).setSqlTablePrefix(vo.getSqlTablePrefix()).build(); + out.print(JsonUtil.loadTrueResult(path)); } catch (Exception e) { e.printStackTrace(); out.print(JsonUtil.loadFalseResult(e.getMessage())); } + } + @RequestMapping("createAndroid") + public void android(String name, String pks, PrintWriter out, HttpServletRequest request) { + if (StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(pks)) { + out.print(JsonUtil.loadFalseResult("椤圭洰鍚嶇О锛岄」鐩寘鍚嶄笉鑳戒负绌�")); + return; + } + String rootPath = request.getServletContext().getRealPath("cache"); + try { + String path = new AndroidBuilder().setCacheDir(rootPath).setName(name).setPks(pks).build(); + out.print(JsonUtil.loadTrueResult(path)); + } catch (Exception e) { + e.printStackTrace(); + out.print(JsonUtil.loadFalseResult(e.getMessage())); + } + } + @RequestMapping("downloadZIP") + 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.灏咶ileInputStream娴佸啓鍏ュ埌buffer缂撳啿鍖� + while ((len = in.read(buffer)) > 0) { + //8.浣跨敤OutputStream灏嗙紦鍐插尯鐨勬暟鎹緭鍑哄埌瀹㈡埛绔祻瑙堝櫒 + out.write(buffer, 0, len); + } + in.close(); } -- Gitblit v1.8.0