记得上下班打卡 | git大法好,push需谨慎

Commit b425935f authored by 张国柄's avatar 张国柄

修改购买会员调用支付API;

parent 0009168a
......@@ -34,11 +34,11 @@ public class AdamMemberOrderCallbackParam implements Serializable, Cloneable {
this.setStatus(Integer.valueOf(servletRequest.getParameter("status")));
this.setType(servletRequest.getParameter("type"));
this.setCode(servletRequest.getParameter("code"));
this.setOrderCode(servletRequest.getParameter("order_code"));
this.setOrderCode(servletRequest.getParameter("orderCode"));
this.setPrice(BigDecimal.valueOf(Double.parseDouble(servletRequest.getParameter("price"))));
this.setPaymentType(servletRequest.getParameter("payment_type"));
this.setPaymentAt(servletRequest.getParameter("payment_at"));
this.setPaymentId(servletRequest.getParameter("payment_id"));
this.setPaymentType(servletRequest.getParameter("paymentType"));
this.setPaymentAt(servletRequest.getParameter("paymentAt"));
this.setPaymentId(servletRequest.getParameter("paymentId"));
return this;
}
}
......@@ -40,15 +40,15 @@ liquidnet:
service:
adam:
url-pay:
pay: http://devpay.zhengzai.tv
check: http://devpay.zhengzai.tv/order/verify
pay: http://devdragon.zhengzai.tv/dragon/pay/dragonPay
check: http://devdragon.zhengzai.tv/dragon/pay/checkOrder
callback: http://devadam.zhengzai.tv/adam/member/order/callback
url-service:
url: http://devservice.zhengzai.tv
kylin:
url-pay:
pay: http://devpay.zhengzai.tv/
check: http://devpay.zhengzai.tv/order/verify
pay: http://devdragon.zhengzai.tv/dragon/pay/dragonPay
check: http://devdragon.zhengzai.tv/dragon/pay/checkOrder
localUrl: http://devkylin.zhengzai.tv/kylin/order/syncOrder
url-service:
url: http://devservice.zhengzai.tv/
......
......@@ -341,7 +341,7 @@ public class AdamLoginController {
.replace("SECRET", AdamWechatConst.zhengzaiAppletSecret).replace("JSCODE", jsCode);
String respJStr = HttpUtil.get(url, null);
JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class);
if (null == respJNode || !respJNode.get("errcode").textValue().equalsIgnoreCase("0")) {
if (null == respJNode || !"0".equalsIgnoreCase(respJNode.get("errcode").asText())) {
log.warn("WX.API调用失败[{}]", respJStr);
return ResponseDto.success(null);
}
......@@ -362,7 +362,7 @@ public class AdamLoginController {
.replace("SECRET", AdamWechatConst.zhengzaiServiceSecret).replace("CODE", code);
String respJStr = HttpUtil.get(url, null);
JsonNode respJNode = JsonUtils.fromJson(respJStr, JsonNode.class);
if (null == respJNode || !respJNode.get("errcode").textValue().equalsIgnoreCase("0")) {
if (null == respJNode || !"0".equalsIgnoreCase(respJNode.get("errcode").asText())) {
log.warn("WX.API调用失败[{}]", respJStr);
return ResponseDto.success(null);
}
......
......@@ -273,15 +273,20 @@ public class AdamMemberOrderController {
if (memberOrderInfo.getMode() <= 1) {
try {
// 支付中心返回说明:已支付订单status==1,未支付订单status==0
String rst = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
String respStr = HttpUtil.get(env.getProperty("liquidnet.url-pay.check") + "?code=" + memberOrderInfo.getPayNo(), null);
JsonNode rstJNode = JsonUtils.fromJson(rst, JsonNode.class);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
int status = Integer.parseInt(rstJNode.get("status").asText("0"));
if (null == respJNode || !"0".equals(respJNode.get("code").asText())) {
log.warn("购买会员:订单状态查询失败[orderNo:{},respStr:{}]", orderNo, respStr);
return ResponseDto.failure(ErrorMapping.get("10212"));
}
int status = respJNode.get("data").get("status").asInt();
return ResponseDto.success(status == 1 ? status : 0);
} catch (Exception e) {
log.error("支付中心:会员订单状态查询失败:{}", orderNo, e);
log.error("购买会员:订单状态查询失败:{}", orderNo, e);
return ResponseDto.failure(ErrorMapping.get("10212"));
}
}
......
package com.liquidnet.service.adam.service.impl;
import com.fasterxml.jackson.databind.JsonNode;
import com.github.pagehelper.PageInfo;
import com.liquidnet.common.mq.constant.MQConst;
import com.liquidnet.commons.lang.util.*;
......@@ -73,9 +74,11 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
payParam.add("price", String.valueOf(memberPriceVo.getPrice()));
payParam.add("name", memberVo.getName());
payParam.add("detail", "正在现场:购买会员".concat(param.getMode() == 0 ? "" : "码"));
payParam.add("order_code", orderNo);
payParam.add("client_ip", clientIp);
payParam.add("notify_url", env.getProperty("liquidnet.url-pay.callback"));
payParam.add("orderCode", orderNo);
payParam.add("clientIp", clientIp);
payParam.add("notifyUrl", env.getProperty("liquidnet.url-pay.callback"));
payParam.add("deviceFrom", param.getDeviceFrom());
payParam.add("payType", param.getPayType());
String payUri = "/" + param.getDeviceFrom() + "/" + param.getPayType();
switch (payUri) {// applet/wepay | js/wepay | wap/alipay | wap/wepay | app/iappay | app/wepay
......@@ -89,29 +92,29 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
if (StringUtils.isEmpty(param.getOpenId())) {
return ResponseDto.failure(ErrorMapping.get("10204"));
}
payParam.add("open_id", param.getOpenId());
payParam.add("openId", param.getOpenId());
break;
case "/wap/alipay":
if (StringUtils.isEmpty(param.getShowUrl()) || StringUtils.isEmpty(param.getReturnUrl())) {
return ResponseDto.failure(ErrorMapping.get("10205"));
}
// 取消支付,点击取消支付宝回调地址
payParam.add("show_url", param.getShowUrl());
payParam.add("showUrl", param.getShowUrl());
// 支付成功,点击完成支付宝回调地址
payParam.add("return_url", param.getReturnUrl() + orderNo);
payParam.add("returnUrl", param.getReturnUrl() + orderNo);
break;
case "/app/iappay":
if (StringUtils.isEmpty(param.getOpenId())) {
return ResponseDto.failure(ErrorMapping.get("10206"));
}
// iOS App唯一标识,目前为:com.zhengzai.zhengzai-tv
payParam.add("bundle_id", "com.zhengzai.zhengzai-tv");
payParam.add("bundleId", "com.zhengzai.zhengzai-tv");
// iTunes上架的商品唯一标识
payParam.add("product_id", param.getProductId());
payParam.add("productId", param.getProductId());
break;
}
payParam.add("create_date", nowStr);
payParam.add("expire_time", "5");// 过期时间,单位分钟,默认5
payParam.add("createDate", nowStr);
payParam.add("expireTime", "5");// 过期时间,单位分钟,默认5
// 生成订单信息
AdamMemberOrderVo memberOrderVo = new AdamMemberOrderVo();
......@@ -138,16 +141,21 @@ public class AdamMemberOrderServiceImpl implements IAdamMemberOrderService {
}
AdamMemberOrderResult result = AdamMemberOrderResult.getNew();
try {
String url = env.getProperty("liquidnet.url-pay.pay") + payUri;
// String url = env.getProperty("liquidnet.url-pay.pay") + payUri;
String url = env.getProperty("liquidnet.url-pay.pay");
log.debug("HttpUtil.resquest.url:{},param:{}", url, JsonUtils.toJson(payParam));
long s = System.currentTimeMillis();
String json = HttpUtil.post(url, payParam);
String respStr = HttpUtil.post(url, payParam);
log.debug("#PHP.API耗时:{}ms", System.currentTimeMillis() - s);
log.debug("HttpUtil.response.body:{}", json);
Map payResult = JsonUtils.fromJson(json, Map.class);
result.setCode((String) payResult.get("code"));
result.setPayData(payResult.get("pay_data"));
log.debug("HttpUtil.response.body:{}", respStr);
JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
if (null == respJNode || !"0".equals(respJNode.get("code").asText())) {
log.warn("###购买会员调用支付失败[respStr:{}]", respStr);
return ResponseDto.failure(ErrorMapping.get("10210"));
}
JsonNode respDataJNode = respJNode.get("data");
result.setCode(respDataJNode.get("code").asText());
result.setPayData(respDataJNode.get("payData"));
memberOrderVo.setPayNo(result.getCode());
} catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment