|
@@ -135,6 +135,7 @@ public class PayController {
|
|
|
appUserInfo.setMinaToken(token);
|
|
|
}
|
|
|
List<AppUserInfo> appUserInfoList =appUserInfoService.Authentication(appUserInfo);
|
|
|
+
|
|
|
if(appUserInfoList!=null&&appUserInfoList.size()==1){
|
|
|
//调用聚合支付
|
|
|
try{
|
|
@@ -296,50 +297,63 @@ public class PayController {
|
|
|
public String getPayOrderClose(@RequestBody PayCloseRequestParamter payCloseRequestParamter) {
|
|
|
String results="";
|
|
|
Gson gson =new Gson();
|
|
|
- try {
|
|
|
- JSONObject reqData = new JSONObject();
|
|
|
- reqData.put("mno","399200427027644"); //商户编号
|
|
|
- reqData.put("origOrderNo", payCloseRequestParamter.getOrigOrderNo());
|
|
|
- reqData.put("origUuid", payCloseRequestParamter.getOrigUuid());
|
|
|
- String req= SXFPaySign.getSXFPay(reqData);
|
|
|
- //此处不要改变reqData里面值的顺序用LinkedHashMap
|
|
|
- HashMap reqMap = JSON.parseObject(req, LinkedHashMap.class, Feature.OrderedField);
|
|
|
- //组装加密串
|
|
|
- String signContent = RSASignature.getOrderContent(reqMap);
|
|
|
- System.out.println("拼接后的参数:" + 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/query/close";//测试地址
|
|
|
- // String url = "https://openapi.tianquetech.com/query/close";//生产地址
|
|
|
- String resultJson = HttpUtils.connectPostUrl(url, reqStr);
|
|
|
- System.out.println("返回信息:" + resultJson);
|
|
|
- //不要对reqData排序 所以用LinkedHashMap
|
|
|
- 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);
|
|
|
+ String mno=payCloseRequestParamter.getMno();
|
|
|
+ String origOrderNo=payCloseRequestParamter.getOrigOrderNo();
|
|
|
+ String origUuid=payCloseRequestParamter.getOrigUuid();
|
|
|
+ String token=payCloseRequestParamter.getToken();
|
|
|
+ String userType=payCloseRequestParamter.getUserType();
|
|
|
+ boolean flag =appUserInfoService.selectAppUserInfo(token,userType);
|
|
|
+ ResultData resultData =null;
|
|
|
+ if(flag){
|
|
|
+ try {
|
|
|
+ JSONObject reqData = new JSONObject();
|
|
|
+ reqData.put("mno",mno); //商户编号
|
|
|
+ reqData.put("origOrderNo",origOrderNo);//系统商户订单号
|
|
|
+ reqData.put("origUuid", origUuid);//随行付订单号
|
|
|
+ String req= SXFPaySign.getSXFPay(reqData);
|
|
|
+ //此处不要改变reqData里面值的顺序用LinkedHashMap
|
|
|
+ HashMap reqMap = JSON.parseObject(req, LinkedHashMap.class, Feature.OrderedField);
|
|
|
//组装加密串
|
|
|
- if (RSASignature.doCheck(resultStr, signResult, SXFPaySign.sxfPublic)) {
|
|
|
- System.out.println("===================验签成功==============");
|
|
|
+ String signContent = RSASignature.getOrderContent(reqMap);
|
|
|
+ System.out.println("拼接后的参数:" + 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/query/close";//测试地址
|
|
|
+ String url = "https://openapi.tianquetech.com/query/close";//生产地址
|
|
|
+ String resultJson = HttpUtils.connectPostUrl(url, reqStr);
|
|
|
+ System.out.println("返回信息:" + resultJson);
|
|
|
+ //不要对reqData排序 所以用LinkedHashMap
|
|
|
+ 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("===================验签成功==============");
|
|
|
+ }
|
|
|
}
|
|
|
+ resultData=ResultData.success(result);
|
|
|
+ }catch (Exception e){
|
|
|
+ resultData=ResultData.error(CodeMsg.YEWU_FAIL,"关闭订单失败");
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
- results=gson.toJson(result);
|
|
|
- }catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
+ }else{
|
|
|
+ resultData=ResultData.error(CodeMsg.USER_NOT_EXSIST);
|
|
|
}
|
|
|
- return results;
|
|
|
+
|
|
|
+ return gson.toJson(resultData);
|
|
|
}
|
|
|
/**
|
|
|
* 异步回调通知
|