修改汇付退款处理
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
Reference in New Issue
Block a user