From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/NodeRecordMapper.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/NodeRecordMapper.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/NodeRecordMapper.java
new file mode 100644
index 0000000..a46fdc1
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/NodeRecordMapper.java
@@ -0,0 +1,61 @@
+package jnpf.flowable.mapper;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import jnpf.base.mapper.SuperMapper;
+import jnpf.flowable.entity.NodeRecordEntity;
+import jnpf.flowable.enums.NodeStateEnum;
+import jnpf.flowable.model.record.NodeRecordModel;
+import jnpf.util.JsonUtil;
+import jnpf.util.RandomUtil;
+
+import java.util.List;
+
+/**
+ * 绫荤殑鎻忚堪
+ *
+ * @author JNPF@YinMai Info. Co., Ltd
+ * @version 5.0.x
+ * @since 2024/6/25 17:06
+ */
+public interface NodeRecordMapper extends SuperMapper<NodeRecordEntity> {
+
+
+    default List<NodeRecordEntity> getNodeRecord(String taskId) {
+        QueryWrapper<NodeRecordEntity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(NodeRecordEntity::getTaskId, taskId).ne(NodeRecordEntity::getNodeStatus, NodeStateEnum.BACK.getCode())
+                .orderByDesc(NodeRecordEntity::getCreatorTime);
+        return this.selectList(queryWrapper);
+    }
+
+    default List<NodeRecordEntity> getList(String taskId) {
+        QueryWrapper<NodeRecordEntity> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(NodeRecordEntity::getTaskId, taskId).orderByAsc(NodeRecordEntity::getCreatorTime);
+        return this.selectList(wrapper);
+    }
+
+
+    default void create(NodeRecordModel model) {
+        NodeRecordEntity entity = JsonUtil.getJsonToBean(model, NodeRecordEntity.class);
+        entity.setId(RandomUtil.uuId());
+        this.insert(entity);
+    }
+
+
+    default void update(NodeRecordModel model) {
+        QueryWrapper<NodeRecordEntity> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(NodeRecordEntity::getTaskId, model.getTaskId())
+                .eq(NodeRecordEntity::getNodeCode, model.getNodeCode());
+        if (ObjectUtil.isNotEmpty(model.getNodeId())) {
+            wrapper.lambda().eq(NodeRecordEntity::getNodeId, model.getNodeId());
+        }
+        wrapper.lambda().orderByDesc(NodeRecordEntity::getCreatorTime);
+        List<NodeRecordEntity> list = this.selectList(wrapper);
+        if (CollUtil.isNotEmpty(list)) {
+            NodeRecordEntity entity = list.get(0);
+            entity.setNodeStatus(model.getNodeStatus());
+            this.updateById(entity);
+        }
+    }
+}

--
Gitblit v1.8.0