diff --git a/slife-code/pom.xml b/slife-code/pom.xml
index ee54f4b..519952a 100644
--- a/slife-code/pom.xml
+++ b/slife-code/pom.xml
@@ -12,5 +12,12 @@
+ * Email 122741482@qq.com + *
+ * Describe: + */ +public class CodeBaseController { + + /** + * 设置response 头部信息 + * @param response + * @param data + * @param zipName + */ + public void setResponseHead(HttpServletResponse response, byte[] data ,String zipName){ + response.reset(); + response.setHeader("Content-Disposition", "attachment; filename="+zipName); + response.addHeader("Content-Length", "" + data.length); + response.setContentType("application/octet-stream; charset=UTF-8"); + } +} diff --git a/slife-code/src/main/java/com/slife/controller/PomController.java b/slife-code/src/main/java/com/slife/controller/PomController.java new file mode 100644 index 0000000..7db92ae --- /dev/null +++ b/slife-code/src/main/java/com/slife/controller/PomController.java @@ -0,0 +1,50 @@ +package com.slife.controller; + +import com.slife.service.IPomService; +import org.apache.commons.io.IOUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +/** + * Created by chen on 2017/12/28. + *
+ * Email 122741482@qq.com + *
+ * Describe: + */ +@Controller +@RequestMapping("/code/pom") +public class PomController extends CodeBaseController{ + + @Autowired + private IPomService pomService; + + /** + * 创建一个 pom项目 + * @param response + * @param parentVersion + * @param artifactId + * @param pomName + * @param packageName + * @param description + * @throws IOException + */ + @GetMapping("/create") + public void create( HttpServletResponse response, + @RequestParam("parentVersion") String parentVersion, + @RequestParam("artifactId") String artifactId, + @RequestParam("pomName") String pomName, + @RequestParam("packageName") String packageName, + @RequestParam(value = "description",required = false) String description) throws IOException { + + byte[] data = pomService.createMavenCode(parentVersion,artifactId,pomName,packageName,description); + setResponseHead(response,data,artifactId); + IOUtils.write(data, response.getOutputStream()); + } + +} diff --git a/slife-code/src/main/java/com/slife/service/IPomService.java b/slife-code/src/main/java/com/slife/service/IPomService.java new file mode 100644 index 0000000..1d50cff --- /dev/null +++ b/slife-code/src/main/java/com/slife/service/IPomService.java @@ -0,0 +1,26 @@ +package com.slife.service; + +import org.springframework.stereotype.Service; + +/** + * Created by chen on 2017/12/28. + *
+ * Email 122741482@qq.com + *
+ * Describe: + */ +@Service +public interface IPomService { + + + /** + * 生成 maven 项目 + * @param parentVersion + * @param artifactId + * @param pomName + * @param packageName + * @param description + * @return + */ + byte[] createMavenCode(String parentVersion, String artifactId, String pomName,String packageName, String description) ; +} diff --git a/slife-code/src/main/java/com/slife/service/impl/PomService.java b/slife-code/src/main/java/com/slife/service/impl/PomService.java new file mode 100644 index 0000000..26e8ce6 --- /dev/null +++ b/slife-code/src/main/java/com/slife/service/impl/PomService.java @@ -0,0 +1,54 @@ +package com.slife.service.impl; + +import com.slife.service.IPomService; +import org.apache.commons.io.IOUtils; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayOutputStream; +import java.util.zip.ZipOutputStream; + +/** + * Created by chen on 2017/12/28. + *
+ * Email 122741482@qq.com + *
+ * Describe:
+ */
+@Service
+public class PomService implements IPomService {
+
+ /**
+ * 生成 maven 项目
+ * @param parentVersion
+ * @param artifactId
+ * @param pomName
+ * @param packageName
+ * @param description
+ * @return
+ */
+ @Override
+ public byte[] createMavenCode(String parentVersion, String artifactId, String pomName,String packageName, String
+ description) {
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ ZipOutputStream zip = new ZipOutputStream(outputStream);
+ createPomFile(parentVersion,artifactId,pomName,description);
+ createSrcFile(packageName);
+ IOUtils.closeQuietly(zip);
+ return outputStream.toByteArray();
+ }
+
+
+ private void createPomFile(String parentVersion, String artifactId,
+ String pomName, String description) {
+ }
+
+
+
+ private void createSrcFile(String packageName) {
+
+ }
+
+
+
+
+}
diff --git a/slife-sys/pom.xml b/slife-sys/pom.xml
index e373883..a759aec 100644
--- a/slife-sys/pom.xml
+++ b/slife-sys/pom.xml
@@ -12,7 +12,6 @@