From 57ff6a80ec1ff918b8e74211187bbef442043cf1 Mon Sep 17 00:00:00 2001 From: liming Date: Wed, 31 Aug 2022 15:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=AE=A2=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wx/miniapp/api/WxMaShopPayService.java | 14 ++- .../api/impl/WxMaShopPayServiceImpl.java | 8 ++ .../response/WxMaShopPayGetOrderResponse.java | 102 ++++++++++++++++++ .../miniapp/constant/WxMaApiUrlConstants.java | 1 + 4 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopPayGetOrderResponse.java diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java index b1c3da435..ad58b7f17 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/WxMaShopPayService.java @@ -2,6 +2,7 @@ package cn.binarywang.wx.miniapp.api; import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayCreateOrderRequest; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayCreateOrderResponse; +import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayGetOrderResponse; import me.chanjar.weixin.common.error.WxErrorException; /** @@ -19,6 +20,15 @@ public interface WxMaShopPayService { * @return 创建订单结果 * @throws WxErrorException . */ - WxMaShopPayCreateOrderResponse createOrder(WxMaShopPayCreateOrderRequest request) - throws WxErrorException; + WxMaShopPayCreateOrderResponse createOrder(WxMaShopPayCreateOrderRequest request) throws WxErrorException; + + /** + * 查询订单详情 + * 文档地址:文档地址 + * + * @param trade_no + * @return + * @throws WxErrorException + */ + WxMaShopPayGetOrderResponse getOrder(String trade_no) throws WxErrorException; } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java index 1a1c45f29..e756890b0 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/api/impl/WxMaShopPayServiceImpl.java @@ -4,12 +4,14 @@ import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.api.WxMaShopPayService; import cn.binarywang.wx.miniapp.bean.shop.request.WxMaShopPayCreateOrderRequest; import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayCreateOrderResponse; +import cn.binarywang.wx.miniapp.bean.shop.response.WxMaShopPayGetOrderResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.common.util.json.WxGsonBuilder; import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Shop.Pay.CREATE_ORDER; +import static cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.Shop.Pay.GET_ORDER; /** * 小程序支付管理订单相关接口 @@ -26,4 +28,10 @@ public class WxMaShopPayServiceImpl implements WxMaShopPayService { String response = this.wxMaService.post(CREATE_ORDER, request); return WxGsonBuilder.create().fromJson(response, WxMaShopPayCreateOrderResponse.class); } + + @Override + public WxMaShopPayGetOrderResponse getOrder(String tradeNo) throws WxErrorException { + String response = this.wxMaService.post(GET_ORDER, tradeNo); + return WxGsonBuilder.create().fromJson(response, WxMaShopPayGetOrderResponse.class); + } } diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopPayGetOrderResponse.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopPayGetOrderResponse.java new file mode 100644 index 000000000..745a85d5f --- /dev/null +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/bean/shop/response/WxMaShopPayGetOrderResponse.java @@ -0,0 +1,102 @@ +package cn.binarywang.wx.miniapp.bean.shop.response; + +import com.google.gson.annotations.SerializedName; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.List; + +/** + * @author liming1019 + * created on 2022/8/31 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class WxMaShopPayGetOrderResponse extends WxMaShopBaseResponse implements Serializable { + private static final long serialVersionUID = -3329915987130142268L; + + @SerializedName("order") + private OrderBean order; + + @Data + public static class OrderBean implements Serializable { + @SerializedName("trade_no") + private String tradeNo; + @SerializedName("transaction_id") + private String transactionId; + @SerializedName("combine_trade_no") + private String combineTradeNo; + @SerializedName("mchid") + private String mchid; + @SerializedName("create_time") + private int createTime; + @SerializedName("update_time") + private int updateTime; + @SerializedName("pay_time") + private int payTime; + @SerializedName("expire_time") + private int expireTime; + @SerializedName("amount") + private int amount; + @SerializedName("description") + private String description; + @SerializedName("profit_sharing_delay") + private int profitSharingDelay; + @SerializedName("profit_sharing_frozen") + private int profitSharingFrozen; + @SerializedName("refund_list") + private List refundList; + @SerializedName("profit_sharing_list") + private List profitSharingList; + + @Data + public static class RefundListBean implements Serializable { + @SerializedName("amount") + private int amount; + @SerializedName("create_time") + private int createTime; + @SerializedName("finish_time") + private int finishTime; + @SerializedName("result") + private String result; + @SerializedName("refund_id") + private String refundId; + @SerializedName("refund_no") + private String refundNo; + } + + @Data + public static class ProfitSharingListBean implements Serializable { + /** + * mchid : 1623426221 + * amount : 1 + * create_time : 1648880985 + * finish_time : 1648881016 + * result : SUCCESS + * profit_sharing_id : 30002107912022040228952584675 + * profit_sharing_no : 512341 + */ + + @SerializedName("mchid") + private String mchid; + @SerializedName("amount") + private int amount; + @SerializedName("create_time") + private int createTime; + @SerializedName("finish_time") + private int finishTime; + @SerializedName("result") + private String result; + @SerializedName("profit_sharing_id") + private String profitSharingId; + @SerializedName("profit_sharing_no") + private String profitSharingNo; + } + } +} + diff --git a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java index 19e4bc42f..b3d8c20bb 100644 --- a/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java +++ b/weixin-java-miniapp/src/main/java/cn/binarywang/wx/miniapp/constant/WxMaApiUrlConstants.java @@ -541,6 +541,7 @@ public class WxMaApiUrlConstants { interface Pay { String CREATE_ORDER = "https://api.weixin.qq.com/shop/pay/createorder"; + String GET_ORDER = "https://api.weixin.qq.com/shop/pay/getorder"; } }