Преглед изворни кода

增加查询商户信息接口。

XF--LRQYEJOKYDS\Administrator пре 4 година
родитељ
комит
9a95083a2c

+ 51 - 1
YijiaRestful/src/main/java/com/platform/yijia/controller/PayController.java

@@ -38,7 +38,7 @@ public class PayController {
         ResultData resultData =null;
         String token=payInfoRequest.getToken();//token
         String userType=payInfoRequest.getUserType();//用户登录类型 1 公众号。2 小程序
-        Integer mno=payInfoRequest.getMno();//获取商户号
+        String mno=payInfoRequest.getMno();//获取商户号
         Integer orderId =payInfoRequest.getOrderId();
         //根据token 和登录类型 身份验证
         AppUserInfo appUserInfo =new AppUserInfo();
@@ -60,6 +60,7 @@ public class PayController {
                 if(payOrder!=null){
                     //将业务参数存放在 JSON 对象中
                     JSONObject reqData = new JSONObject();
+
                     reqData.put("ordNo", payOrder.getOrderNo()); //商户订单号
                     reqData.put("mno", mno); //商户编号
                     //reqData.put("subMechId", ""); //子商户号
@@ -155,6 +156,55 @@ public class PayController {
     }
 
     /**
+     * 验证商户信息查询
+     */
+    @RequestMapping(value = "/getJhPayMnoInfo", method = RequestMethod.GET)
+    @ResponseBody
+    public String getJhPayMnoInfo(@RequestParam String mno){
+        try {
+            JSONObject reqData = new JSONObject();
+            reqData.put("mno", mno); //商户编号
+            String req = SXFPaySign.getSXFPay(reqData);
+            logger.debug("参数信息:" + req);
+            System.out.println("req:" + req);
+            //此处不要改变reqData里面值的顺序用LinkedHashMap
+            HashMap reqMap = JSON.parseObject(req, LinkedHashMap.class, Feature.OrderedField);
+            //组装加密串
+            String signContent = RSASignature.getOrderContent(reqMap);
+            System.out.println("拼接后的参数:" + signContent);
+            logger.debug("拼接后的参数:" + signContent);
+            //sign
+            String sign = RSASignature.encryptBASE64(RSASignature.sign(signContent, SXFPaySign.privateKey));
+            System.out.println("============签名:" + sign);
+            reqMap.put("sign", sign);
+            String reqStr = JSON.toJSONString(reqMap);
+            System.out.println("请求参数:" + reqMap);
+            System.out.println("请求参数:" + reqStr);
+            //调用第三方接口地址
+            //String url = "https://openapi-test.tianquetech.com/merchant/merchantInfoQuery";//测试地址
+            String url = "https://openapi.tianquetech.com/merchant/merchantInfoQuery";//生产地址
+            String resultJson = HttpUtils.connectPostUrl(url, reqStr);
+            HashMap<String, Object> result = JSON.parseObject(resultJson, LinkedHashMap.class, Feature.OrderedField);
+            if ("0000".equals(result.get("code"))) {
+//                //验签
+//                String signResult = result.get("sign").toString();
+//                result.remove("sign");
+//                String resultStr = RSASignature.getOrderContent(result);
+//                System.out.println(resultStr);
+//                //sign
+//                String resultSign = RSASignature.encryptBASE64(RSASignature.sign(signContent, SXFPaySign.privateKey));
+//                System.out.println("resultSign:" + resultSign);
+//                //组装加密串
+//                if (RSASignature.doCheck(resultStr, signResult, SXFPaySign.sxfPublic)) {
+//                    System.out.println("===================验签成功==============");
+//                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+        return "";
+    }
+    /**
      * 关单接口
      */
     @RequestMapping(value = "/getPayOrderClose", consumes = "application/json", method = RequestMethod.POST)