From eb975b40828b3a930fb38b75c739a7385b14ee12 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期四, 03 四月 2025 14:48:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/radio_frequency' into radio_frequency

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java |   75 +++++++++++++++++++++++++++++++++++++
 1 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
index 95ac78d..feaf3b6 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListSupplierAskServiceImpl.java
@@ -1,13 +1,24 @@
 package com.ruoyi.basic.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.enums.StandardProductListChcekTypeEnums;
+import com.ruoyi.basic.mapper.StandardProductListMapper;
+import com.ruoyi.basic.mapper.StandardProductListSupplierAskBackupRelMapper;
+import com.ruoyi.basic.pojo.StandardProductList;
+import com.ruoyi.basic.pojo.StandardProductListSupplierAskBackupRel;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.basic.mapper.StandardProductListSupplierAskMapper;
 import com.ruoyi.basic.pojo.StandardProductListSupplierAsk;
 import com.ruoyi.basic.service.StandardProductListSupplierAskService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -18,6 +29,12 @@
  */
 @Service
 public class StandardProductListSupplierAskServiceImpl extends ServiceImpl<StandardProductListSupplierAskMapper, StandardProductListSupplierAsk> implements StandardProductListSupplierAskService {
+
+    @Autowired
+    private StandardProductListSupplierAskBackupRelMapper standardProductListSupplierAskBackupRelMapper;
+
+    @Autowired
+    private StandardProductListMapper standardProductListMapper;
 
     /**
      * 鏌ヨ鍘傚瑕佹眰鍊肩粦瀹�
@@ -39,10 +56,18 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Integer addProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
         if (supplierAsk.getProductListId() == null) {
             throw new BaseException("缂哄皯浜у搧瀵硅薄id");
         }
+        // 鏂板鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
         // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
         Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                 .eq(StandardProductListSupplierAsk::getProductListId, supplierAsk.getProductListId())
@@ -60,10 +85,18 @@
      * @return
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Integer updateProductSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
         if (supplierAsk.getProductListId() == null) {
             throw new BaseException("缂哄皯妫�楠岄」id");
         }
+        // 淇敼鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
         // 鏌ヨ鏀瑰巶瀹舵槸鍚︾粦瀹氳繃
         Long count = baseMapper.selectCount(Wrappers.<StandardProductListSupplierAsk>lambdaQuery()
                 .ne(StandardProductListSupplierAsk::getSupplierAskId, supplierAsk.getSupplierAskId())
@@ -75,5 +108,47 @@
         baseMapper.updateById(supplierAsk);
         return supplierAsk.getSupplierAskId();
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteProductSupplierAsk(Integer supplierAskId) {
+        StandardProductListSupplierAsk supplierAsk = baseMapper.selectById(supplierAskId);
+        // 鍒犻櫎鍓嶅浠�
+        backupSupplierAsk(supplierAsk);
+        // 淇敼鐘舵�佷负寰呮彁浜�
+        StandardProductList standardProductList = new StandardProductList();
+        standardProductList.setId(supplierAsk.getProductListId());
+        standardProductList.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
+        standardProductListMapper.updateById(standardProductList);
+        baseMapper.deleteById(supplierAskId);
+    }
+
+    /**
+     * 妫�楠岄」鐩巶瀹跺瘑搴︾粦瀹氬浠借〃琛ㄥ浠�
+     *
+     * @param supplierAsk
+     */
+    @Override
+    public void backupSupplierAsk(StandardProductListSupplierAsk supplierAsk) {
+        // 鏌ヨ澶囦唤鏁版嵁鏄惁瀛樺湪锛屽鏋滄湁涓嶅仛澶囦唤
+        QueryWrapper<StandardProductListSupplierAskBackupRel> backupQueryWrapper = new QueryWrapper<>();
+        backupQueryWrapper.eq("product_list_id", supplierAsk.getProductListId());
+        List<StandardProductListSupplierAskBackupRel> standardProductListSupplierAskBackupRels = standardProductListSupplierAskBackupRelMapper.selectList(backupQueryWrapper);
+        // 鏌ヨ鍘熸暟鎹繘琛屽浠�
+        if(CollectionUtils.isEmpty(standardProductListSupplierAskBackupRels)){
+            QueryWrapper<StandardProductListSupplierAsk> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("product_list_id", supplierAsk.getProductListId());
+            List<StandardProductListSupplierAsk> standardProductListSupplierAskList = baseMapper.selectList(queryWrapper);
+            List<StandardProductListSupplierAskBackupRel> supplierAskBackupRelInsertList = new ArrayList<>();
+            for (StandardProductListSupplierAsk standardProductListSupplierAsk : standardProductListSupplierAskList) {
+                StandardProductListSupplierAskBackupRel standardProductListSupplierAskBackupRel = new StandardProductListSupplierAskBackupRel();
+                BeanUtils.copyProperties(standardProductListSupplierAsk, standardProductListSupplierAskBackupRel);
+                supplierAskBackupRelInsertList.add(standardProductListSupplierAskBackupRel);
+            }
+            if(!CollectionUtils.isEmpty(supplierAskBackupRelInsertList)){
+                standardProductListSupplierAskBackupRelMapper.batchInsertSupplierAskBackUpRel(supplierAskBackupRelInsertList);
+            }
+        }
+    }
 }
 

--
Gitblit v1.9.3