|
@@ -466,7 +466,7 @@ public class HeliPayServiceImpl implements HeliPayService {
|
|
|
public ResponseJson<String> link(HeliDto heliDto, HttpHeaders headers) {
|
|
|
log.info("--------进入线上支付接口----------");
|
|
|
// 订单信息
|
|
|
- OrderVo order = orderCommonMapper.getOrderByOrderId(heliDto.getOrderId());
|
|
|
+ OrderVo order = orderCommonMapper.getOrderByShopOrderId(heliDto.getShopOrderId());
|
|
|
if (null == order) {
|
|
|
log.error("订单不存在");
|
|
|
return ResponseJson.error("订单不存在");
|
|
@@ -505,6 +505,7 @@ public class HeliPayServiceImpl implements HeliPayService {
|
|
|
if (StringUtils.isBlank(splitCode)) {
|
|
|
return ResponseJson.error("子订单无商户号!", null);
|
|
|
}
|
|
|
+ heliOnlineVo.setP3_customerNumber(splitCode);
|
|
|
heliPayUtil.setLinkValue(heliOnlineVo, heliDto, "order", headers);
|
|
|
Map<String, String> map = MyBeanUtils.convertBean(heliOnlineVo, new LinkedHashMap());
|
|
|
String oriMessage = MyBeanUtils.getSignedByPresetParameter(map, HeliOnlineVo.NEED_SIGN_PARAMS);
|
|
@@ -835,15 +836,17 @@ public class HeliPayServiceImpl implements HeliPayService {
|
|
|
|
|
|
//银行通道码获取
|
|
|
@Override
|
|
|
- public ResponseJson<JSONObject> bankCode() {
|
|
|
- List<BankCodeVo> banks = payOrderMapper.findBankCode();
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- jsonObject.put("list", banks);
|
|
|
- return ResponseJson.success("获取成功", jsonObject);
|
|
|
+ public ResponseJson<Map<String, Object>> bankCode() {
|
|
|
+ List<BankCodeVo> B2B = payOrderMapper.findB2BBankCode();
|
|
|
+ List<BankCodeVo> B2C = payOrderMapper.findB2CBankCode();
|
|
|
+ Map<String, Object> banks = new HashMap<>(2);
|
|
|
+ banks.put("B2B",B2B);
|
|
|
+ banks.put("B2C",B2C);
|
|
|
+ return ResponseJson.success("获取成功", banks);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResponseJson<JSONObject> getPayOrderResult(String mbOrderId, Integer orderFlag) {
|
|
|
+ public ResponseJson<JSONObject> getPayOrderResult(String mbOrderId, Integer orderFlag) throws IntrospectionException, InvocationTargetException, IllegalAccessException {
|
|
|
log.info("--------进入交易订单查询接口----------");
|
|
|
QueryOrderVo queryOrderVo = new QueryOrderVo();
|
|
|
queryOrderVo.setP1_bizType("AppPayQuery");
|
|
@@ -854,50 +857,46 @@ public class HeliPayServiceImpl implements HeliPayService {
|
|
|
String splitCode = payOrderMapper.getSplitCodeByMbOrderId(mbOrderId);
|
|
|
queryOrderVo.setP3_customerNumber(splitCode);
|
|
|
}
|
|
|
- try {
|
|
|
- Map<String, String> map = MyBeanUtils.convertBean(queryOrderVo, new LinkedHashMap());
|
|
|
- String oriMessage = MyBeanUtils.getSignedByPresetParameter(map, QueryOrderVo.NEED_SIGN_PARAMS);
|
|
|
- //区分网银和其他产品
|
|
|
- String payType = baseMapper.findType(mbOrderId);
|
|
|
+ Map<String, String> map = MyBeanUtils.convertBean(queryOrderVo, new LinkedHashMap());
|
|
|
+ String oriMessage = MyBeanUtils.getSignedByPresetParameter(map, QueryOrderVo.NEED_SIGN_PARAMS);
|
|
|
+ //区分网银和其他产品
|
|
|
+ String payType = baseMapper.findType(mbOrderId);
|
|
|
+ if ("12".equals(payType) || "17".equals(payType)) {
|
|
|
+ oriMessage += Constant.SPLIT + Constant.WANGYIN;
|
|
|
+ } else {
|
|
|
+ oriMessage += Constant.SPLIT + Constant.SAOMA;
|
|
|
+ }
|
|
|
+ log.info("签名原文串:" + oriMessage);
|
|
|
+ String sign = Disguiser.disguiseMD5(oriMessage.trim());
|
|
|
+ log.info("签名串:" + sign);
|
|
|
+ map.put("sign", sign);
|
|
|
+ log.info("发送参数:" + map);
|
|
|
+ Map<String, Object> resultMap = HttpClientService.getHttpResp(map, Constant.REQUEST_URL);
|
|
|
+ log.info("响应结果:" + resultMap);
|
|
|
+ if ((Integer) resultMap.get("statusCode") == HttpStatus.SC_OK) {
|
|
|
+ String resultMsg = (String) resultMap.get("response");
|
|
|
+ QueryOrderResponseVo queryOrderResponseVo = JSONObject.parseObject(resultMsg, QueryOrderResponseVo.class);
|
|
|
+ String assemblyRespOriSign = MyBeanUtils.getSignedByPresetParameter(queryOrderResponseVo, QueryOrderResponseVo.NEED_SIGN_PARAMS);
|
|
|
+ log.info("组装返回结果签名串:" + assemblyRespOriSign);
|
|
|
if ("12".equals(payType) || "17".equals(payType)) {
|
|
|
- oriMessage += Constant.SPLIT + Constant.WANGYIN;
|
|
|
+ assemblyRespOriSign += Constant.SPLIT + Constant.WANGYIN;
|
|
|
} else {
|
|
|
- oriMessage += Constant.SPLIT + Constant.SAOMA;
|
|
|
+ assemblyRespOriSign += Constant.SPLIT + Constant.SAOMA;
|
|
|
}
|
|
|
- log.info("签名原文串:" + oriMessage);
|
|
|
- String sign = Disguiser.disguiseMD5(oriMessage.trim());
|
|
|
- log.info("签名串:" + sign);
|
|
|
- map.put("sign", sign);
|
|
|
- log.info("发送参数:" + map);
|
|
|
- Map<String, Object> resultMap = HttpClientService.getHttpResp(map, Constant.REQUEST_URL);
|
|
|
- log.info("响应结果:" + resultMap);
|
|
|
- if ((Integer) resultMap.get("statusCode") == HttpStatus.SC_OK) {
|
|
|
- String resultMsg = (String) resultMap.get("response");
|
|
|
- QueryOrderResponseVo queryOrderResponseVo = JSONObject.parseObject(resultMsg, QueryOrderResponseVo.class);
|
|
|
- String assemblyRespOriSign = MyBeanUtils.getSignedByPresetParameter(queryOrderResponseVo, QueryOrderResponseVo.NEED_SIGN_PARAMS);
|
|
|
- log.info("组装返回结果签名串:" + assemblyRespOriSign);
|
|
|
- if ("12".equals(payType) || "17".equals(payType)) {
|
|
|
- assemblyRespOriSign += Constant.SPLIT + Constant.WANGYIN;
|
|
|
- } else {
|
|
|
- assemblyRespOriSign += Constant.SPLIT + Constant.SAOMA;
|
|
|
- }
|
|
|
- String responseSign = queryOrderResponseVo.getSign();
|
|
|
- log.info("响应签名:" + responseSign);
|
|
|
- String checkSign = Disguiser.disguiseMD5(assemblyRespOriSign.trim());
|
|
|
- if (checkSign.equals(responseSign)) {
|
|
|
- if ("0000".equals(queryOrderResponseVo.getRt2_retCode())) {
|
|
|
- JSONObject jsonObject = JSONObject.parseObject(resultMsg, JSONObject.class);
|
|
|
- return ResponseJson.success("查询成功", jsonObject);
|
|
|
- } else {
|
|
|
- return ResponseJson.error("验签失败", null);
|
|
|
- }
|
|
|
+ String responseSign = queryOrderResponseVo.getSign();
|
|
|
+ log.info("响应签名:" + responseSign);
|
|
|
+ String checkSign = Disguiser.disguiseMD5(assemblyRespOriSign.trim());
|
|
|
+ if (checkSign.equals(responseSign)) {
|
|
|
+ if ("0000".equals(queryOrderResponseVo.getRt2_retCode())) {
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(resultMsg, JSONObject.class);
|
|
|
+ return ResponseJson.success("查询成功", jsonObject);
|
|
|
} else {
|
|
|
return ResponseJson.error("验签失败", null);
|
|
|
}
|
|
|
} else {
|
|
|
- return ResponseJson.error("查询失败", null);
|
|
|
+ return ResponseJson.error("验签失败", null);
|
|
|
}
|
|
|
- } catch (Exception e) {
|
|
|
+ } else {
|
|
|
return ResponseJson.error("查询失败", null);
|
|
|
}
|
|
|
}
|