From a874b928e16320839315b9abcdf2cece1229a424 Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期四, 07 十一月 2024 09:20:38 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java
index f172db5..74f7a1b 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java
@@ -4,10 +4,12 @@
 import com.iailab.framework.common.pojo.CommonResult;
 import com.iailab.module.model.mpk.dto.MpkFileDTO;
 import com.iailab.module.model.mpk.service.MpkFileService;
+import com.iailab.module.model.mpk.service.PackService;
 import io.swagger.v3.oas.annotations.Operation;
 import org.apache.commons.io.IOUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -29,6 +31,9 @@
     @Autowired
     private MpkFileService mpkFileService;
 
+    @Autowired
+    private PackService packService;
+
     @GetMapping("page")
     @Operation(summary = "分页")
     @PreAuthorize("@ss.hasPermission('mpk:file:query')")
@@ -41,6 +46,10 @@
     @GetMapping("{id}")
     public CommonResult<MpkFileDTO> info(@PathVariable("id") String id) {
         MpkFileDTO schedule = mpkFileService.get(id);
+        List<String> menuAndGroup = new ArrayList<>();
+        menuAndGroup.add(schedule.getMenuName());
+        menuAndGroup.add(schedule.getGroupName());
+        schedule.setMenuAndGroup(menuAndGroup);
         return success(schedule);
     }
 
@@ -55,6 +64,13 @@
     @PreAuthorize("@ss.hasPermission('mpk:file:create')")
     @PostMapping
     public CommonResult<Boolean> save(@RequestBody MpkFileDTO dto) {
+        if (!CollectionUtils.isEmpty(dto.getMenuAndGroup())) {
+            dto.setMenuName(dto.getMenuAndGroup().get(0));
+            if (dto.getMenuAndGroup().size() > 1) {
+                dto.setGroupName(dto.getMenuAndGroup().get(1));
+            }
+        }
+        dto.setPyModule(packService.getModelPath(dto.getClassName()));
         mpkFileService.save(dto);
         return CommonResult.success(true);
     }
@@ -69,20 +85,31 @@
     @PreAuthorize("@ss.hasPermission('mpk:file:update')")
     @PutMapping
     public CommonResult<Boolean> update(@RequestBody MpkFileDTO dto) {
+        if (!CollectionUtils.isEmpty(dto.getMenuAndGroup())) {
+            dto.setMenuName(dto.getMenuAndGroup().get(0));
+            if (dto.getMenuAndGroup().size() > 1) {
+                dto.setGroupName(dto.getMenuAndGroup().get(1));
+            }
+        }
+        dto.setPyModule(packService.getModelPath(dto.getClassName()));
         mpkFileService.update(dto);
         return CommonResult.success(true);
     }
 
     @GetMapping("generat")
-    public void generat(String id, String remark,String zipFileName, HttpServletResponse response) throws IOException {
-        byte[] data = mpkFileService.generatorCode(id, remark,zipFileName);
+    public void generat(String id, String remark,String zipFileName, HttpServletResponse response) {
+        try {
+            byte[] data = mpkFileService.generatorCode(id, remark,zipFileName);
 
-        response.reset();
-        response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(zipFileName, "UTF-8") + "\"");
-        response.addHeader("Content-Length", "" + data.length);
-        response.setContentType("application/octet-stream; charset=UTF-8");
+            response.reset();
+            response.setHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(zipFileName, "UTF-8") + "\"");
+            response.addHeader("Content-Length", "" + data.length);
+            response.setContentType("application/octet-stream; charset=UTF-8");
 
-        IOUtils.write(data, response.getOutputStream());
+            IOUtils.write(data, response.getOutputStream());
+        } catch (Exception e) {
+            throw new RuntimeException("代码生成异常",e);
+        }
     }
 
     @GetMapping("packageModel")
@@ -104,8 +131,13 @@
 
     @PostMapping("/upload")
     @Operation(summary = "python文件上传")
-    public CommonResult<Map<String,String>> importExcel(@RequestParam("file") MultipartFile file) throws Exception {
+    public CommonResult<Map<String,String>> upload(@RequestParam("file") MultipartFile file) throws Exception {
         Map<String,String> result = mpkFileService.savePyFile(file);
         return success(result);
     }
+
+    @PostMapping("/publish")
+    public CommonResult<String> publish(@RequestBody Map<String, Object> params) {
+        return mpkFileService.publish(params);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3