From 007fecf9b6593ddc27f5ff2d2f6e42d665965109 Mon Sep 17 00:00:00 2001 From: Gauthier LO Date: Mon, 5 May 2025 09:59:24 +0200 Subject: [PATCH 1/2] (WIP) invoiced order remark --- .../dochangeorder/ChangeOrderResponse.java | 20 +++---- .../dochangeorder/EditRemarkRequest.java | 15 +++++ .../dochangeorder/EditRemarkRequestBody.java | 36 +++++++++++ .../domain/api/mabang/getorderlist/Order.java | 6 ++ .../business/mapper/PlatformOrderMapper.java | 1 + .../mapper/xml/PlatformOrderMapper.xml | 5 ++ .../service/IPlatformOrderMabangService.java | 3 + .../service/IPlatformOrderService.java | 1 + .../impl/PlatformOrderMabangServiceImpl.java | 60 ++++++++++++++++++- .../impl/PlatformOrderServiceImpl.java | 4 ++ 10 files changed, 138 insertions(+), 13 deletions(-) create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequest.java create mode 100644 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequestBody.java diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderResponse.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderResponse.java index d0801180b..4f450e3f4 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderResponse.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/ChangeOrderResponse.java @@ -2,20 +2,24 @@ package org.jeecg.modules.business.domain.api.mabang.dochangeorder; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import lombok.Getter; import org.jeecg.modules.business.domain.api.mabang.Response; +@Getter public class ChangeOrderResponse extends Response { private final String message; /** * Erp order number */ private final String orderId; + private final String platformOrderId; - private ChangeOrderResponse(Code status, String message, String orderId) { + private ChangeOrderResponse(Code status, String message, String orderId, String platformOrderId) { super(status); this.message = message; this.orderId = orderId; + this.platformOrderId = platformOrderId; } public static ChangeOrderResponse parse(String json) { @@ -25,25 +29,19 @@ public class ChangeOrderResponse extends Response { if (code.equals("200")) { JSONObject data = jsonObject.getJSONObject("data"); String orderId = data.getString("orderId"); - return new ChangeOrderResponse(Code.SUCCESS, message, orderId); + String platformOrderId = data.getString("platformOrderId"); + return new ChangeOrderResponse(Code.SUCCESS, message, orderId, platformOrderId); } else { - return new ChangeOrderResponse(Code.ERROR, message, null); + return new ChangeOrderResponse(Code.ERROR, message, null, null); } } - public String getMessage() { - return message; - } - - public String getOrderId() { - return orderId; - } - @Override public String toString() { return "ChangeOrderResponse{" + "message='" + message + '\'' + ", orderId='" + orderId + '\'' + + ", platformOrderId='" + platformOrderId + '\'' + '}'; } } diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequest.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequest.java new file mode 100644 index 000000000..f99bb9e2c --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequest.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 EditRemarkRequest extends Request { + public EditRemarkRequest(EditRemarkRequestBody 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/EditRemarkRequestBody.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequestBody.java new file mode 100644 index 000000000..eb99e11cf --- /dev/null +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/dochangeorder/EditRemarkRequestBody.java @@ -0,0 +1,36 @@ +package org.jeecg.modules.business.domain.api.mabang.dochangeorder; + +import com.alibaba.fastjson.JSONObject; +import lombok.Getter; +import org.jeecg.modules.business.domain.api.mabang.RequestBody; + +import java.util.Map; + +@Getter +public class EditRemarkRequestBody implements RequestBody { + private final String platformOrderId; + private final String remark; + + public EditRemarkRequestBody(String platformOrderId, String remark) { + this.platformOrderId = platformOrderId; + this.remark = remark; + } + + @Override + public String api() { + return "order-do-change-order"; + } + + @Override + public Map parameters() { + JSONObject json = new JSONObject(); + putNonNull(json, "platformOrderId", platformOrderId); + putNonNull(json, "remark", remark); + 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/getorderlist/Order.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/getorderlist/Order.java index 90af1ed6d..0389fd03e 100644 --- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/getorderlist/Order.java +++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/domain/api/mabang/getorderlist/Order.java @@ -125,6 +125,12 @@ public class Order { @JSONField(name = "isNewOrder") private String isNewOrder; + /** + * 订单备注 + */ + @JSONField(name = "remark") + private String remark; + /** * 1 = 有货 * 2 = 缺货 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 0dff6b7be..bcc95a1a3 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 @@ -218,6 +218,7 @@ public interface PlatformOrderMapper extends BaseMapper { List fetchShippingFeeBillableOrders(); List getPlatformOrdersByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); + List getPlatformOrderIdsByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber); OrderKpi countPlatformOrders(@Param("start") LocalDateTime start, @Param("end") LocalDateTime end, @Param("showAllData") boolean showAllData, @Param("username") String username); 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 937bd7ddf..8942fe1fa 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 @@ -962,6 +962,11 @@ FROM platform_order WHERE shipping_invoice_number = #{invoiceNumber}; + SELECT platform_order_id FROM platform_order - WHERE shipping_invoice_number = #{invoiceNumber}; + WHERE shipping_invoice_number = #{invoiceNumber} OR purchase_invoice_number = #{invoiceNumber}; SELECT count(po.id) FROM platform_order po - JOIN platform_order_content poc ON po.id = poc.platform_order_id - JOIN sku s ON poc.sku_id = s.id - JOIN logistic_channel lc ON po.logistic_channel_name = lc.zh_name + JOIN logistic_channel lc ON po.logistic_channel_name = lc.zh_name WHERE po.erp_status IN #{erpStatus} @@ -1308,6 +1320,7 @@ AND po.order_time BETWEEN #{start} AND #{end} + AND po.shipping_invoice_number IS NULL