修改汇付退款处理

This commit is contained in:
韩鹏辉
2024-01-26 11:21:49 +08:00
parent e0b8c9dfc5
commit 93ad59c289
2 changed files with 43 additions and 4 deletions

View File

@@ -11,6 +11,7 @@ import cn.pluss.platform.exception.MsgException;
import cn.pluss.platform.mapper.MerchantHfInfoMapper; import cn.pluss.platform.mapper.MerchantHfInfoMapper;
import cn.pluss.platform.merchantOrder.MerchantOrderService; import cn.pluss.platform.merchantOrder.MerchantOrderService;
import cn.pluss.platform.pay.PayService; import cn.pluss.platform.pay.PayService;
import cn.pluss.platform.refundOrder.MerchantRefundOrderService;
import cn.pluss.platform.util.DateUtils; import cn.pluss.platform.util.DateUtils;
import cn.pluss.platform.util.SnowFlakeUtil; import cn.pluss.platform.util.SnowFlakeUtil;
import cn.pluss.platform.util.StringUtil; import cn.pluss.platform.util.StringUtil;
@@ -48,6 +49,10 @@ public class HfPayServiceImpl implements PayService {
@Setter(onMethod_ = {@Autowired, @Lazy}) @Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantOrderService merchantOrderService; private MerchantOrderService merchantOrderService;
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantRefundOrderService refundOrderService;
private static String changeY2F(double price) { private static String changeY2F(double price) {
DecimalFormat df = new DecimalFormat("#0.00"); DecimalFormat df = new DecimalFormat("#0.00");
return df.format(price); return df.format(price);
@@ -333,9 +338,9 @@ public class HfPayServiceImpl implements PayService {
adapay = Refund.create(order.getTransNo(), refundParams); adapay = Refund.create(order.getTransNo(), refundParams);
log.info("payment result=" + JSON.toJSONString(adapay)); log.info("payment result=" + JSON.toJSONString(adapay));
if ("pending".equals(adapay.get("status"))) { if ("pending".equals(adapay.get("status"))) {
result.put("msg", "退款成功"); result.put("msg", "退款");
result.put("data", adapay.get("id")); result.put("data", adapay.get("id"));
result.put("status", "1"); result.put("status", "4");
result.put("code", ResultCode.SUCCESS.code()); result.put("code", ResultCode.SUCCESS.code());
return result; return result;
} else if ("failed".equals(adapay.get("status"))) { } else if ("failed".equals(adapay.get("status"))) {
@@ -453,7 +458,7 @@ public class HfPayServiceImpl implements PayService {
log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", orderNo); log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", orderNo);
return YsConfig.RESULT_SUCCESS_CODE; return YsConfig.RESULT_SUCCESS_CODE;
} }
payDate = new Date(Long.valueOf(data.get("created_time").toString()) * 1000); payDate = DateUtils.convertDateByString(data.get("created_time").toString());
order.setTransDt(payDate); order.setTransDt(payDate);
order.setStatus("0"); order.setStatus("0");
order.setTransNo(data.get("id").toString()); order.setTransNo(data.get("id").toString());
@@ -469,12 +474,46 @@ public class HfPayServiceImpl implements PayService {
break; break;
case "refund.succeeded": case "refund.succeeded":
data = JSON.parseObject(params.get("data"), Map.class);
String returnOrderNo = data.get("refund_order_no").toString();
QueryWrapper<MerchantRefundOrder> returnQueryWrapper = new QueryWrapper<MerchantRefundOrder>().eq("refundNo", returnOrderNo);
MerchantRefundOrder refundOrder = refundOrderService.getOne(returnQueryWrapper);
if (refundOrder == null) {
log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", returnOrderNo);
return YsConfig.RESULT_SUCCESS_CODE;
}
refundOrder.setStatus("1");
refundOrderService.update(refundOrder,returnQueryWrapper);
queryWrapper=new QueryWrapper<MerchantOrder>().eq("orderNumber",refundOrder.getOrderNumber());
order=merchantOrderService.getOne(queryWrapper);
order.setStatus("2");
merchantOrderService.update(order,queryWrapper);
break; break;
case "refund.failed": case "refund.failed":
data = JSON.parseObject(params.get("data"), Map.class);
returnOrderNo = data.get("refund_order_no").toString();
returnQueryWrapper = new QueryWrapper<MerchantRefundOrder>().eq("refundNo", returnOrderNo);
refundOrder = refundOrderService.getOne(returnQueryWrapper);
if (refundOrder == null) {
log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", returnOrderNo);
return YsConfig.RESULT_SUCCESS_CODE;
}
refundOrder.setStatus("3");
refundOrderService.update(refundOrder,returnQueryWrapper);
queryWrapper=new QueryWrapper<MerchantOrder>().eq("orderNumber",refundOrder.getOrderNumber());
order=merchantOrderService.getOne(queryWrapper);
order.setStatus("3");
merchantOrderService.update(order,queryWrapper);
break; break;
} }
return result; return result;

View File

@@ -1627,7 +1627,7 @@ public class MerchantOrderServiceImpl extends ServiceImpl<MerchantOrderMapper, M
refundOrder.convert(order, resultMap, channel.getMerchantId()); refundOrder.convert(order, resultMap, channel.getMerchantId());
order.setId(null); order.setId(null);
order.setUpdateTime(new Date()); order.setUpdateTime(new Date());
order.setStatus("2"); order.setStatus(resultMap.get("status")!=null?(resultMap.get("status").toString().equals("4")?"4":"2"):"");
order.setMarketAmt(BigDecimal.ZERO); order.setMarketAmt(BigDecimal.ZERO);
order.setRefundAmt(order.getRefundAmt()); order.setRefundAmt(order.getRefundAmt());
order.setOrderNumber(refundOrder.getRefundNo()); order.setOrderNumber(refundOrder.getRefundNo());