diff --git a/src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java b/src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java index 398730a..830c034 100644 --- a/src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java +++ b/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 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 updatePart = CompletableFuture.runAsync(() -> + lambdaUpdate() + .eq(Part::getProvisionalData, "Y") + .set(Part::getProvisionalData, "N") + .update() + ); + CompletableFuture updateCustomer = CompletableFuture.runAsync(() -> + externalPartCustomerService.lambdaUpdate() + .eq(ExternalPartCustomer::getProvisionalData, "Y") + .set(ExternalPartCustomer::getProvisionalData, "N") + .update() + ); + CompletableFuture updateManufacturer = CompletableFuture.runAsync(() -> + externalPartManufacturerService.lambdaUpdate() + .eq(ExternalPartManufacturer::getProvisionalData, "Y") + .set(ExternalPartManufacturer::getProvisionalData, "N") + .update() + ); + CompletableFuture 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 removePart = CompletableFuture.runAsync(() -> + lambdaUpdate() + .eq(Part::getProvisionalData, "Y") + .remove() + ); + CompletableFuture removeCustomer = CompletableFuture.runAsync(() -> + externalPartCustomerService.lambdaUpdate() + .eq(ExternalPartCustomer::getProvisionalData, "Y") + .remove() + ); + CompletableFuture removeManufacturer = CompletableFuture.runAsync(() -> + externalPartManufacturerService.lambdaUpdate() + .eq(ExternalPartManufacturer::getProvisionalData, "Y") + .remove() + ); + CompletableFuture removePicture = CompletableFuture.runAsync(() -> + externalPartPictureService.lambdaUpdate() + .eq(ExternalPartPicture::getProvisionalData, "Y") + .remove() + ); + // 等待所有删除操作完成 + CompletableFuture.allOf(removePart, removeCustomer, removeManufacturer, removePicture).join(); } } + @Override public IPage selectExternalPartAndCustomerPage(Integer no, Integer size, PartVo part) { return baseMapper.selectExternalPartAndCustomerPage(new Page(no,size),part);