diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/shopify/GetFulfillmentRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/shopify/GetFulfillmentRequestBody.java index aaf5b4cc5..34b9335dd 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/shopify/GetFulfillmentRequestBody.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/shopify/GetFulfillmentRequestBody.java @@ -12,7 +12,7 @@ public class GetFulfillmentRequestBody extends ShopifyRequestBody { public GetFulfillmentRequestBody(String sitePrefix, String platformOrderId, String shopToken) { super(sitePrefix, shopToken); - this.platformOrderId = platformOrderId; + this.platformOrderId = platformOrderId.split("_")[0]; } public GetFulfillmentRequestBody(PlatformOrderShopSync platformOrderShopSync) { diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ShopifySyncJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ShopifySyncJob.java index e370c41c1..8d5666701 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ShopifySyncJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ShopifySyncJob.java @@ -16,10 +16,7 @@ import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -83,7 +80,7 @@ public class ShopifySyncJob implements Job { GetFulfillmentRequest getFulfillmentRequest = new GetFulfillmentRequest(body); String responseStr = getFulfillmentRequest.rawSend().getBody(); FulfillmentOrdersResponse response = mapper.readValue(responseStr, FulfillmentOrdersResponse.class); - fulfillmentOrders.add(response.getFulfillmentOrders().get(0)); + fulfillmentOrders.addAll(response.getFulfillmentOrders()); success = true; } catch (RuntimeException e) { log.error("Error communicating with ShopifyAPI", e); @@ -109,6 +106,7 @@ public class ShopifySyncJob implements Job { } log.info("{} fulfillment creation requests to be sent to ShopifyAPI", createFulfillmentRequests.size()); + Set syncedPlatformOrderIds = new HashSet<>(); List> fulfillmentCreationFutures = createFulfillmentRequests.stream() .map(changeOrderRequestBody -> CompletableFuture.supplyAsync(() -> { boolean success = false; @@ -117,6 +115,9 @@ public class ShopifySyncJob implements Job { String responseStr = createFulfillmentRequest.rawSend().getBody(); FulfillmentCreationResponse response = mapper.readValue(responseStr, FulfillmentCreationResponse.class); success = response.getFulfillment().isSuccess(); + if (success) { + syncedPlatformOrderIds.add(response.getFulfillment().getOrderId()); + } } catch (RuntimeException e) { log.error("Error communicating with ShopifyAPI", e); } catch (JsonProcessingException e) { @@ -128,5 +129,10 @@ public class ShopifySyncJob implements Job { results = fulfillmentCreationFutures.stream().map(CompletableFuture::join).collect(Collectors.toList()); nbSuccesses = results.stream().filter(b -> b).count(); log.info("{}/{} fulfillment creation requests have succeeded.", nbSuccesses, createFulfillmentRequests.size()); + + if (!syncedPlatformOrderIds.isEmpty()) { + platformOrderService.updateShopifySynced(syncedPlatformOrderIds); + log.info("Those orders have been marked as shopify synced : {} ", syncedPlatformOrderIds); + } } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/PlatformOrder.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/PlatformOrder.java index 645107014..d6498242f 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/PlatformOrder.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/PlatformOrder.java @@ -18,8 +18,8 @@ import java.util.Date; /** * @Description: 平台订单表 * @Author: jeecg-boot - * @Date: 2024-01-25 - * @Version: V1.8 + * @Date: 2024-05-30 + * @Version: V1.9 */ @ApiModel(value = "platform_order对象", description = "平台订单表") @Data @@ -252,4 +252,11 @@ public class PlatformOrder implements Serializable { @Excel(name = "个人税号", width = 15) @ApiModelProperty(value = "个人税号") private java.lang.String taxNumber; + /** + * Shopify平台已同步(1=已同步,0=未同步) + */ + @Excel(name = "Shopify平台已同步(1=已同步,0=未同步)", width = 15, dicCode = "yn") + @Dict(dicCode = "yn") + @ApiModelProperty(value = "Shopify平台已同步(1=已同步,0=未同步)") + private java.lang.String shopifySynced; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java index 805e5f328..30ffdbd0c 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/PlatformOrderMapper.java @@ -13,6 +13,7 @@ import org.jeecg.modules.business.vo.clientPlatformOrder.section.OrderQuantity; import org.springframework.stereotype.Repository; import java.time.LocalDateTime; +import java.util.Collection; import java.util.Date; import java.util.List; import java.util.Map; @@ -231,4 +232,5 @@ public interface PlatformOrderMapper extends BaseMapper { List findReadyAbnormalOrders(@Param("skus") List skus, @Param("shops") List shops); List findReadyAbnormalOrdersWithSkus(@Param("skus") List skus); + void updateShopifySynced(@Param("platformOrderIds") Collection platformOrderIds); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml index 6b2b1917a..5d46e4981 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/mapper/xml/PlatformOrderMapper.xml @@ -463,6 +463,7 @@ #{shop} AND ready_for_shopify_sync = 1 + AND shopify_synced = 0 AND erp_status = 3 ORDER BY shipping_time; @@ -1064,4 +1065,13 @@ AND poc.erp_status <> 5 AND poc.warehouse_name = '法国巴黎仓库-唯客路'; + + + UPDATE platform_order + SET shopify_synced = 1 + WHERE platform_order_id IN + + #{platformOrderId} + + diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java index 1205ffb28..fdd185cf7 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IPlatformOrderService.java @@ -255,4 +255,5 @@ public interface IPlatformOrderService extends IService { List findReadyAbnormalOrders(List skus, List shops); List findReadyAbnormalOrdersWithSkus(List skus); + void updateShopifySynced(Collection platformOrderIds); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java index f7838f03b..cec50dab7 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/PlatformOrderServiceImpl.java @@ -519,5 +519,9 @@ public class PlatformOrderServiceImpl extends ServiceImpl findReadyAbnormalOrdersWithSkus(List skus) { return platformOrderMap.findReadyAbnormalOrdersWithSkus(skus); + + @Override + public void updateShopifySynced(Collection platformOrderIds) { + platformOrderMap.updateShopifySynced(platformOrderIds); } } diff --git a/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt b/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt index 6fb8512e4..ab49de582 100644 --- a/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt +++ b/jeecg-module-system/jeecg-system-start/src/main/resources/banner.txt @@ -1,17 +1,14 @@ ${AnsiColor.BRIGHT_BLUE} - (_) | | | | - _ ___ ___ ___ __ _ ______| |__ ___ ___ | |_ - | |/ _ \/ _ \/ __/ _` |______| '_ \ / _ \ / _ \| __| - | | __/ __/ (_| (_| | | |_) | (_) | (_) | |_ - | |\___|\___|\___\__, | |_.__/ \___/ \___/ \__| - _/ | __/ | - |__/ |___/ + _ _ _ _____ ______ ______ + | || || (_____) /\ /\ (_____ (_____ \ + | || || | _ / \ / \ _____) )____) ) + | ||_|| | | | / /\ \ / /\ \| ____/ ____/ + | |___| |_| |_| |__| | | |__| | | | | + \______(_____)______| |______|_| |_| ${AnsiColor.BRIGHT_GREEN} -Jeecg Boot Version: 3.6.3 +WIA APP Version: 2.2.0 Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version} -产品官网: www.jeecg.com -版权所属: 北京国炬信息技术有限公司 -公司官网: www.guojusoft.com +Website: www.wia-sourcing.com ${AnsiColor.BLACK} diff --git a/pom.xml b/pom.xml index bd75c401e..18263d7fb 100644 --- a/pom.xml +++ b/pom.xml @@ -2,9 +2,9 @@ 4.0.0 org.jeecgframework.boot jeecg-boot-parent - 3.6.3 + 2.2.0 pom - JEECG BOOT ${project.version} + WIA APP ${project.version}