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