修改订单为金额0时的退款报错问题

This commit is contained in:
wucongxing 2023-04-07 11:17:54 +08:00
parent a5599a5bc1
commit b6a1eb8b7d
2 changed files with 45 additions and 33 deletions

View File

@ -885,14 +885,15 @@ class InquiryService extends BaseService
throw new BusinessException("订单支付状态错误");
}
// 系统退款编号
$generator = $this->container->get(IdGeneratorInterface::class);
$inquiry_refund_no = $generator->generate();
// 检测订单金额
if ($order_inquiry['payment_amount_total'] > 0){
// 发起退款
$WechatPay = new WechatPay(1, 1);
$generator = $this->container->get(IdGeneratorInterface::class);
// 系统退款编号
$inquiry_refund_no = $generator->generate();
$options = array();
$options['transaction_id'] = $order_inquiry['escrow_trade_no'];
$options['out_refund_no'] = (string)$inquiry_refund_no;
@ -923,19 +924,28 @@ class InquiryService extends BaseService
throw new BusinessException("订单退款状态错误");
}
$refund_id = $result['refund_id'];
$success_time = $result['success_time'];
}else{
// 模拟退款
$inquiry_refund_status = 3;
$refund_id = "模拟退款:" . $generator->generate();
$success_time = date("Y-m-d H:i:s", time());
}
// 新增退款表
$data = array();
$data['patient_id'] = $order_inquiry['patient_id'];
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
$data['inquiry_no'] = $order_inquiry['inquiry_no'];
$data['inquiry_refund_no'] = $inquiry_refund_no;
$data['refund_id'] = $result['refund_id'];
$data['refund_id'] = $refund_id;
$data['inquiry_refund_status'] = $inquiry_refund_status;
$data['refund_total'] = $order_inquiry['payment_amount_total'];
$data['refund_reason'] = $refund_reason;
if ($inquiry_refund_status == 3 && !empty($result['success_time'])) {
$data['success_time'] = date("Y-m-d H:i:s", strtotime($result['success_time'])); // 退款成功时间
if ($inquiry_refund_status == 3 && !empty($success_time)) {
$data['success_time'] = date("Y-m-d H:i:s", strtotime($success_time)); // 退款成功时间
}
$order_inquiry_refund = OrderInquiryRefund::addOrderInquiryRefund($data);

View File

@ -1137,6 +1137,8 @@ class MessagePush extends BaseService
$link_params = array();
$link_params['order_inquiry_id'] = $this->order_inquiry['order_inquiry_id'];
$link_params['inquiry_type'] = $this->order_inquiry['inquiry_type'];
$link_params['patient_user_id'] = $this->order_inquiry['user_id'];
$data['link_params'] = json_encode($link_params,JSON_UNESCAPED_UNICODE);// 跳转参数
$message = new SendStationMessageProducer($data);