Browse Source

:art: #3569 【视频号】微信小店-订单详情查询接口增加参数

altusea 4 days ago
parent
commit
2762a98279

+ 11 - 0
weixin-java-channel/src/main/java/me/chanjar/weixin/channel/api/WxChannelOrderService.java

@@ -35,6 +35,17 @@ public interface WxChannelOrderService {
   OrderInfoResponse getOrder(String orderId) throws WxErrorException;
   OrderInfoResponse getOrder(String orderId) throws WxErrorException;
 
 
   /**
   /**
+   * 获取订单详情
+   *
+   * @param orderId             订单id
+   * @param encodeSensitiveInfo 是否编码敏感信息
+   * @return 订单详情
+   *
+   * @throws WxErrorException 异常
+   */
+  OrderInfoResponse getOrder(String orderId, Boolean encodeSensitiveInfo) throws WxErrorException;
+
+  /**
    * 获取订单列表
    * 获取订单列表
    *
    *
    * @param param 搜索条件
    * @param param 搜索条件

+ 9 - 13
weixin-java-channel/src/main/java/me/chanjar/weixin/channel/api/impl/WxChannelOrderServiceImpl.java

@@ -14,18 +14,7 @@ import me.chanjar.weixin.channel.bean.delivery.DeliveryCompanyResponse;
 import me.chanjar.weixin.channel.bean.delivery.DeliveryInfo;
 import me.chanjar.weixin.channel.bean.delivery.DeliveryInfo;
 import me.chanjar.weixin.channel.bean.delivery.DeliverySendParam;
 import me.chanjar.weixin.channel.bean.delivery.DeliverySendParam;
 import me.chanjar.weixin.channel.bean.delivery.FreshInspectParam;
 import me.chanjar.weixin.channel.bean.delivery.FreshInspectParam;
-import me.chanjar.weixin.channel.bean.order.ChangeOrderInfo;
-import me.chanjar.weixin.channel.bean.order.DecodeSensitiveInfoResponse;
-import me.chanjar.weixin.channel.bean.order.DeliveryUpdateParam;
-import me.chanjar.weixin.channel.bean.order.OrderAddressParam;
-import me.chanjar.weixin.channel.bean.order.OrderIdParam;
-import me.chanjar.weixin.channel.bean.order.OrderInfoResponse;
-import me.chanjar.weixin.channel.bean.order.OrderListParam;
-import me.chanjar.weixin.channel.bean.order.OrderListResponse;
-import me.chanjar.weixin.channel.bean.order.OrderPriceParam;
-import me.chanjar.weixin.channel.bean.order.OrderRemarkParam;
-import me.chanjar.weixin.channel.bean.order.OrderSearchParam;
-import me.chanjar.weixin.channel.bean.order.VirtualTelNumberResponse;
+import me.chanjar.weixin.channel.bean.order.*;
 import me.chanjar.weixin.channel.util.ResponseUtils;
 import me.chanjar.weixin.channel.util.ResponseUtils;
 import me.chanjar.weixin.common.error.WxErrorException;
 import me.chanjar.weixin.common.error.WxErrorException;
 
 
@@ -47,7 +36,14 @@ public class WxChannelOrderServiceImpl implements WxChannelOrderService {
 
 
   @Override
   @Override
   public OrderInfoResponse getOrder(String orderId) throws WxErrorException {
   public OrderInfoResponse getOrder(String orderId) throws WxErrorException {
-    OrderIdParam param = new OrderIdParam(orderId);
+    OrderInfoParam param = new OrderInfoParam(orderId, null);
+    String resJson = shopService.post(ORDER_GET_URL, param);
+    return ResponseUtils.decode(resJson, OrderInfoResponse.class);
+  }
+
+  @Override
+  public OrderInfoResponse getOrder(String orderId, Boolean encodeSensitiveInfo) throws WxErrorException {
+    OrderInfoParam param = new OrderInfoParam(orderId, encodeSensitiveInfo);
     String resJson = shopService.post(ORDER_GET_URL, param);
     String resJson = shopService.post(ORDER_GET_URL, param);
     return ResponseUtils.decode(resJson, OrderInfoResponse.class);
     return ResponseUtils.decode(resJson, OrderInfoResponse.class);
   }
   }

+ 31 - 0
weixin-java-channel/src/main/java/me/chanjar/weixin/channel/bean/order/OrderInfoParam.java

@@ -0,0 +1,31 @@
+package me.chanjar.weixin.channel.bean.order;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 获取订单详情参数
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrderInfoParam implements Serializable {
+
+  private static final long serialVersionUID = 42L;
+
+  /** 订单ID */
+  @JsonProperty("order_id")
+  private String orderId;
+
+  /**
+   * 用于商家提前测试订单脱敏效果,如果传true,即对订单进行脱敏,后期会默认对所有订单脱敏
+   */
+  @JsonProperty("encode_sensitive_info")
+  private Boolean encodeSensitiveInfo;
+}

+ 10 - 0
weixin-java-channel/src/test/java/me/chanjar/weixin/channel/api/impl/WxChannelOrderServiceImplTest.java

@@ -46,6 +46,16 @@ public class WxChannelOrderServiceImplTest {
   }
   }
 
 
   @Test
   @Test
+  public void testGetOrder2() throws WxErrorException {
+    WxChannelOrderService orderService = channelService.getOrderService();
+    String orderId = "";
+    boolean encodeSensitiveInfo = true;
+    OrderInfoResponse response = orderService.getOrder(orderId, encodeSensitiveInfo);
+    assertNotNull(response);
+    assertTrue(response.isSuccess());
+  }
+
+  @Test
   public void testGetOrders() throws WxErrorException {
   public void testGetOrders() throws WxErrorException {
     WxChannelOrderService orderService = channelService.getOrderService();
     WxChannelOrderService orderService = channelService.getOrderService();
     OrderListParam param = new OrderListParam();
     OrderListParam param = new OrderListParam();