From cc44920da3d40b8248b67560026e891afdd1a6ab Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期四, 08 五月 2025 17:57:14 +0800
Subject: [PATCH] 1.查询可以被引用的部件接口开发完成 2.借用部件(可批量) 开发完成 3.修改原有新增、修改部件接口 完成 4.修改原有删除文档与导入文档接口 完成 5.修改工作流问题

---
 lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 77 insertions(+), 4 deletions(-)

diff --git a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java
index 87c16f7..672b6ab 100644
--- a/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java
+++ b/lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/impl/PermissionStreamNewServiceImpl.java
@@ -6,18 +6,23 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.collections4.ListUtils;
-import org.jeecg.modules.dnc.entity.PermissionStream;
 import org.jeecg.modules.dnc.entity.PermissionStreamNew;
 import org.jeecg.modules.dnc.entity.ProductMix;
 import org.jeecg.modules.dnc.mapper.PermissionStreamNewMapper;
 import org.jeecg.modules.dnc.service.IPermissionStreamNewService;
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Service
 public class PermissionStreamNewServiceImpl extends ServiceImpl<PermissionStreamNewMapper, PermissionStreamNew> implements IPermissionStreamNewService {
+    @Autowired
+    private ISysUserService sysUserService;
 
     /**
      * 鏍规嵁鐢ㄦ埛id鑾峰彇缁撴瀯鏍戞潈闄�
@@ -25,8 +30,31 @@
      * @return
      */
     @Override
-    public List<ProductMix> loadProductMix(String userId){
-        return baseMapper.loadProductMix(userId);
+    public List<ProductMix> loadProductMix(String userId,List<String> productIdList){
+        return baseMapper.loadProductMix(userId,productIdList);
+    }
+
+    /**
+     * 鏍规嵁鐢ㄦ埛id銆侀儴闂ㄥ垪琛ㄣ�乮d銆佷笟鍔$被鍨嬭幏鍙栧搴旂粨鏋勬爲鏉冮檺
+     * @param userId
+     * @param productIdList
+     * @param businessId
+     * @param businessType
+     * @return
+     */
+    @Override
+    public List<ProductMix> loadProductMixByBusinessIdAndBusinessType(String userId,List<String> productIdList,
+                                                String businessId,String businessType){
+        return baseMapper.loadProductMixByBusinessId(userId,productIdList,businessId,businessType);
+    }
+
+    /**
+     * 绠$悊鍛樿幏鍙栨墍鏈夋潈闄�
+     * @return
+     */
+    @Override
+    public List<ProductMix> loadProductMixAll(String userId){
+        return baseMapper.loadProductMixAll(userId);
     }
 
     /**
@@ -139,7 +167,15 @@
         permissionStreamNewList.forEach(item -> {
             ids.add(item.getId());
         });
-        return super.removeByIds(ids);
+        if (ids.size()>1000) {
+            List<List<String>> partition = ListUtils.partition(ids, 1000);
+            for (List<String> partitionList : partition) {
+                super.removeByIds(partitionList);
+            }
+        }else {
+            super.removeByIds(ids);
+        }
+        return true;
     }
 
     /**
@@ -224,4 +260,41 @@
         return total;
     }
 
+    /**
+     * 閫氳繃娣诲姞鏉冮檺
+     * @param permissionStream
+     * @return
+     */
+    @Override
+    public boolean addPermissionStreamNew(PermissionStreamNew permissionStream) {
+        // 楠岃瘉鍙傛暟鏈夋晥鎬�
+        if (permissionStream == null) {
+            return false;
+        }
+        // 鑾峰彇绠$悊鍛樼敤鎴�
+        SysUser adminUser = sysUserService.getUserByName("admin");
+        if (adminUser == null) {
+            // 鑻ョ鐞嗗憳鐢ㄦ埛涓嶅瓨鍦紝鍙牴鎹疄闄呮儏鍐靛鐞嗭紝杩欓噷绠�鍗曡繑鍥� false
+            return false;
+        }
+        try {
+            boolean isAdmin = Objects.equals(permissionStream.getUserId(), adminUser.getId());
+            // 淇濆瓨鏈韩鏉冮檺
+            super.save(permissionStream);
+            if (!isAdmin) {
+                // 鑻ヤ笉鏄鐞嗗憳锛屽鍒朵竴涓柊鐨� PermissionStreamNew 瀵硅薄骞惰缃负绠$悊鍛� ID 鍚庝繚瀛�
+                PermissionStreamNew adminPermissionStream = new PermissionStreamNew();
+                adminPermissionStream.setUserId(adminUser.getId());
+                adminPermissionStream.setBusinessId(permissionStream.getBusinessId());
+                adminPermissionStream.setBusinessType(permissionStream.getBusinessType());
+                super.save(adminPermissionStream);
+            }
+            return true;
+        } catch (Exception e) {
+            // 璁板綍寮傚父淇℃伅锛屾柟渚垮悗缁帓鏌ラ棶棰�
+            e.printStackTrace();
+            return false;
+        }
+    }
+
 }

--
Gitblit v1.9.3