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-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/impl/DmsWenjianBianhaoGuizeFeiqiServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/impl/DmsWenjianBianhaoGuizeFeiqiServiceImpl.java b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/impl/DmsWenjianBianhaoGuizeFeiqiServiceImpl.java
new file mode 100644
index 0000000..7256992
--- /dev/null
+++ b/jnpf-dms/jnpf-dms-biz/src/main/java/jnpf/dmsService/impl/DmsWenjianBianhaoGuizeFeiqiServiceImpl.java
@@ -0,0 +1,75 @@
+package jnpf.dmsService.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import jnpf.dmsEntity.DmsWenjianBianhaoGuizeEntity;
+import jnpf.dmsEntity.DmsWenjianBianhaoGuizeFeiqiEntity;
+import jnpf.dmsMapper.DmsWenjianBianhaoGuizeFeiqiMapper;
+import jnpf.dmsMapper.DmsWenjianBianhaoGuizeMapper;
+import jnpf.dmsService.DmsWenjianBianhaoGuizeFeiqiService;
+import jnpf.exception.DataException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+@Service
+public class DmsWenjianBianhaoGuizeFeiqiServiceImpl implements DmsWenjianBianhaoGuizeFeiqiService {
+
+ private static final String BIZ_ENABLED_DISABLED = "disabled";
+
+ @Autowired
+ private DmsWenjianBianhaoGuizeFeiqiMapper feiqiMapper;
+
+ @Autowired
+ private DmsWenjianBianhaoGuizeMapper guizeMapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public void feiqiGuize(String flowId, String taskId) throws DataException {
+ String resolvedFlowId = trimToEmpty(flowId);
+ String resolvedTaskId = trimToEmpty(taskId);
+ if (resolvedFlowId.isEmpty()) {
+ throw new DataException("娴佺▼ID(flow_id)涓嶈兘涓虹┖");
+ }
+ if (resolvedTaskId.isEmpty()) {
+ throw new DataException("娴佺▼浠诲姟ID(task_id)涓嶈兘涓虹┖");
+ }
+
+ LambdaQueryWrapper<DmsWenjianBianhaoGuizeFeiqiEntity> relationQuery = new LambdaQueryWrapper<>();
+ relationQuery.eq(DmsWenjianBianhaoGuizeFeiqiEntity::getFlowId, resolvedFlowId)
+ .eq(DmsWenjianBianhaoGuizeFeiqiEntity::getTaskId, resolvedTaskId);
+ List<DmsWenjianBianhaoGuizeFeiqiEntity> relations = feiqiMapper.selectList(relationQuery);
+ if (relations.isEmpty()) {
+ throw new DataException("鏈壘鍒版枃浠剁紪鍙疯鍒欏簾寮冨叧鑱旇褰曪細flow_id=" + resolvedFlowId
+ + ", task_id=" + resolvedTaskId);
+ }
+
+ Set<String> guizeIds = new LinkedHashSet<>();
+ for (DmsWenjianBianhaoGuizeFeiqiEntity relation : relations) {
+ String guizeId = trimToEmpty(relation.getGuizeId());
+ if (guizeId.isEmpty()) {
+ throw new DataException("鏂囦欢缂栧彿瑙勫垯搴熷純鍏宠仈璁板綍鏈叧鑱旇鍒橧D");
+ }
+ guizeIds.add(guizeId);
+ }
+
+ LambdaQueryWrapper<DmsWenjianBianhaoGuizeEntity> guizeQuery = new LambdaQueryWrapper<>();
+ guizeQuery.in(DmsWenjianBianhaoGuizeEntity::getId, guizeIds);
+ if (guizeMapper.selectCount(guizeQuery) != guizeIds.size()) {
+ throw new DataException("瀛樺湪鏈壘鍒扮殑鏂囦欢缂栧彿瑙勫垯锛屾棤娉曞簾寮�");
+ }
+
+ LambdaUpdateWrapper<DmsWenjianBianhaoGuizeEntity> guizeUpdate = new LambdaUpdateWrapper<>();
+ guizeUpdate.in(DmsWenjianBianhaoGuizeEntity::getId, guizeIds)
+ .set(DmsWenjianBianhaoGuizeEntity::getBizEnabled, BIZ_ENABLED_DISABLED);
+ guizeMapper.update(null, guizeUpdate);
+ }
+
+ private String trimToEmpty(String value) {
+ return value == null ? "" : value.trim();
+ }
+}
--
Gitblit v1.8.0