提交 037472e6 authored 作者: zgy's avatar zgy

代码优化

上级 38ecd31c
......@@ -29,7 +29,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.net.www.http.HttpClient;
import javax.annotation.Resource;
import java.io.IOException;
......@@ -57,6 +56,7 @@ public class FlutterWaveServiceImpl implements FlutterWaveService {
private RedisCache<Object> orderRedisCache;
private static Logger logger = LoggerFactory.getLogger(FlutterWaveServiceImpl.class);
//退款API
private String FLUTTERWAVE_REFUND_URL = "https://api.ravepay.co/gpx/merchant/transactions/refund";
/**
......@@ -73,6 +73,13 @@ public class FlutterWaveServiceImpl implements FlutterWaveService {
RaveConstant.ENVIRONMENT = Environment.STAGING; //or live
Result result = new Result();
TbCfOrderVo tbCfOrderVo = (TbCfOrderVo) orderRedisCache.get(KeyConstant.ORDER_DET + orderId);
TbCfOrderEntity orderEntity = tbCfOrderDao.queryObject(orderId);
//判断这个订单是否已支付
if (orderEntity != null && OrderStatusEnum.PAID.getValue().equals(orderEntity.getPayStatus())) {
result.setMessage("Order paid");
result.setCode(ResultCodeEnum.ORDER_PAY_ERROR.getCode());
return result;
}
if (tbCfOrderVo != null) {
try {
String orderPrice = tbCfOrderVo.getRealityPay().toString();
......@@ -89,10 +96,10 @@ public class FlutterWaveServiceImpl implements FlutterWaveService {
JSONObject chargevisa = ch.chargeVisaAndIntl();
//if timeout, poll
//JSONObject pollvisa = ch.chargeVisaAndIntl(true);
System.out.println(chargevisa);
//System.out.println(chargevisa);
net.sf.json.JSONObject object = net.sf.json.JSONObject.fromObject(chargevisa.toString());
String status = object.getString("status");
System.out.println("========>>>" + status);
//System.out.println("========>>>" + status);
if ("success".equals(status)) {
net.sf.json.JSONObject data = object.getJSONObject("data");
String paymentId = data.getString("paymentId");
......@@ -107,15 +114,14 @@ public class FlutterWaveServiceImpl implements FlutterWaveService {
TbCfFinanceEntity finance = createFinance(paymentId, url, tbCfOrderVo);
TbCfFinanceVo tbCfFinanceVo = new TbCfFinanceVo();
BeanUtils.copyProperties(finance, tbCfFinanceVo);
//清除订单
result.setData(chargevisa).setMessage("Pay for success!");
logger.info(tbCfOrderVo.getUserName() + ":Pay for success! The order number is:" + tbCfOrderVo.getOrderId());
//清除订单
removeRedisCache(tbCfOrderVo);
} else {
result.setCode(ResultCodeEnum.ORDER_PAY_ERROR.getCode()).setMessage("payment failure!");
logger.error(tbCfOrderVo.getUserName() + ":payment failure! The order number is:" + tbCfOrderVo.getOrderId());
}
} catch (Exception e) {
result.setCode(ResultCodeEnum.ORDER_PAY_ERROR.getCode()).setMessage(e.getMessage());
logger.error(e.getMessage(), e);
......
......@@ -76,6 +76,7 @@ public class PayPalServiceImpl implements PayPalService {
PayService service = new PayPalPayService(storage);
TbCfOrderVo tbCfOrderVo = (TbCfOrderVo) orderRedisCache.get(KeyConstant.ORDER_DET + orderId);
TbCfOrderEntity orderEntity = tbCfOrderDao.queryObject(orderId);
//判断这个订单是否已支付
if (orderEntity != null && OrderStatusEnum.PAID.getValue().equals(orderEntity.getPayStatus())) {
result.setMessage("Order paid");
result.setCode(ResultCodeEnum.ORDER_PAY_ERROR.getCode());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论