admin
2021-11-13 0f0fdfa45ec10981c466b5732964e8f378f1c0af
bug修复
4个文件已修改
59 ■■■■ 已修改文件
pom.xml 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ks/codegenerator/controller/GeneratorController.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ks/codegenerator/utils/ServiceBuilder.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/static/service.html 7 ●●●● 补丁 | 查看 | 原始文档 | 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) {