From 69e1d95373227f364b2fa6d3852be24bafd1a9dc Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 16 三月 2026 17:51:59 +0800
Subject: [PATCH] yys 产品基础数据修改,分批发货开发

---
 src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index b93e14a..cb737f3 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,7 +1,10 @@
 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.dto.ProductAndModelDto;
 import com.ruoyi.basic.dto.ProductDto;
 import com.ruoyi.basic.dto.ProductTreeDto;
 import com.ruoyi.basic.mapper.ProductMapper;
@@ -13,12 +16,14 @@
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import lombok.AllArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @AllArgsConstructor
@@ -52,6 +57,15 @@
         return tree;
     }
 
+    @Override
+    public IPage<ProductModel> listPageProductModel(Page<ProductModel> page, ProductModel productModel) {
+        return productModelMapper.listPageProductModel(page, productModel);
+    }
+
+    @Override
+    public AjaxResult listPage(Page page, ProductAndModelDto productDto) {
+        return AjaxResult.success(productModelMapper.listPage(page, productDto));
+    }
 
 
     // 閫掑綊鏋勫缓瀛愯妭鐐�
@@ -110,14 +124,24 @@
     @Override
     public int delProductByIds(Long[] ids) {
         // 1. 鍒犻櫎瀛愯〃 product_model 涓叧鑱旂殑鏁版嵁
-        LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.in(ProductModel::getProductId, ids);
-        productModelMapper.delete(queryWrapper);
+        for (Long id : ids) {
+            LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(ProductModel::getId, id);
+            List<ProductModel> productModels = productModelMapper.selectList(queryWrapper);
+            if(CollectionUtils.isNotEmpty(productModels)){
+                List<ProductModel> productList = productModelMapper.selectList(new LambdaQueryWrapper<ProductModel>()
+                        .eq(ProductModel::getProductId, productModels.get(0).getProductId()));
+                if(CollectionUtils.isNotEmpty(productList) && productList.size() == 1){
+                    // 褰撳彧鏈変竴鏉℃暟鎹椂鍒犻櫎浜у搧
+                    productMapper.deleteBatchIds(productModels.stream()
+                            .map(ProductModel::getProductId)
+                            .collect(Collectors.toList()));
+                }
+                return productModelMapper.deleteBatchIds(Arrays.asList(ids));
 
-        // 2. 鍒犻櫎涓昏〃 product 鏁版嵁
-        int deleteCount = productMapper.deleteBatchIds(Arrays.asList(ids));
-
-        return deleteCount;
+            }
+        }
+        return 1;
     }
 
 }

--
Gitblit v1.9.3