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