Browse Source

4/14 删除产品时 补充删除架构和图片关联表数据

chendayu 2 years ago
parent
commit
9bdc8cfa7c

+ 2 - 1
PAS/src/main/java/cn/cslg/pas/mapper/asso/AssoStructurePictureMapper.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.mapper.asso;
 
 import cn.cslg.pas.common.model.vo.StructurePictureVO;
 import cn.cslg.pas.domain.asso.AssoStructurePicture;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -13,7 +14,7 @@ import java.util.List;
  * @Date 2023/3/10
  */
 @Repository
-public interface AssoStructurePictureMapper {
+public interface AssoStructurePictureMapper extends BaseMapper<AssoStructurePicture> {
     /**
      * 批量插入数据
      *

+ 13 - 0
PAS/src/main/java/cn/cslg/pas/service/IAssoStructurePictureService.java

@@ -0,0 +1,13 @@
+package cn.cslg.pas.service;
+
+import cn.cslg.pas.domain.asso.AssoStructurePicture;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 架构和图片关联表的Service层接口
+ *
+ * @Author chenyu
+ * @Date 2023/4/13
+ */
+public interface IAssoStructurePictureService extends IService<AssoStructurePicture> {
+}

+ 15 - 0
PAS/src/main/java/cn/cslg/pas/service/impl/AssoStructurePictureServiceImpl.java

@@ -0,0 +1,15 @@
+package cn.cslg.pas.service.impl;
+
+import cn.cslg.pas.domain.asso.AssoStructurePicture;
+import cn.cslg.pas.mapper.asso.AssoStructurePictureMapper;
+import cn.cslg.pas.service.IAssoStructurePictureService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 架构和图片关联表的Service层接口实现类
+ *
+ * @Author chenyu
+ * @Date 2023/4/13
+ */
+public class AssoStructurePictureServiceImpl extends ServiceImpl<AssoStructurePictureMapper, AssoStructurePicture> implements IAssoStructurePictureService {
+}

+ 13 - 2
PAS/src/main/java/cn/cslg/pas/service/impl/ProductServiceImpl.java

@@ -13,12 +13,14 @@ import cn.cslg.pas.domain.Structure;
 import cn.cslg.pas.domain.asso.AssoProductPatent;
 import cn.cslg.pas.domain.asso.AssoProductPicture;
 import cn.cslg.pas.domain.asso.AssoStructurePatent;
+import cn.cslg.pas.domain.asso.AssoStructurePicture;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.mapper.ProjectMapper;
 import cn.cslg.pas.mapper.asso.AssoProductPictureMapper;
 import cn.cslg.pas.mapper.ProductMapper;
 import cn.cslg.pas.mapper.asso.AssoProductPatentMapper;
 import cn.cslg.pas.mapper.asso.AssoStructurePatentMapper;
+import cn.cslg.pas.service.IAssoStructurePictureService;
 import cn.cslg.pas.service.IProductMarketDataService;
 import cn.cslg.pas.service.IProductService;
 import cn.cslg.pas.service.IStructureService;
@@ -54,6 +56,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
     private final AssoStructurePatentMapper assoStructurePatentMapper;
     private final ProjectMapper projectMapper;
     private final IStructureService structureService;
+    private final IAssoStructurePictureService assoStructurePictureService;
     private final IProductMarketDataService productMarketDataService;
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
@@ -309,10 +312,18 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
         assoProductPatentMapper.deleteByProductId(id);
 
         //删除产品的所有架构的架构关联表数据和架构表数据
-
-
         LambdaQueryWrapper<Structure> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Structure::getProductId, id);
+        ArrayList<Integer> structureIds = new ArrayList<>();
+        List<Structure> structures = structureService.list(wrapper);
+        for (Structure structure : structures) {
+            structureIds.add(structure.getId());
+        }
+        LambdaQueryWrapper<AssoStructurePicture> assoStructurePictureWrapper = new LambdaQueryWrapper<>();
+        assoStructurePictureWrapper.in(AssoStructurePicture::getStructureId, structureIds);
+        log.info("架构图片关联表删除数据");
+        //删除架构图片关联表数据
+        assoStructurePictureService.remove(assoStructurePictureWrapper);
         log.info("产品的架构表删除数据");
         structureService.remove(wrapper);