修改汇付退款处理

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.merchantOrder.MerchantOrderService;
import cn.pluss.platform.pay.PayService;
import cn.pluss.platform.refundOrder.MerchantRefundOrderService;
import cn.pluss.platform.util.DateUtils;
import cn.pluss.platform.util.SnowFlakeUtil;
import cn.pluss.platform.util.StringUtil;
@@ -48,6 +49,10 @@ public class HfPayServiceImpl implements PayService {
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantOrderService merchantOrderService;
@Setter(onMethod_ = {@Autowired, @Lazy})
private MerchantRefundOrderService refundOrderService;
private static String changeY2F(double price) {
DecimalFormat df = new DecimalFormat("#0.00");
return df.format(price);
@@ -333,9 +338,9 @@ public class HfPayServiceImpl implements PayService {
adapay = Refund.create(order.getTransNo(), refundParams);
log.info("payment result=" + JSON.toJSONString(adapay));
if ("pending".equals(adapay.get("status"))) {
result.put("msg", "退款成功");
result.put("msg", "退款");
result.put("data", adapay.get("id"));
result.put("status", "1");
result.put("status", "4");
result.put("code", ResultCode.SUCCESS.code());
return result;
} else if ("failed".equals(adapay.get("status"))) {
@@ -453,7 +458,7 @@ public class HfPayServiceImpl implements PayService {
log.error("====================>【汇付】支付成功回调订单号查询,查询的订单为空:订单号:{}<====================", orderNo);
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.setStatus("0");
order.setTransNo(data.get("id").toString());
@@ -469,12 +474,46 @@ public class HfPayServiceImpl implements PayService {
break;
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;
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;
}
return result;

View File

@@ -1627,7 +1627,7 @@ public class MerchantOrderServiceImpl extends ServiceImpl<MerchantOrderMapper, M
refundOrder.convert(order, resultMap, channel.getMerchantId());
order.setId(null);
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.setRefundAmt(order.getRefundAmt());
order.setOrderNumber(refundOrder.getRefundNo());