From 69e3afc7707d467b758858b52d3784947f7a502b Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 五月 2024 10:25:23 +0800 Subject: [PATCH] !538 ♥️发布 5.2.0-BETA 公测版本 Merge pull request !538 from 疯狂的狮子Li/dev --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 147 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java new file mode 100644 index 0000000..3332f86 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActModelController.java @@ -0,0 +1,147 @@ +package org.dromara.workflow.controller; + +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotEmpty; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.workflow.domain.bo.ModelBo; +import org.dromara.workflow.domain.vo.ModelVo; +import org.dromara.workflow.service.IActModelService; +import org.flowable.engine.RepositoryService; +import org.flowable.engine.repository.Model; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 妯″瀷绠$悊 鎺у埗灞� + * + * @author may + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/workflow/model") +public class ActModelController extends BaseController { + + private final RepositoryService repositoryService; + + private final IActModelService actModelService; + + + /** + * 鍒嗛〉鏌ヨ妯″瀷 + * + * @param modelBo 妯″瀷鍙傛暟 + */ + @GetMapping("/list") + public TableDataInfo<Model> page(ModelBo modelBo, PageQuery pageQuery) { + return actModelService.page(modelBo, pageQuery); + } + + /** + * 鏂板妯″瀷 + * + * @param modelBo 妯″瀷璇锋眰瀵硅薄 + */ + @Log(title = "妯″瀷绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/save") + public R<Void> saveNewModel(@Validated(AddGroup.class) @RequestBody ModelBo modelBo) { + return toAjax(actModelService.saveNewModel(modelBo)); + } + + /** + * 鏌ヨ妯″瀷 + * + * @param id 妯″瀷id + */ + @GetMapping("/getInfo/{id}") + public R<ModelVo> getInfo(@NotBlank(message = "妯″瀷id涓嶈兘涓虹┖") @PathVariable String id) { + return R.ok(actModelService.getInfo(id)); + } + + /** + * 淇敼妯″瀷淇℃伅 + * + * @param modelBo 妯″瀷鏁版嵁 + */ + @Log(title = "妯″瀷绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping(value = "/update") + public R<Void> update(@RequestBody ModelBo modelBo) { + return toAjax(actModelService.update(modelBo)); + } + + /** + * 缂栬緫XMl妯″瀷 + * + * @param modelBo 妯″瀷鏁版嵁 + */ + @Log(title = "妯″瀷绠$悊", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping(value = "/editModelXml") + public R<Void> editModel(@Validated(EditGroup.class) @RequestBody ModelBo modelBo) { + return toAjax(actModelService.editModelXml(modelBo)); + } + + /** + * 鍒犻櫎娴佺▼妯″瀷 + * + * @param ids 妯″瀷id + */ + @Log(title = "妯″瀷绠$悊", businessType = BusinessType.DELETE) + @RepeatSubmit() + @DeleteMapping("/{ids}") + @Transactional(rollbackFor = Exception.class) + public R<Void> delete(@NotEmpty(message = "涓婚敭涓嶈兘涓虹┖") @PathVariable String[] ids) { + Arrays.stream(ids).parallel().forEachOrdered(repositoryService::deleteModel); + return R.ok(); + } + + /** + * 妯″瀷閮ㄧ讲 + * + * @param id 妯″瀷id + */ + @Log(title = "妯″瀷绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/modelDeploy/{id}") + public R<Void> deploy(@NotBlank(message = "妯″瀷id涓嶈兘涓虹┖") @PathVariable("id") String id) { + return toAjax(actModelService.modelDeploy(id)); + } + + /** + * 瀵煎嚭妯″瀷zip鍘嬬缉鍖� + * + * @param modelIds 妯″瀷id + * @param response 鐩稿簲 + */ + @GetMapping("/export/zip/{modelIds}") + public void exportZip(@NotEmpty(message = "妯″瀷id涓嶈兘涓虹┖") @PathVariable List<String> modelIds, + HttpServletResponse response) { + actModelService.exportZip(modelIds, response); + } + + /** + * 澶嶅埗妯″瀷 + * + * @param modelBo 妯″瀷鏁版嵁 + */ + @PostMapping("/copyModel") + public R<Void> copyModel(@RequestBody ModelBo modelBo) { + return toAjax(actModelService.copyModel(modelBo)); + } +} -- Gitblit v1.9.3