|
|
|
@ -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" |
|
|
|
CompletableFuture<Void> updatePart = CompletableFuture.runAsync(() -> |
|
|
|
lambdaUpdate() |
|
|
|
.eq(Part::getProvisionalData, "Y") |
|
|
|
.set(Part::getProvisionalData, "N") |
|
|
|
.update(); |
|
|
|
.update() |
|
|
|
); |
|
|
|
CompletableFuture<Void> updateCustomer = CompletableFuture.runAsync(() -> |
|
|
|
externalPartCustomerService.lambdaUpdate() |
|
|
|
.eq(ExternalPartCustomer::getProvisionalData, "Y") |
|
|
|
.set(ExternalPartCustomer::getProvisionalData, "N") |
|
|
|
.update(); |
|
|
|
.update() |
|
|
|
); |
|
|
|
CompletableFuture<Void> updateManufacturer = CompletableFuture.runAsync(() -> |
|
|
|
externalPartManufacturerService.lambdaUpdate() |
|
|
|
.eq(ExternalPartManufacturer::getProvisionalData, "Y") |
|
|
|
.set(ExternalPartManufacturer::getProvisionalData, "N") |
|
|
|
.update(); |
|
|
|
.update() |
|
|
|
); |
|
|
|
CompletableFuture<Void> updatePicture = CompletableFuture.runAsync(() -> |
|
|
|
externalPartPictureService.lambdaUpdate() |
|
|
|
.eq(ExternalPartPicture::getProvisionalData, "Y") |
|
|
|
.set(ExternalPartPicture::getProvisionalData, "N") |
|
|
|
.update(); |
|
|
|
.update() |
|
|
|
); |
|
|
|
// 等待所有更新操作完成 |
|
|
|
CompletableFuture.allOf(updatePart, updateCustomer, updateManufacturer, updatePicture).join(); |
|
|
|
} else if (type == 2 || type == 3) { |
|
|
|
// 批量删除,将所有 provisionalData 为 "Y" 的记录删除 |
|
|
|
CompletableFuture<Void> removePart = CompletableFuture.runAsync(() -> |
|
|
|
lambdaUpdate() |
|
|
|
.eq(Part::getProvisionalData, "Y") |
|
|
|
.remove(); |
|
|
|
.remove() |
|
|
|
); |
|
|
|
CompletableFuture<Void> removeCustomer = CompletableFuture.runAsync(() -> |
|
|
|
externalPartCustomerService.lambdaUpdate() |
|
|
|
.eq(ExternalPartCustomer::getProvisionalData, "Y") |
|
|
|
.remove(); |
|
|
|
.remove() |
|
|
|
); |
|
|
|
CompletableFuture<Void> removeManufacturer = CompletableFuture.runAsync(() -> |
|
|
|
externalPartManufacturerService.lambdaUpdate() |
|
|
|
.eq(ExternalPartManufacturer::getProvisionalData, "Y") |
|
|
|
.remove(); |
|
|
|
.remove() |
|
|
|
); |
|
|
|
CompletableFuture<Void> removePicture = CompletableFuture.runAsync(() -> |
|
|
|
externalPartPictureService.lambdaUpdate() |
|
|
|
.eq(ExternalPartPicture::getProvisionalData, "Y") |
|
|
|
.remove(); |
|
|
|
.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); |
|
|
|
|