From 2c2ac6d032dcf4242fa47dfd589c5da479bafc3b Mon Sep 17 00:00:00 2001
From: xiayebo <364530740@qq.com>
Date: Mon, 12 Jan 2026 09:17:24 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E6=A8=A1=E7=89=88?=
=?UTF-8?q?=E7=94=9F=E6=88=90=E7=9B=B8=E5=85=B3=E4=BE=9D=E8=B5=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 14 ++
.../codegen/controller/CodeGenController.java | 42 ++++++
.../codegen/controller/LoginController.java | 52 ++++++-
.../codegen/service/CodeGenService.java | 10 ++
.../service/impl/CodeGenServiceImpl.java | 22 +++
src/main/resources/application.yml | 2 +-
.../com/cczsa/xinghe/codegen/CodeGenTest.java | 128 ++++++++++++++++++
7 files changed, 264 insertions(+), 6 deletions(-)
create mode 100644 src/main/java/com/cczsa/xinghe/codegen/controller/CodeGenController.java
create mode 100644 src/main/java/com/cczsa/xinghe/codegen/service/CodeGenService.java
create mode 100644 src/main/java/com/cczsa/xinghe/codegen/service/impl/CodeGenServiceImpl.java
create mode 100644 src/test/java/com/cczsa/xinghe/codegen/CodeGenTest.java
diff --git a/pom.xml b/pom.xml
index 681680d..1a57c57 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,7 @@
4.4.0
9.1.0.Final
2.8.15
+ 4.3.4
@@ -96,6 +97,19 @@
hibernate-validator
${hibernate-validator.version}
+
+
+ org.antlr
+ ST4
+ ${ST4.version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
diff --git a/src/main/java/com/cczsa/xinghe/codegen/controller/CodeGenController.java b/src/main/java/com/cczsa/xinghe/codegen/controller/CodeGenController.java
new file mode 100644
index 0000000..bb513f7
--- /dev/null
+++ b/src/main/java/com/cczsa/xinghe/codegen/controller/CodeGenController.java
@@ -0,0 +1,42 @@
+package com.cczsa.xinghe.codegen.controller;
+
+import com.cczsa.xinghe.codegen.service.CodeGenService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author xia
+ * @date 2026/1/10
+ * @version 0.0.1
+ */
+@RestController
+@RequestMapping("/codegen")
+@RequiredArgsConstructor
+public class CodeGenController {
+
+ private final CodeGenService codeGenService;
+
+ @PostMapping("/download")
+ public ResponseEntity downloadCode() {
+ try {
+ byte[] zipData = codeGenService.generateCodeZip();
+
+ return ResponseEntity.ok()
+ // 设置下载文件名
+ .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"generated-code.zip\"")
+ // 设置为二进制流
+ .contentType(MediaType.APPLICATION_OCTET_STREAM)
+ .contentLength(zipData.length)
+ .body(zipData);
+ } catch (Exception e) {
+ return ResponseEntity.internalServerError().build();
+ }
+ }
+
+
+}
diff --git a/src/main/java/com/cczsa/xinghe/codegen/controller/LoginController.java b/src/main/java/com/cczsa/xinghe/codegen/controller/LoginController.java
index cb2006f..47d0d10 100644
--- a/src/main/java/com/cczsa/xinghe/codegen/controller/LoginController.java
+++ b/src/main/java/com/cczsa/xinghe/codegen/controller/LoginController.java
@@ -1,12 +1,22 @@
package com.cczsa.xinghe.codegen.controller;
+import com.alibaba.fastjson2.JSONObject;
import com.cczsa.xinghe.codegen.util.XResult;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
/**
*
* @author xia
@@ -14,17 +24,49 @@ import org.springframework.web.bind.annotation.RestController;
* @version 0.0.1
*
*/
+@Slf4j
@Tag(name = "登录")
@RequiredArgsConstructor
@RestController
-@RequestMapping("/login")
public class LoginController {
- @PostMapping("/")
- public XResult login(String username, String password) {
- return null;
+
+
+ @Operation(summary = "登录", description = "登录")
+ @PostMapping("/login")
+ @Parameters({
+ @Parameter(name = "username", description = "用户名", required = true),
+ @Parameter(name = "password", description = "密码", required = true)
+ })
+ public XResult