From 054de34b543fc9a98b1d4504290a69342eb1e064 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Mon, 29 Jul 2024 10:05:31 +0200 Subject: [PATCH] something --- .../business/domain/job/ArchiveOrderJob.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ArchiveOrderJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ArchiveOrderJob.java index 89e9485b8..99591848f 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ArchiveOrderJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ArchiveOrderJob.java @@ -7,6 +7,7 @@ import org.codehaus.jettison.json.JSONObject; import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ArchiveOrderRequest; import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ArchiveOrderRequestBody; import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ChangeOrderResponse; +import org.jeecg.modules.business.service.IPlatformOrderMabangService; import org.jeecg.modules.business.service.IPlatformOrderService; import org.quartz.Job; import org.quartz.JobDataMap; @@ -36,6 +37,8 @@ public class ArchiveOrderJob implements Job { @Autowired private IPlatformOrderService platformOrderService; + @Autowired + private IPlatformOrderMabangService platformOrderMabangService; @Override public void execute(JobExecutionContext context) throws JobExecutionException { @@ -86,7 +89,7 @@ public class ArchiveOrderJob implements Job { platformOrderIds.forEach(s -> archiveOrderRequestBodies.add(new ArchiveOrderRequestBody(s))); log.info("{} order archiving requests to be sent to MabangAPI", archiveOrderRequestBodies.size()); - + List platformOrderIdsArchived = new ArrayList<>(); List> changeOrderFutures = archiveOrderRequestBodies.stream() .map(archiveOrderRequestBody -> CompletableFuture.supplyAsync(() -> { boolean success = false; @@ -94,7 +97,9 @@ public class ArchiveOrderJob implements Job { ArchiveOrderRequest archiveOrderRequest = new ArchiveOrderRequest(archiveOrderRequestBody); ChangeOrderResponse response = archiveOrderRequest.send(); success = response.success(); - } catch (RuntimeException e) { + if(success) + platformOrderIdsArchived.add(archiveOrderRequestBody.getPlatformOrderId()); + } catch (RuntimeException e) { log.error("Error communicating with MabangAPI", e); } return success; @@ -103,5 +108,11 @@ public class ArchiveOrderJob implements Job { List results = changeOrderFutures.stream().map(CompletableFuture::join).collect(Collectors.toList()); long nbSuccesses = results.stream().filter(b -> b).count(); log.info("{}/{} order archiving requests have succeeded.", nbSuccesses, archiveOrderRequestBodies.size()); + + try { + platformOrderMabangService.syncOrdersFromMabang(platformOrderIdsArchived); + } catch (JSONException e) { + throw new RuntimeException(e); + } } }