From f54660d0014d2bf774e852988ffb37bcc754b009 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Wed, 29 May 2024 15:28:34 +0200 Subject: [PATCH 1/2] feat: clear logistic channel name --- .../dochangeorder/ClearLogisticRequest.java | 15 +++++ .../ClearLogisticRequestBody.java | 47 ++++++++++++++ .../dochangeorder/ClearLogisticResponse.java | 49 +++++++++++++++ .../domain/job/ClearLogisticChannelJob.java | 63 +++++++++++++++++++ 4 files changed, 174 insertions(+) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java new file mode 100644 index 000000000..04ac10e96 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.business.domain.api.mabang.dochangeorder; + +import org.jeecg.modules.business.domain.api.mabang.Request; + +public class EditLogisticRequest extends Request { + public EditLogisticRequest(EditLogisticRequestBody body) { + super(body); + } + + @Override + public ChangeOrderResponse send() { + String jsonString = rawSend().getBody(); + return ChangeOrderResponse.parse(jsonString); + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java new file mode 100644 index 000000000..e4207ce96 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java @@ -0,0 +1,47 @@ +package org.jeecg.modules.business.domain.api.mabang.dochangeorder; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.Data; +import org.apache.commons.lang3.tuple.Pair; +import org.jeecg.modules.business.domain.api.mabang.RequestBody; + +import java.util.HashSet; + +@Data +public class EditLogisticRequestBody implements RequestBody { + + + private String platformOrderId; + private String logisticChannelName; + /** + * 1 : edit, 2: delete, 3: add + */ + private Integer type; + + public EditLogisticRequestBody(String platformOrderId, String logisticChannelName, int type) { + this.platformOrderId = platformOrderId; + this.logisticChannelName = logisticChannelName; + this.type = type; + } + + @Override + public String api() { + return "order-do-change-order"; + } + + @Override + public JSONObject parameters() { + JSONObject json = new JSONObject(); + putNonNull(json, "platformOrderId", platformOrderId); + putNonNull(json, "myLogisticsId", logisticChannelName); + putNonNull(json, "type", type); + return json; + } + + private void putNonNull(JSONObject json, String key, E value) { + if (value != null) { + json.put(key, value); + } + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java new file mode 100644 index 000000000..d0801180b --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java @@ -0,0 +1,49 @@ +package org.jeecg.modules.business.domain.api.mabang.dochangeorder; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.jeecg.modules.business.domain.api.mabang.Response; + +public class ChangeOrderResponse extends Response { + private final String message; + /** + * Erp order number + */ + private final String orderId; + + + private ChangeOrderResponse(Code status, String message, String orderId) { + super(status); + this.message = message; + this.orderId = orderId; + } + + public static ChangeOrderResponse parse(String json) { + JSONObject jsonObject = JSON.parseObject(json); + String code = jsonObject.getString("code"); + String message = jsonObject.getString("message"); + if (code.equals("200")) { + JSONObject data = jsonObject.getJSONObject("data"); + String orderId = data.getString("orderId"); + return new ChangeOrderResponse(Code.SUCCESS, message, orderId); + } else { + return new ChangeOrderResponse(Code.ERROR, message, null); + } + } + + public String getMessage() { + return message; + } + + public String getOrderId() { + return orderId; + } + + @Override + public String toString() { + return "ChangeOrderResponse{" + + "message='" + message + '\'' + + ", orderId='" + orderId + '\'' + + '}'; + } +} diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java new file mode 100644 index 000000000..b53c6ebc7 --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java @@ -0,0 +1,63 @@ +package org.jeecg.modules.business.domain.job; + +import lombok.extern.slf4j.Slf4j; +import org.codehaus.jettison.json.JSONArray; +import org.codehaus.jettison.json.JSONException; +import org.codehaus.jettison.json.JSONObject; +import org.jeecg.modules.business.domain.api.mabang.dochangeorder.*; +import org.jeecg.modules.business.domain.api.mabang.getorderlist.Order; +import org.quartz.Job; +import org.quartz.JobDataMap; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.stream.Collectors; + +@Slf4j +public class ClearLogisticChannelJob implements Job { + private static final Integer DEFAULT_NUMBER_OF_THREADS = 10; + + @Override + public void execute(JobExecutionContext context) throws JobExecutionException { + JobDataMap jobDataMap = context.getMergedJobDataMap(); + String parameter = ((String) jobDataMap.get("parameter")); + List platformOrderIds = new ArrayList<>(); + if (parameter != null) { + try { + JSONObject jsonObject = new JSONObject(parameter); + if (!jsonObject.isNull("platformOrderIds")) { + JSONArray orderIds = jsonObject.getJSONArray("platformOrderIds"); + if(orderIds == null) { + throw new RuntimeException("Empty parameter"); + } + for(int i = 0; i < orderIds.length(); i++) { + platformOrderIds.add(orderIds.get(i).toString()); + } + } + else { + throw new RuntimeException("platformOrderIds parameter is mandatory."); + } + } catch (JSONException e) { + throw new RuntimeException(e); + } + } + ExecutorService executor = Executors.newFixedThreadPool(DEFAULT_NUMBER_OF_THREADS); + + List> clearLogisticFutures = platformOrderIds.stream() + .map(orderId -> CompletableFuture.supplyAsync(() -> { + ClearLogisticRequestBody body = new ClearLogisticRequestBody(orderId); + ClearLogisticRequest request = new ClearLogisticRequest(body); + ClearLogisticResponse response = request.send(); + return response.success(); + }, executor)) + .collect(Collectors.toList()); + List clearResults = clearLogisticFutures.stream().map(CompletableFuture::join).collect(Collectors.toList()); + long clearSuccessCount = clearResults.stream().filter(b -> b).count(); + log.info("{}/{} logistic channel names cleared successfully.", clearSuccessCount, platformOrderIds.size()); + } +} From 556820e0e2431e2a0ec119e7d0fb0d50db8e03c7 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Wed, 29 May 2024 15:30:03 +0200 Subject: [PATCH 2/2] feat: clear logistic channel name --- .../dochangeorder/ClearLogisticRequest.java | 8 ++--- .../ClearLogisticRequestBody.java | 21 +++-------- .../dochangeorder/ClearLogisticResponse.java | 36 +++---------------- .../domain/job/AddPortraitTubeJob.java | 4 ++- .../domain/job/ClearLogisticChannelJob.java | 1 - .../domain/job/RemoveVirtualProductJob.java | 25 ++++++++++--- .../business/mapper/PlatformOrderMapper.java | 2 +- .../mapper/xml/PlatformOrderMapper.xml | 4 +-- .../service/IPlatformOrderService.java | 2 +- .../impl/PlatformOrderServiceImpl.java | 2 +- .../templates/admin/invoiceNotification.ftl | 2 +- .../resources/templates/invoiceDetailMail.ftl | 2 +- 12 files changed, 44 insertions(+), 65 deletions(-) diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java index 04ac10e96..52067f937 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequest.java @@ -2,14 +2,14 @@ package org.jeecg.modules.business.domain.api.mabang.dochangeorder; import org.jeecg.modules.business.domain.api.mabang.Request; -public class EditLogisticRequest extends Request { - public EditLogisticRequest(EditLogisticRequestBody body) { +public class ClearLogisticRequest extends Request { + public ClearLogisticRequest(ClearLogisticRequestBody body) { super(body); } @Override - public ChangeOrderResponse send() { + public ClearLogisticResponse send() { String jsonString = rawSend().getBody(); - return ChangeOrderResponse.parse(jsonString); + return ClearLogisticResponse.parse(jsonString); } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java index e4207ce96..4dff1ff13 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticRequestBody.java @@ -1,41 +1,28 @@ package org.jeecg.modules.business.domain.api.mabang.dochangeorder; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.Data; -import org.apache.commons.lang3.tuple.Pair; import org.jeecg.modules.business.domain.api.mabang.RequestBody; -import java.util.HashSet; - @Data -public class EditLogisticRequestBody implements RequestBody { - +public class ClearLogisticRequestBody implements RequestBody { private String platformOrderId; - private String logisticChannelName; - /** - * 1 : edit, 2: delete, 3: add - */ - private Integer type; - public EditLogisticRequestBody(String platformOrderId, String logisticChannelName, int type) { + public ClearLogisticRequestBody(String platformOrderId) { this.platformOrderId = platformOrderId; - this.logisticChannelName = logisticChannelName; - this.type = type; } @Override public String api() { - return "order-do-change-order"; + return "order-do-order-logistics"; } @Override public JSONObject parameters() { JSONObject json = new JSONObject(); putNonNull(json, "platformOrderId", platformOrderId); - putNonNull(json, "myLogisticsId", logisticChannelName); - putNonNull(json, "type", type); + putNonNull(json, "type", 1); return json; } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java index d0801180b..6e97276f7 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ClearLogisticResponse.java @@ -4,46 +4,20 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.jeecg.modules.business.domain.api.mabang.Response; -public class ChangeOrderResponse extends Response { - private final String message; - /** - * Erp order number - */ - private final String orderId; +public class ClearLogisticResponse extends Response { - private ChangeOrderResponse(Code status, String message, String orderId) { + private ClearLogisticResponse(Code status) { super(status); - this.message = message; - this.orderId = orderId; } - public static ChangeOrderResponse parse(String json) { + public static ClearLogisticResponse parse(String json) { JSONObject jsonObject = JSON.parseObject(json); String code = jsonObject.getString("code"); - String message = jsonObject.getString("message"); if (code.equals("200")) { - JSONObject data = jsonObject.getJSONObject("data"); - String orderId = data.getString("orderId"); - return new ChangeOrderResponse(Code.SUCCESS, message, orderId); + return new ClearLogisticResponse(Code.SUCCESS); } else { - return new ChangeOrderResponse(Code.ERROR, message, null); + return new ClearLogisticResponse(Code.ERROR); } } - - public String getMessage() { - return message; - } - - public String getOrderId() { - return orderId; - } - - @Override - public String toString() { - return "ChangeOrderResponse{" + - "message='" + message + '\'' + - ", orderId='" + orderId + '\'' + - '}'; - } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java index 595f28608..588cbd1e9 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/AddPortraitTubeJob.java @@ -10,6 +10,7 @@ import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ChangeOrderReq import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ChangeOrderRequestBody; import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ChangeOrderResponse; import org.jeecg.modules.business.domain.api.mabang.getorderlist.*; +import org.jeecg.modules.business.entity.PlatformOrder; import org.jeecg.modules.business.service.IPlatformOrderService; import org.quartz.Job; import org.quartz.JobDataMap; @@ -87,7 +88,8 @@ public class AddPortraitTubeJob implements Job { throw new RuntimeException("EndDateTime must be strictly greater than StartDateTime !"); } - List platformOrderIds = platformOrderService.fetchUninvoicedOrdersForShops(startDateTime, endDateTime, shops); + List platformOrders = platformOrderService.fetchUninvoicedOrdersForShops(startDateTime, endDateTime, shops); + List platformOrderIds = platformOrders.stream().map(PlatformOrder::getPlatformOrderId).collect(Collectors.toList()); List> platformOrderIdLists = Lists.partition(platformOrderIds, 10); List requests = new ArrayList<>(); diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java index b53c6ebc7..cca33e0da 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/ClearLogisticChannelJob.java @@ -5,7 +5,6 @@ import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; import org.jeecg.modules.business.domain.api.mabang.dochangeorder.*; -import org.jeecg.modules.business.domain.api.mabang.getorderlist.Order; import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/RemoveVirtualProductJob.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/RemoveVirtualProductJob.java index 877ab0680..d9e9e80c4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/RemoveVirtualProductJob.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/job/RemoveVirtualProductJob.java @@ -6,10 +6,9 @@ import org.apache.commons.lang3.tuple.Pair; import org.codehaus.jettison.json.JSONArray; import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONObject; -import org.jeecg.modules.business.domain.api.mabang.dochangeorder.ChangeOrderResponse; -import org.jeecg.modules.business.domain.api.mabang.dochangeorder.RemoveSkuRequest; -import org.jeecg.modules.business.domain.api.mabang.dochangeorder.RemoveSkuRequestBody; +import org.jeecg.modules.business.domain.api.mabang.dochangeorder.*; import org.jeecg.modules.business.domain.api.mabang.getorderlist.*; +import org.jeecg.modules.business.entity.PlatformOrder; import org.jeecg.modules.business.service.IPlatformOrderService; import org.quartz.Job; import org.quartz.JobDataMap; @@ -81,7 +80,8 @@ public class RemoveVirtualProductJob implements Job { throw new RuntimeException("EndDateTime must be strictly greater than StartDateTime !"); } - List platformOrderIds = platformOrderService.fetchUninvoicedOrdersForShops(startDateTime, endDateTime, shops); + List platformOrders = platformOrderService.fetchUninvoicedOrdersForShops(startDateTime, endDateTime, shops); + List platformOrderIds = platformOrders.stream().map(PlatformOrder::getPlatformOrderId).collect(Collectors.toList()); List> platformOrderIdLists = Lists.partition(platformOrderIds, 10); List requests = new ArrayList<>(); @@ -112,6 +112,7 @@ public class RemoveVirtualProductJob implements Job { log.info("{}/{} mabang orders have been retrieved.", mabangOrders.size(), platformOrderIds.size()); log.info("Constructing virtual SKU removal requests"); + List ordersWithLogistic = new ArrayList<>(); List removeSkuRequests = new ArrayList<>(); Set shopErpCodes = virtualSkusByShop.keySet(); for (Order mabangOrder : mabangOrders) { @@ -126,6 +127,9 @@ public class RemoveVirtualProductJob implements Job { } } if (!virtualSkuToRemove.isEmpty()) { + if(!mabangOrder.getLogisticChannelName().isEmpty()) { + ordersWithLogistic.add(mabangOrder); + } RemoveSkuRequestBody removeSkuRequestBody = new RemoveSkuRequestBody(mabangOrder.getPlatformOrderId(), virtualSkuToRemove); removeSkuRequests.add(removeSkuRequestBody); @@ -134,6 +138,19 @@ public class RemoveVirtualProductJob implements Job { } log.info("{} virtual SKU removal requests to be sent to MabangAPI", removeSkuRequests.size()); + // First we delete the logistic channel names, otherwise we can't delete virtual skus + List> clearLogisticFutures = ordersWithLogistic.stream() + .map(orderWithLogistic -> CompletableFuture.supplyAsync(() -> { + ClearLogisticRequestBody body = new ClearLogisticRequestBody(orderWithLogistic.getPlatformOrderId()); + ClearLogisticRequest request = new ClearLogisticRequest(body); + ClearLogisticResponse response = request.send(); + return response.success(); + }, executor)) + .collect(Collectors.toList()); + List logisticResults = clearLogisticFutures.stream().map(CompletableFuture::join).collect(Collectors.toList()); + long logisticClearSuccessCount = logisticResults.stream().filter(b -> b).count(); + log.info("{}/{} logistic channel names cleared successfully.", logisticClearSuccessCount, ordersWithLogistic.size()); + List> removeSkuFutures = removeSkuRequests.stream() .map(removeSkuRequestBody -> CompletableFuture.supplyAsync(() -> { boolean success = false; 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 5871009d7..2a8d6ba16 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 @@ -161,7 +161,7 @@ public interface PlatformOrderMapper extends BaseMapper { List fetchBillCodesOfParcelsWithoutTrace(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("transporters") List transporters); - List fetchUninvoicedOrdersForShops(@Param("startDateTime") LocalDateTime startDateTime, + List fetchUninvoicedOrdersForShops(@Param("startDateTime") LocalDateTime startDateTime, @Param("endDateTime") LocalDateTime endDateTime, @Param("shops") List shops); 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 ba302500b..4bc711014 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 @@ -404,8 +404,8 @@ AND internal_tracking_number IS NOT NULL; - + SELECT platform_order_id, logistic_channel_name FROM platform_order po join shop s ON po.shop_id = s.id WHERE erp_code IN { List fetchBillCodesOfParcelsWithoutTrace(Date startDate, Date endDate, List transporters); - List fetchUninvoicedOrdersForShops(LocalDateTime startDate, LocalDateTime endDate, List shops); + List fetchUninvoicedOrdersForShops(LocalDateTime startDate, LocalDateTime endDate, List shops); /** * Fetch platformOrderId of shipped AND invoiced orders, from startDatetime to endDatetime, excluding orders from 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 d2c4cd04b..0e6b5bee0 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 @@ -369,7 +369,7 @@ public class PlatformOrderServiceImpl extends ServiceImpl fetchUninvoicedOrdersForShops(LocalDateTime startDate, LocalDateTime endDate, List shops) { + public List fetchUninvoicedOrdersForShops(LocalDateTime startDate, LocalDateTime endDate, List shops) { return platformOrderMap.fetchUninvoicedOrdersForShops(startDate, endDate, shops); } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/admin/invoiceNotification.ftl b/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/admin/invoiceNotification.ftl index 97c956ad9..c920d7fe4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/admin/invoiceNotification.ftl +++ b/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/admin/invoiceNotification.ftl @@ -12,6 +12,6 @@ Client : ${invoiceEntity} - Numéro de facture : ${invoiceNumber} + Numéro de facture : ${invoiceNumber} <#include "../components/footer.ftl"> \ No newline at end of file diff --git a/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/invoiceDetailMail.ftl b/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/invoiceDetailMail.ftl index 2e346cbfc..e6e0c9ea8 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/invoiceDetailMail.ftl +++ b/jeecg-module-system/jeecg-system-biz/src/main/resources/templates/invoiceDetailMail.ftl @@ -12,6 +12,6 @@ Client : ${invoiceEntity} - Numéro de facture : ${invoiceNumber} + Numéro de facture : ${invoiceNumber} <#include "components/footer.ftl"> \ No newline at end of file