|
@@ -3,6 +3,7 @@ package com.sd.business.service.bom.impl;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -28,7 +29,6 @@ import com.sd.business.service.bom.BomService;
|
|
|
import com.sd.business.service.bom.BomSpecService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
@@ -111,7 +111,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
public void add(BomDto bomDto) {
|
|
|
List<FileInfo> fileInfoList = new ArrayList<>();
|
|
@@ -128,10 +128,10 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
fileInfo.setBusinessType(ObsFileUtil.defaultFileType);
|
|
|
fileInfoList.add(fileInfo);
|
|
|
|
|
|
- bomDto.setMainImgUrl(mainImgFile.getFileName());
|
|
|
+ bomDto.setMainImgUrl(mainImgFile.getFileUrl());
|
|
|
}
|
|
|
|
|
|
- List<BomSpecDto> bomSpecDtoList = bomDto.getBomSpecDtoList();
|
|
|
+ List<BomSpecDto> bomSpecDtoList = bomDto.getBomSpecList();
|
|
|
List<BomSpec> bomSpecList = bomSpecDtoList.stream()
|
|
|
.peek(item -> {
|
|
|
item.setId(IdWorker.getId());
|
|
@@ -147,7 +147,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
fileInfo.setBusinessType(ObsFileUtil.defaultFileType);
|
|
|
fileInfoList.add(fileInfo);
|
|
|
|
|
|
- item.setMainImgUrl(imgFile.getFileName());
|
|
|
+ item.setMainImgUrl(imgFile.getFileUrl());
|
|
|
}
|
|
|
})
|
|
|
.map(item -> BeanUtil.toBean(item, BomSpec.class))
|
|
@@ -167,7 +167,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
bomOperatingLogService.save(bomOperatingLog);
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
public void edit(BomDto bomDto) {
|
|
|
List<FileInfo> fileInfoList = new ArrayList<>();
|
|
@@ -182,10 +182,10 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
fileInfo.setBusinessType(ObsFileUtil.defaultFileType);
|
|
|
fileInfoList.add(fileInfo);
|
|
|
|
|
|
- bomDto.setMainImgUrl(mainImgFile.getFileName());
|
|
|
+ bomDto.setMainImgUrl(mainImgFile.getFileUrl());
|
|
|
}
|
|
|
|
|
|
- List<BomSpecDto> bomSpecDtoList = bomDto.getBomSpecDtoList();
|
|
|
+ List<BomSpecDto> bomSpecDtoList = bomDto.getBomSpecList();
|
|
|
List<BomSpec> bomSpecList = bomSpecDtoList.stream()
|
|
|
.peek(item -> {
|
|
|
item.setId(ObjectUtil.defaultIfNull(item.getId(), IdWorker.getId()));
|
|
@@ -201,7 +201,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
fileInfo.setBusinessType(ObsFileUtil.defaultFileType);
|
|
|
fileInfoList.add(fileInfo);
|
|
|
|
|
|
- item.setMainImgUrl(imgFile.getFileName());
|
|
|
+ item.setMainImgUrl(imgFile.getFileUrl());
|
|
|
}
|
|
|
})
|
|
|
.map(item -> BeanUtil.toBean(item, BomSpec.class))
|
|
@@ -215,16 +215,17 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
.filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
bomSpecService.remove(q -> q
|
|
|
.eq(BomSpec::getBomId, bomDto.getId())
|
|
|
- .ne(ObjectUtil.isNotEmpty(bomSpecIdList), BaseIdPo::getId, bomSpecIdList));
|
|
|
+ .notIn(ObjectUtil.isNotEmpty(bomSpecIdList), BaseIdPo::getId, bomSpecIdList));
|
|
|
bomSpecService.saveOrUpdateBatch(bomSpecList);
|
|
|
|
|
|
// 修改文件
|
|
|
List<Long> businessIdList = bomSpecList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
|
|
|
businessIdList.add(bomDto.getId());
|
|
|
List<Long> fileInfoIdList = fileInfoList.stream().map(BaseIdPo::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
fileInfoService.remove(q -> q
|
|
|
.in(FileInfo::getBusinessId, businessIdList)
|
|
|
- .ne(ObjectUtil.isNotEmpty(fileInfoIdList), BaseIdPo::getId, fileInfoIdList));
|
|
|
+ .notIn(ObjectUtil.isNotEmpty(fileInfoIdList), BaseIdPo::getId, fileInfoIdList));
|
|
|
if (fileInfoList.size() > 0) {
|
|
|
fileInfoService.updateBatchById(fileInfoList);
|
|
|
}
|
|
@@ -237,7 +238,7 @@ public class BomServiceImpl extends ServiceImpl<BomMapper, Bom> implements BomSe
|
|
|
bomOperatingLogService.save(bomOperatingLog);
|
|
|
}
|
|
|
|
|
|
- @Transactional(rollbackFor = Exception.class)
|
|
|
+ @DSTransactional
|
|
|
@Override
|
|
|
public void delete(Long id) {
|
|
|
Bom bom = getById(id);
|