wangming 1 month ago
parent
commit
a1b8de6154

+ 7 - 1
yami-shop-api/src/main/java/com/yami/shop/api/controller/WxPayController.java

@@ -18,7 +18,7 @@ import java.util.Map;
 
 @RestController
 @AllArgsConstructor
-@Api(tags = "地址接口")
+@Api(tags = "微信支付apiV3")
 @RequestMapping("/wx")
 public class WxPayController {
 
@@ -43,6 +43,12 @@ public class WxPayController {
         return ResponseEntity.ok(wxProviderService.getPayResultByOrderNo(orderNo));
     }
 
+    @GetMapping("/queryRefundOrder")
+    @ApiOperation(value = "查询微信退款信息", notes = "查询微信退款信息")
+    public ResponseEntity<Map<String, Object>> queryRefundOrder(String refundNo) {
+        return ResponseEntity.ok(wxProviderService.queryRefundOrder(refundNo));
+    }
+
     @PostMapping("/jsapiPay/notify")
     @ApiOperation(value = "支付回调", notes = "支付回调")
     public ResponseEntity<?> notify(HttpServletRequest request, HttpServletResponse response) {

+ 2 - 0
yami-shop-wx/src/main/java/com/yami/shop/wx/service/WxProviderService.java

@@ -16,4 +16,6 @@ public interface WxProviderService {
     JSONObject notifyParse(HttpServletRequest request, HttpServletResponse response);
 
     Map<String, Object> getPayResultByOrderNo(String orderNo);
+
+    Map<String, Object> queryRefundOrder(String refundNo);
 }

+ 7 - 0
yami-shop-wx/src/main/java/com/yami/shop/wx/service/impl/WxProviderServiceImpl.java

@@ -233,6 +233,7 @@ public class WxProviderServiceImpl implements WxProviderService {
      * @param refundNo refundNo
      * @return return
      */
+    @Override
     public Map<String, Object> queryRefundOrder(String refundNo) {
         log.info("根据订单号查询退款订单,订单号: {}", refundNo);
         String url = wechatPayServiceConfig.getBaseUrl()
@@ -467,6 +468,12 @@ public class WxProviderServiceImpl implements WxProviderService {
         return payStatus;
     }
 
+    /**
+     * 创建成功的JSON响应对象
+     *
+     * @param response HTTP响应对象,用于设置状态码
+     * @return 包含成功信息的JSONObject,包含code和message字段
+     */
     private JSONObject trueMsg(HttpServletResponse response) {
         JSONObject resMap = new JSONObject();
         //成功应答

+ 2 - 7
yami-shop-wx/src/main/java/com/yami/shop/wx/utils/WechatPayValidator.java

@@ -23,6 +23,7 @@ import static com.wechat.pay.contrib.apache.httpclient.constant.WechatPayHttpHea
  * @author kaur*/
 @Slf4j
 public class WechatPayValidator {
+
     /**
      * 应答超时时间,单位为分钟
      */
@@ -70,7 +71,6 @@ public class WechatPayValidator {
     }
 
     private void validateParameters(HttpServletRequest request) {
-
         // NOTE: ensure HEADER_WECHAT_PAY_TIMESTAMP at last
         String[] headers = {WECHAT_PAY_SERIAL, WECHAT_PAY_SIGNATURE, WECHAT_PAY_NONCE, WECHAT_PAY_TIMESTAMP};
 
@@ -103,17 +103,12 @@ public class WechatPayValidator {
                 + body + "\n";
     }
 
-    private String getResponseBody(CloseableHttpResponse response) throws IOException {
-        HttpEntity entity = response.getEntity();
-        return (entity != null && entity.isRepeatable()) ? EntityUtils.toString(entity) : "";
-    }
-
     /**
      * 对称解密,异步通知的加密数据
      *
      * @param resource 加密数据
      * @param apiV3Key apiV3密钥
-     * @return
+     * @return JSONObject
      */
     public static JSONObject decryptFromResource(String resource, String apiV3Key) {
         log.info("回调通知,密文解密");