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/ActProcessDefinitionController.java |  147 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 147 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java
new file mode 100644
index 0000000..5198bd1
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/ActProcessDefinitionController.java
@@ -0,0 +1,147 @@
+package org.dromara.workflow.controller;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+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.ProcessDefinitionBo;
+import org.dromara.workflow.domain.vo.ProcessDefinitionVo;
+import org.dromara.workflow.service.IActProcessDefinitionService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 娴佺▼瀹氫箟绠$悊 鎺у埗灞�
+ *
+ * @author may
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/workflow/processDefinition")
+public class ActProcessDefinitionController extends BaseController {
+
+    private final IActProcessDefinitionService actProcessDefinitionService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param bo 鍙傛暟
+     */
+    @GetMapping("/list")
+    public TableDataInfo<ProcessDefinitionVo> page(ProcessDefinitionBo bo, PageQuery pageQuery) {
+        return actProcessDefinitionService.page(bo, pageQuery);
+    }
+
+    /**
+     * 鏌ヨ鍘嗗彶娴佺▼瀹氫箟鍒楄〃
+     *
+     * @param key 娴佺▼瀹氫箟key
+     */
+    @GetMapping("/getListByKey/{key}")
+    public R<List<ProcessDefinitionVo>> getListByKey(@NotEmpty(message = "娴佺▼瀹氫箟key涓嶈兘涓虹┖") @PathVariable String key) {
+        return R.ok("鎿嶄綔鎴愬姛", actProcessDefinitionService.getListByKey(key));
+    }
+
+    /**
+     * 鏌ョ湅娴佺▼瀹氫箟鍥剧墖
+     *
+     * @param processDefinitionId 娴佺▼瀹氫箟id
+     */
+    @GetMapping("/definitionImage/{processDefinitionId}")
+    public R<String> definitionImage(@PathVariable String processDefinitionId) {
+        return R.ok("鎿嶄綔鎴愬姛", actProcessDefinitionService.definitionImage(processDefinitionId));
+    }
+
+    /**
+     * 鏌ョ湅娴佺▼瀹氫箟xml鏂囦欢
+     *
+     * @param processDefinitionId 娴佺▼瀹氫箟id
+     */
+    @GetMapping("/definitionXml/{processDefinitionId}")
+    public R<Map<String, Object>> definitionXml(@NotBlank(message = "娴佺▼瀹氫箟id涓嶈兘涓虹┖") @PathVariable String processDefinitionId) {
+        Map<String, Object> map = new HashMap<>();
+        String xmlStr = actProcessDefinitionService.definitionXml(processDefinitionId);
+        map.put("xml", Arrays.asList(xmlStr.split("\n")));
+        map.put("xmlStr", xmlStr);
+        return R.ok(map);
+    }
+
+    /**
+     * 鍒犻櫎娴佺▼瀹氫箟
+     *
+     * @param deploymentIds        閮ㄧ讲id
+     * @param processDefinitionIds 娴佺▼瀹氫箟id
+     */
+    @Log(title = "娴佺▼瀹氫箟绠$悊", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{deploymentIds}/{processDefinitionIds}")
+    public R<Void> deleteDeployment(@NotNull(message = "娴佺▼閮ㄧ讲id涓嶈兘涓虹┖") @PathVariable List<String> deploymentIds,
+                                    @NotNull(message = "娴佺▼瀹氫箟id涓嶈兘涓虹┖") @PathVariable List<String> processDefinitionIds) {
+        return toAjax(actProcessDefinitionService.deleteDeployment(deploymentIds, processDefinitionIds));
+    }
+
+    /**
+     * 婵�娲绘垨鑰呮寕璧锋祦绋嬪畾涔�
+     *
+     * @param processDefinitionId 娴佺▼瀹氫箟id
+     */
+    @Log(title = "娴佺▼瀹氫箟绠$悊", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping("/updateDefinitionState/{processDefinitionId}")
+    public R<Void> updateDefinitionState(@NotBlank(message = "娴佺▼瀹氫箟id涓嶈兘涓虹┖") @PathVariable String processDefinitionId) {
+        return toAjax(actProcessDefinitionService.updateDefinitionState(processDefinitionId));
+    }
+
+    /**
+     * 杩佺Щ娴佺▼瀹氫箟
+     *
+     * @param currentProcessDefinitionId 褰撳墠娴佺▼瀹氫箟id
+     * @param fromProcessDefinitionId    闇�瑕佽縼绉诲埌鐨勬祦绋嬪畾涔塱d
+     */
+    @Log(title = "娴佺▼瀹氫箟绠$悊", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping("/migrationDefinition/{currentProcessDefinitionId}/{fromProcessDefinitionId}")
+    public R<Void> migrationDefinition(@NotBlank(message = "褰撳墠娴佺▼瀹氫箟id") @PathVariable String currentProcessDefinitionId,
+                                       @NotBlank(message = "闇�瑕佽縼绉诲埌鐨勬祦绋嬪畾涔塱d") @PathVariable String fromProcessDefinitionId) {
+        return toAjax(actProcessDefinitionService.migrationDefinition(currentProcessDefinitionId, fromProcessDefinitionId));
+    }
+
+    /**
+     * 娴佺▼瀹氫箟杞崲涓烘ā鍨�
+     *
+     * @param processDefinitionId 娴佺▼瀹氫箟id
+     */
+    @Log(title = "娴佺▼瀹氫箟绠$悊", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping("/convertToModel/{processDefinitionId}")
+    public R<Void> convertToModel(@NotEmpty(message = "娴佺▼瀹氫箟id涓嶈兘涓虹┖") @PathVariable String processDefinitionId) {
+        return toAjax(actProcessDefinitionService.convertToModel(processDefinitionId));
+    }
+
+    /**
+     * 閫氳繃zip鎴杧ml閮ㄧ讲娴佺▼瀹氫箟
+     *
+     * @param file         鏂囦欢
+     * @param categoryCode 鍒嗙被
+     */
+    @Log(title = "娴佺▼瀹氫箟绠$悊", businessType = BusinessType.INSERT)
+    @PostMapping("/deployByFile")
+    public void deployByFile(@RequestParam("file") MultipartFile file, @RequestParam("categoryCode") String categoryCode) {
+        actProcessDefinitionService.deployByFile(file, categoryCode);
+    }
+
+}

--
Gitblit v1.9.3