Browse Source

2025.03.06 导入优化

master
jiayang yue 10 months ago
parent
commit
30166b10c8
  1. 81
      src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java

81
src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java

@ -47,6 +47,7 @@ import java.time.LocalDate;
import java.time.LocalTime;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.CompletableFuture;
@Service
@Slf4j
@ -431,43 +432,61 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements Pa
}
@Override
@Transactional(rollbackFor = Exception.class)
public void provisionalDataAlterHandle(Part data, Integer type) {
if (type == 1) {
// 批量更新将所有 provisionalData "Y" 的记录更新为 "N"
lambdaUpdate()
.eq(Part::getProvisionalData, "Y")
.set(Part::getProvisionalData, "N")
.update();
externalPartCustomerService.lambdaUpdate()
.eq(ExternalPartCustomer::getProvisionalData, "Y")
.set(ExternalPartCustomer::getProvisionalData, "N")
.update();
externalPartManufacturerService.lambdaUpdate()
.eq(ExternalPartManufacturer::getProvisionalData, "Y")
.set(ExternalPartManufacturer::getProvisionalData, "N")
.update();
externalPartPictureService.lambdaUpdate()
.eq(ExternalPartPicture::getProvisionalData, "Y")
.set(ExternalPartPicture::getProvisionalData, "N")
.update();
CompletableFuture<Void> updatePart = CompletableFuture.runAsync(() ->
lambdaUpdate()
.eq(Part::getProvisionalData, "Y")
.set(Part::getProvisionalData, "N")
.update()
);
CompletableFuture<Void> updateCustomer = CompletableFuture.runAsync(() ->
externalPartCustomerService.lambdaUpdate()
.eq(ExternalPartCustomer::getProvisionalData, "Y")
.set(ExternalPartCustomer::getProvisionalData, "N")
.update()
);
CompletableFuture<Void> updateManufacturer = CompletableFuture.runAsync(() ->
externalPartManufacturerService.lambdaUpdate()
.eq(ExternalPartManufacturer::getProvisionalData, "Y")
.set(ExternalPartManufacturer::getProvisionalData, "N")
.update()
);
CompletableFuture<Void> updatePicture = CompletableFuture.runAsync(() ->
externalPartPictureService.lambdaUpdate()
.eq(ExternalPartPicture::getProvisionalData, "Y")
.set(ExternalPartPicture::getProvisionalData, "N")
.update()
);
// 等待所有更新操作完成
CompletableFuture.allOf(updatePart, updateCustomer, updateManufacturer, updatePicture).join();
} else if (type == 2 || type == 3) {
// 批量删除将所有 provisionalData "Y" 的记录删除
lambdaUpdate()
.eq(Part::getProvisionalData, "Y")
.remove();
externalPartCustomerService.lambdaUpdate()
.eq(ExternalPartCustomer::getProvisionalData, "Y")
.remove();
externalPartManufacturerService.lambdaUpdate()
.eq(ExternalPartManufacturer::getProvisionalData, "Y")
.remove();
externalPartPictureService.lambdaUpdate()
.eq(ExternalPartPicture::getProvisionalData, "Y")
.remove();
CompletableFuture<Void> removePart = CompletableFuture.runAsync(() ->
lambdaUpdate()
.eq(Part::getProvisionalData, "Y")
.remove()
);
CompletableFuture<Void> removeCustomer = CompletableFuture.runAsync(() ->
externalPartCustomerService.lambdaUpdate()
.eq(ExternalPartCustomer::getProvisionalData, "Y")
.remove()
);
CompletableFuture<Void> removeManufacturer = CompletableFuture.runAsync(() ->
externalPartManufacturerService.lambdaUpdate()
.eq(ExternalPartManufacturer::getProvisionalData, "Y")
.remove()
);
CompletableFuture<Void> removePicture = CompletableFuture.runAsync(() ->
externalPartPictureService.lambdaUpdate()
.eq(ExternalPartPicture::getProvisionalData, "Y")
.remove()
);
// 等待所有删除操作完成
CompletableFuture.allOf(removePart, removeCustomer, removeManufacturer, removePicture).join();
}
}
@Override
public IPage<PartVo> selectExternalPartAndCustomerPage(Integer no, Integer size, PartVo part) {
return baseMapper.selectExternalPartAndCustomerPage(new Page<PartVo>(no,size),part);

Loading…
Cancel
Save