From e2c5017787d7fc5eea2afb8bc84bca0db054ad8c Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期三, 09 四月 2025 17:46:36 +0800
Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java |   89 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 86 insertions(+), 3 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java
index bb11804..9f7e790 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java
@@ -1,11 +1,20 @@
 package com.ruoyi.basic.service.impl;
 
-
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.basic.mapper.WorkShopFileMapper;
-import com.ruoyi.basic.pojo.WorkShopFile;
+import com.ruoyi.basic.mapper.*;
+import com.ruoyi.basic.pojo.*;
 import com.ruoyi.basic.service.WorkShopFileService;
+import com.ruoyi.common.config.MinioConfig;
+import com.ruoyi.common.utils.file.MinioUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @description 閽堝琛ㄣ�恮ork_shop_file(杞﹂棿闄勪欢鍚嶇О)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
@@ -14,6 +23,80 @@
 @Service
 public class WorkShopFileServiceImpl extends ServiceImpl<WorkShopFileMapper, WorkShopFile> implements WorkShopFileService {
 
+    @Resource
+    private WorkShopFileMapper workShopFileMapper;
+
+    @Resource
+    private ProductPartMapper productPartMapper;
+
+    @Resource
+    private ProductMapper productMapper;
+    @Resource
+    private StructureTestObjectPartMapper structureTestObjectPartMapper;
+
+    @Resource
+    private StructureTestObjectMapper structureTestObjectMapper;
+
+    @Resource
+    private MinioUtils minioUtils;
+
+    @Autowired
+    private MinioConfig minioConfig;
+
+    @Override
+    public int delFile(Integer id) {
+        // 鑻� id 涓虹┖锛岀洿鎺ヨ繑鍥� 0锛岃〃绀烘湭鍒犻櫎浠讳綍璁板綍
+        if (id == null) {
+            return 0;
+        }
+        try {
+            // 鏌ヨ瑕佸垹闄ょ殑鏂囦欢淇℃伅
+            WorkShopFile file = workShopFileMapper.selectById(id);
+            if (file != null && file.getFileUrl() != null) {
+                // 妫�鏌� MinIO 涓枃浠舵槸鍚﹀瓨鍦�
+                if (minioUtils.objectExists(minioConfig.getBucketName(), file.getFileUrl())) {
+                    // 鍏堝垹闄� MinIO 涓殑瀵硅薄
+                    minioUtils.removeObjectsResult(minioConfig.getBucketName(), file.getFileUrl());
+                }
+            }
+            // 鎵ц鏁版嵁搴撳垹闄ゆ搷浣�
+            int deleteResult = workShopFileMapper.deleteById(id);
+            return deleteResult;
+        } catch (Exception e) {
+            // 澶勭悊寮傚父锛屽彲鏍规嵁瀹為檯鎯呭喌璁板綍鏃ュ織鎴栨姏鍑鸿嚜瀹氫箟寮傚父
+            e.printStackTrace();
+            return 0;
+        }
+    }
+
+    @Override
+    public IPage<WorkShopFile> partFileList(Page page, String partNo) {
+        StructureTestObject structureTestObject = findStructureTestObjectByPartNo(partNo);
+        if (structureTestObject != null && structureTestObject.getWorkShopId() != null) {
+            return workShopFileMapper.selectPage(page, new LambdaQueryWrapper<WorkShopFile>().eq(WorkShopFile::getWorkShopId, structureTestObject.getWorkShopId()));
+        }
+        return null;
+    }
+
+    @Override
+    public List<WorkShopFile> fileListById(Integer workShopId) {
+        return workShopFileMapper.selectList(new LambdaQueryWrapper<WorkShopFile>().eq(WorkShopFile::getWorkShopId,workShopId));
+    }
+
+    private StructureTestObject findStructureTestObjectByPartNo(String partNo) {
+        ProductPart productPart = productPartMapper.selectOne(new LambdaQueryWrapper<ProductPart>().eq(ProductPart::getPartNo, partNo));
+        if (productPart != null) {
+            Product product = productMapper.selectById(productPart.getProductId());
+            if (product != null) {
+                return structureTestObjectMapper.selectById(product.getObjectId());
+            }
+        }
+        StructureTestObjectPart structureTestObjectPart = structureTestObjectPartMapper.selectOne(new LambdaQueryWrapper<StructureTestObjectPart>().eq(StructureTestObjectPart::getPartNo, partNo));
+        if (structureTestObjectPart != null) {
+            return structureTestObjectMapper.selectById(structureTestObjectPart.getTestObjectId());
+        }
+        return null;
+    }
 }
 
 

--
Gitblit v1.9.3