瀏覽代碼

feat:“添加汇付订单查询接口"

soobin 8 月之前
父節點
當前提交
b796333e7e

+ 6 - 0
src/main/java/com/szwl/controller/TOrderController.java

@@ -4890,5 +4890,11 @@ public class TOrderController {
         return orderService.huifuPayCreate(sn, openid);
     }
 
+    @ApiOperation("汇付查询订单交易结果")
+    @GetMapping("/huifuPayQuery")
+    public Object huifuPayQuery(String queryId, String companyType) {
+        return orderService.huifuPayQuery(queryId, companyType);
+    }
+
 }
 

+ 8 - 0
src/main/java/com/szwl/service/THuifuMchService.java

@@ -65,4 +65,12 @@ public interface THuifuMchService extends IService<THuifuMch> {
      * @return
      */
     JSONObject payWechat(TOrder order, String openid) throws Exception;
+
+    /**
+     * 汇付查询订单
+     * @param queryId
+     * @param companyType
+     * @return
+     */
+    JSONObject payQuery(String queryId, String companyType) throws Exception;
 }

+ 9 - 0
src/main/java/com/szwl/service/TOrderService.java

@@ -146,4 +146,13 @@ public interface TOrderService extends IService<TOrder> {
      * @return
      */
     JSONObject huifuPayCreate(String sn, String openid);
+
+    /**
+     * 汇付查询订单
+     *
+     * @param queryId
+     * @param companyType
+     * @return
+     */
+    JSONObject huifuPayQuery(String queryId, String companyType);
 }

+ 29 - 0
src/main/java/com/szwl/service/impl/THuifuMchServiceImpl.java

@@ -375,4 +375,33 @@ public class THuifuMchServiceImpl extends ServiceImpl<THuifuMchMapper, THuifuMch
 
         return data;
     }
+
+    @Override
+    public JSONObject payQuery(String queryId, String companyType) throws Exception {
+        String url = "https://api.huifu.com/v2/trade/payment/scanpay/query";
+        HuifuBaseCommon.doInit(OppsMerchantConfig.getMerchantConfig());
+        JSONObject request = new JSONObject();
+        if (StrUtil.isNotEmpty(companyType) && companyType.equals("1")) {
+            request.put("huifu_id", HuifuConstant.SC_DIV_HUIFU_ID);
+        } else {
+            request.put("huifu_id", HuifuConstant.SZ_DIV_HUIFU_ID);
+        }
+        request.put("org_req_date", DateTools.getCurrentDateYYYYMMDD());
+        request.put("org_hf_seq_id", queryId);
+        // 签名:sign
+        String s = JSON.toJSONString(request);
+        String s1 = JSON.toJSONString(JSONObject.parseObject(s, TreeMap.class));
+        String sign = HuifuUtils.sign(s1, HuifuConstant.RSA_PRIVATE_KEY);
+        // 公共参数
+        JSONObject requestData = new JSONObject();
+        requestData.put("sys_id", HuifuConstant.SYS_ID);
+        requestData.put("product_id", HuifuConstant.PRODUCT_ID);
+        requestData.put("sign", sign);
+        requestData.put("data", request);
+        String success = OkHttpClientTools.httpPost(url, requestData.toString(), HuifuConstant.PRODUCT_ID);
+        // 拿到返回参数
+        JSONObject result = JSONObject.parseObject(success);
+        JSONObject data = result.getJSONObject("data");
+        return data;
+    }
 }

+ 11 - 0
src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

@@ -1400,6 +1400,17 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
         return reslut;
     }
 
+    @Override
+    public JSONObject huifuPayQuery(String queryId, String companyType) {
+        JSONObject reslut = new JSONObject();
+        try {
+            reslut = huifuMchService.payQuery(queryId, companyType);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return reslut;
+    }
+
     /**
      * 发送微信消息
      */