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 | 91 +++++++++++++++++++++++++++++++-------------- 1 files changed, 62 insertions(+), 29 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 bba6bb7..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 @@ -1,15 +1,14 @@ package com.iailab.module.model.mpk.controller.admin; -import com.alibaba.fastjson.JSON; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.pojo.CommonResult; -import com.iailab.framework.common.util.date.DateUtils; -import com.iailab.module.model.mpk.common.utils.Readtxt; import com.iailab.module.model.mpk.dto.MpkFileDTO; -import com.iailab.module.model.mpk.service.MdkFileService; +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; @@ -30,65 +29,94 @@ @RequestMapping("/model/mpk/file") public class MpkFileController { @Autowired - private MdkFileService mdkFileService; + private MpkFileService mpkFileService; + + @Autowired + private PackService packService; @GetMapping("page") @Operation(summary = "分页") + @PreAuthorize("@ss.hasPermission('mpk:file:query')") public CommonResult<PageData<MpkFileDTO>> page(@RequestParam Map<String, Object> params) { - PageData<MpkFileDTO> page = mdkFileService.page(params); - + PageData<MpkFileDTO> page = mpkFileService.page(params); return success(page); } + @PreAuthorize("@ss.hasPermission('mpk:file:query')") @GetMapping("{id}") public CommonResult<MpkFileDTO> info(@PathVariable("id") String id) { - MpkFileDTO schedule = mdkFileService.get(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); } + @PreAuthorize("@ss.hasPermission('mpk:file:query')") @GetMapping("list") public CommonResult<List<MpkFileDTO>> list() { - List<MpkFileDTO> list = mdkFileService.list(new HashMap<>()); + List<MpkFileDTO> list = mpkFileService.list(new HashMap<>()); return success(list); } + @PreAuthorize("@ss.hasPermission('mpk:file:create')") @PostMapping - public CommonResult save(@RequestBody MpkFileDTO dto) { - mdkFileService.save(dto); - return CommonResult.success(); + 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); } + @PreAuthorize("@ss.hasPermission('mpk:file:delete')") @DeleteMapping - public CommonResult delete(String id) { - mdkFileService.delete(id); - return CommonResult.success(); + public CommonResult<Boolean> delete(String id) { + mpkFileService.delete(id); + return CommonResult.success(true); } + @PreAuthorize("@ss.hasPermission('mpk:file:update')") @PutMapping - public CommonResult update(@RequestBody MpkFileDTO dto) { - mdkFileService.update(dto); - return CommonResult.success(); + 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 = mdkFileService.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") public void packageModel(String ids ,String projectId,String log ,String projectName,String version,String zipFileName,HttpServletResponse response) throws IOException { byte[] data; try { - data = mdkFileService.packageModel(Arrays.asList(ids.split(",")),projectId,projectName,zipFileName,log,version); + data = mpkFileService.packageModel(Arrays.asList(ids.split(",")),projectId,projectName,zipFileName,log,version); } catch (InterruptedException e) { throw new RuntimeException("模型打包失败",e); } @@ -103,8 +131,13 @@ @PostMapping("/upload") @Operation(summary = "python文件上传") - public CommonResult<Map<String,String>> importExcel(@RequestParam("file") MultipartFile file) throws Exception { - Map<String,String> result = mdkFileService.savePyFile(file); + 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