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/service/impl/WfNodeConfigServiceImpl.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java
new file mode 100644
index 0000000..c677102
--- /dev/null
+++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfNodeConfigServiceImpl.java
@@ -0,0 +1,75 @@
+package org.dromara.workflow.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.utils.StreamUtils;
+import org.dromara.workflow.domain.vo.WfFormManageVo;
+import org.dromara.workflow.service.IWfFormManageService;
+import org.springframework.stereotype.Service;
+import org.dromara.workflow.domain.vo.WfNodeConfigVo;
+import org.dromara.workflow.domain.WfNodeConfig;
+import org.dromara.workflow.mapper.WfNodeConfigMapper;
+import org.dromara.workflow.service.IWfNodeConfigService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 鑺傜偣閰嶇疆Service涓氬姟灞傚鐞�
+ *
+ * @author may
+ * @date 2024-03-30
+ */
+@RequiredArgsConstructor
+@Service
+public class WfNodeConfigServiceImpl implements IWfNodeConfigService {
+
+    private final WfNodeConfigMapper baseMapper;
+    private final IWfFormManageService wfFormManageService;
+
+    /**
+     * 鏌ヨ鑺傜偣閰嶇疆
+     */
+    @Override
+    public WfNodeConfigVo queryById(Long id) {
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 淇濆瓨鑺傜偣閰嶇疆
+     */
+    @Override
+    public Boolean saveOrUpdate(List<WfNodeConfig> list) {
+        return baseMapper.insertOrUpdateBatch(list);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎鑺傜偣閰嶇疆
+     */
+    @Override
+    public Boolean deleteByIds(Collection<Long> ids) {
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+
+
+    @Override
+    public Boolean deleteByDefIds(Collection<String> ids) {
+        return baseMapper.delete(new LambdaQueryWrapper<WfNodeConfig>().in(WfNodeConfig::getDefinitionId, ids)) > 0;
+    }
+
+    @Override
+    public List<WfNodeConfigVo> selectByDefIds(Collection<String> ids) {
+        List<WfNodeConfigVo> wfNodeConfigVos = baseMapper.selectVoList(new LambdaQueryWrapper<WfNodeConfig>().in(WfNodeConfig::getDefinitionId, ids));
+        if (CollUtil.isNotEmpty(wfNodeConfigVos)) {
+            List<Long> formIds = StreamUtils.toList(wfNodeConfigVos, WfNodeConfigVo::getFormId);
+            List<WfFormManageVo> wfFormManageVos = wfFormManageService.queryByIds(formIds);
+            for (WfNodeConfigVo wfNodeConfigVo : wfNodeConfigVos) {
+                wfFormManageVos.stream().filter(e -> ObjectUtil.equals(e.getId(), wfNodeConfigVo.getFormId())).findFirst().ifPresent(wfNodeConfigVo::setWfFormManageVo);
+            }
+        }
+        return wfNodeConfigVos;
+    }
+}

--
Gitblit v1.9.3