Browse Source

新闻流程走完发消息

phoenix 1 year ago
parent
commit
84fd9099eb

+ 30 - 0
src/main/java/com/xjrsoft/module/liteflow/node/NewsSendMessageNode.java

@@ -0,0 +1,30 @@
+package com.xjrsoft.module.liteflow.node;
+
+import cn.hutool.core.convert.Convert;
+import com.xjrsoft.module.oa.service.INewsService;
+import com.yomahub.liteflow.core.NodeComponent;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * 新闻审核成功后发送消息
+ */
+@Component("news_send_message_node")
+public class NewsSendMessageNode extends NodeComponent {
+    @Autowired
+    private INewsService newsService;
+
+    @Override
+    public void process() throws Exception {
+        // 获取表单中数据编号
+        Map<String, Object> params = this.getFirstContextBean();
+        Object value = util.getFormDatKey(params,"id");
+        Long formId = Convert.toLong(value);
+        if (formId != null) {
+            // 数据处理
+            newsService.dataHandle(formId);
+        }
+    }
+}

+ 2 - 0
src/main/java/com/xjrsoft/module/oa/service/INewsService.java

@@ -129,4 +129,6 @@ public interface INewsService extends MPJBaseService<News> {
     boolean deleteRelation(DeleteNewsRelationDto deleteNewsRelationDto);
 
     boolean SendMessage(Long id);
+
+    boolean dataHandle(Long id);
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -56,6 +56,7 @@ import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 import java.util.stream.Collectors;
 
 /**
@@ -898,4 +899,12 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
         }
         return true;
     }
+
+    @Override
+    public boolean dataHandle(Long id) {
+        CompletableFuture.runAsync(() -> {
+            this.SendMessage(id);
+        });
+        return true;
+    }
 }