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/TriggerTaskMapper.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 102 insertions(+), 0 deletions(-)
diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TriggerTaskMapper.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TriggerTaskMapper.java
new file mode 100644
index 0000000..a581a01
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/mapper/TriggerTaskMapper.java
@@ -0,0 +1,102 @@
+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 com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import jnpf.base.mapper.SuperMapper;
+import jnpf.flowable.entity.TemplateEntity;
+import jnpf.flowable.entity.TemplateJsonEntity;
+import jnpf.flowable.entity.TriggerTaskEntity;
+import jnpf.flowable.model.trigger.TriggerPagination;
+import jnpf.flowable.model.trigger.TriggerTaskModel;
+import jnpf.util.StringUtil;
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绫荤殑鎻忚堪
+ *
+ * @author JNPF@YinMai Info. Co., Ltd
+ * @version 5.0.x
+ * @since 2024/9/10 17:11
+ */
+public interface TriggerTaskMapper extends SuperMapper<TriggerTaskEntity> {
+
+ default void saveTriggerTask(TriggerTaskEntity entity) {
+ this.insert(entity);
+ }
+
+ default void updateTriggerTask(TriggerTaskEntity entity) {
+ this.updateById(entity);
+ }
+
+ default List<TriggerTaskEntity> getListByTaskId(String taskId, String nodeCode) {
+ QueryWrapper<TriggerTaskEntity> queryWrapper = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(taskId)) {
+ queryWrapper.lambda().eq(TriggerTaskEntity::getTaskId, taskId);
+ }
+ if (StringUtils.isNotBlank(nodeCode)) {
+ queryWrapper.lambda().eq(TriggerTaskEntity::getNodeId, nodeCode);
+ }
+ queryWrapper.lambda().orderByDesc(TriggerTaskEntity::getStartTime);
+ return this.selectList(queryWrapper);
+ }
+
+ default boolean existTriggerTask(String taskId, String nodeId) {
+ if (StringUtils.isBlank(taskId) || StringUtils.isBlank(nodeId)) {
+ return false;
+ }
+ QueryWrapper<TriggerTaskEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().eq(TriggerTaskEntity::getTaskId, taskId)
+ .eq(TriggerTaskEntity::getNodeId, nodeId);
+ return this.selectCount(queryWrapper) > 0;
+ }
+
+ default List<TriggerTaskModel> getList(TriggerPagination pagination) {
+
+ MPJLambdaWrapper<TriggerTaskEntity> wrapper = JoinWrappers.lambda(TriggerTaskEntity.class)
+ .select(TriggerTaskEntity::getId, TriggerTaskEntity::getFullName,
+ TriggerTaskEntity::getParentId, TriggerTaskEntity::getParentTime,
+ TriggerTaskEntity::getStatus, TriggerTaskEntity::getStartTime
+ )
+ .selectAs(TemplateEntity::getStatus, TriggerTaskModel::getTemplateStatus)
+ .selectAs(TemplateEntity::getSystemId, TriggerTaskModel::getSystemName)
+ .leftJoin(TemplateJsonEntity.class, TemplateJsonEntity::getId, TriggerTaskEntity::getFlowId)
+ .leftJoin(TemplateEntity.class, TemplateEntity::getId, TemplateJsonEntity::getTemplateId)
+ .isNull(TriggerTaskEntity::getTaskId);
+
+ String keyword = pagination.getKeyword();
+ if (StringUtil.isNotEmpty(keyword)) {
+ wrapper.and(e -> e.like(TriggerTaskEntity::getFullName, keyword)
+ .or().like(TriggerTaskEntity::getId, keyword));
+ }
+ if (ObjectUtil.isNotEmpty(pagination.getStartTime()) && ObjectUtil.isNotEmpty(pagination.getEndTime())) {
+ wrapper.between(TriggerTaskEntity::getStartTime, new Date(pagination.getStartTime()), new Date(pagination.getEndTime()));
+ }
+ String systemId = pagination.getSystemId();
+ if (ObjectUtil.isNotEmpty(systemId)) {
+ wrapper.eq(TemplateEntity::getSystemId, systemId);
+ }
+ wrapper.orderByDesc(TriggerTaskEntity::getCreatorTime);
+
+ Page<TriggerTaskModel> page = new Page<>(pagination.getCurrentPage(), pagination.getPageSize());
+ Page<TriggerTaskModel> iPage = this.selectJoinPage(page, TriggerTaskModel.class, wrapper);
+ return pagination.setData(iPage.getRecords(), page.getTotal());
+ }
+
+ default boolean checkByFlowIds(List<String> flowIds) {
+ if (CollUtil.isNotEmpty(flowIds)) {
+ QueryWrapper<TriggerTaskEntity> queryWrapper = new QueryWrapper<>();
+ queryWrapper.lambda().in(TriggerTaskEntity::getFlowId, flowIds);
+ return this.selectCount(queryWrapper) > 0;
+ }
+ return false;
+ }
+
+
+}
--
Gitblit v1.8.0