From 964e30f16d08738b5c8dced13cebb81e0ef8d272 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Thu, 4 Jul 2024 16:12:50 +0200 Subject: [PATCH 1/2] fix: mabang job, overriding order content --- .../impl/PlatformOrderMabangServiceImpl.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderMabangServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderMabangServiceImpl.java index d5593bec2..14bb51cdf 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderMabangServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderMabangServiceImpl.java @@ -17,6 +17,7 @@ import org.jeecg.modules.business.domain.job.ThrottlingExecutorService; import org.jeecg.modules.business.entity.PlatformOrder; import org.jeecg.modules.business.mapper.PlatformOrderMabangMapper; import org.jeecg.modules.business.service.IPlatformOrderMabangService; +import org.jeecg.modules.business.service.IPlatformOrderService; import org.jeecg.modules.business.vo.PlatformOrderOperation; import org.jeecg.modules.business.vo.Responses; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +47,8 @@ public class PlatformOrderMabangServiceImpl extends ServiceImpl allNewItems = prepareItems(newOrders); try { - if (newOrders.size() != 0) { + if (!newOrders.isEmpty()) { log.info("{} orders to be inserted/updated.", newOrders.size()); platformOrderMabangMapper.insertOrdersFromMabang(newOrders); } - if (allNewItems.size() != 0) { + if (!allNewItems.isEmpty()) { platformOrderMabangMapper.insertOrderItemsFromMabang(allNewItems); log.info("{} order items to be inserted/updated.", allNewItems.size()); } @@ -138,12 +144,12 @@ public class PlatformOrderMabangServiceImpl extends ServiceImpl allNewItemsOfOldItems = prepareItems(oldOrders); try { - if (oldOrders.size() != 0) { + if (!oldOrders.isEmpty()) { log.info("{} orders to be inserted/updated.", oldOrders.size()); platformOrderMabangMapper.batchUpdateById(oldOrders); platformOrderMabangMapper.batchDeleteByMainID(oldOrders.stream().map(Order::getId).collect(toList())); } - if (ordersFromShippedToCompleted.size() != 0) { + if (!ordersFromShippedToCompleted.isEmpty()) { log.info("{} orders to be updated from Shipped to Completed.", ordersFromShippedToCompleted.size()); platformOrderMabangMapper.batchUpdateById(ordersFromShippedToCompleted); log.info("Contents of {} orders to be updated from Shipped to Completed.", ordersFromShippedToCompleted.size()); @@ -151,7 +157,7 @@ public class PlatformOrderMabangServiceImpl extends ServiceImpl Date: Mon, 29 Jul 2024 10:05:31 +0200 Subject: [PATCH 2/2] 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); + } } }