houzhongjian
2024-11-07 a874b928e16320839315b9abcdf2cece1229a424
iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mpk/controller/admin/MpkFileController.java
@@ -4,6 +4,7 @@
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;
@@ -29,6 +30,9 @@
public class MpkFileController {
    @Autowired
    private MpkFileService mpkFileService;
    @Autowired
    private PackService packService;
    @GetMapping("page")
    @Operation(summary = "分页")
@@ -66,6 +70,7 @@
                dto.setGroupName(dto.getMenuAndGroup().get(1));
            }
        }
        dto.setPyModule(packService.getModelPath(dto.getClassName()));
        mpkFileService.save(dto);
        return CommonResult.success(true);
    }
@@ -86,20 +91,25 @@
                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")
@@ -121,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);
    }
}