yaowanxin
9 小时以前 995e1f84b4d775a1f7b9d196bc680a58dcaa3c6d
修改产品维护后端接口,限制产品的删除
已修改1个文件
26 ■■■■■ 文件已修改
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.basic.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.ProductTreeDto;
@@ -12,6 +13,12 @@
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -27,6 +34,10 @@
    private ProductMapper productMapper;
    private ProductModelMapper productModelMapper;
    private final SalesLedgerProductMapper salesLedgerProductMapper;
    private final SalesLedgerMapper salesLedgerMapper;
    private final PurchaseLedgerMapper purchaseLedgerMapper;
    @Override
    public List<ProductTreeDto> selectProductList(ProductDto productDto) {
@@ -109,6 +120,21 @@
    @Override
    public int delProductByIds(Long[] ids) {
        List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(new QueryWrapper<SalesLedgerProduct>()
                .lambda().in(SalesLedgerProduct::getProductId, ids));
        if (salesLedgerProducts != null && salesLedgerProducts.size() > 0) {
            salesLedgerProducts.forEach(salesLedgerProduct -> {
                Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
                SalesLedger salesLedger = salesLedgerMapper.selectById(salesLedgerId);
                if (salesLedger != null) {
                    throw new RuntimeException("已经存在该产品的销售台账");
                }
                PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectById(salesLedgerId);
                if (purchaseLedger != null) {
                    throw new RuntimeException("已经存在该产品的采购台账");
                }
            });
        }
        // 1. 删除子表 product_model 中关联的数据
        LambdaQueryWrapper<ProductModel> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.in(ProductModel::getProductId, ids);