新增取消订单恢复优惠卷,新增获取订单支付数据接口

This commit is contained in:
2023-03-11 19:56:26 +08:00
parent 9fd87ac071
commit 53d9e2072d
10 changed files with 201 additions and 33 deletions
+12 -17
View File
@@ -18,6 +18,7 @@ use App\Model\PatientFamily;
use App\Model\PatientFamilyHealth;
use App\Model\PatientFamilyPersonal;
use App\Model\Product;
use App\Model\UserCoupon;
use App\Model\UserDoctor;
use App\Model\UserPatient;
use App\Utils\Mask;
@@ -121,8 +122,8 @@ class InquiryService extends BaseService
try {
// 实际付款金额
$coupon_price = $user_coupon['coupon']['coupon_price'] ?? 0;
$payment_amount_total = $inquiry_price - $coupon_price;
$coupon_amount_total = $user_coupon['coupon']['coupon_price'] ?? 0;
$payment_amount_total = $inquiry_price - $coupon_amount_total;
// 生成问诊订单
$data = array();
@@ -136,6 +137,7 @@ class InquiryService extends BaseService
$data['inquiry_pay_channel'] = $inquiry_pay_channel ?? 0;// 支付渠道(1:小程序支付 2:微信扫码支付)
$data['inquiry_no'] = $generator->generate();// 订单编号
$data['amount_total'] = $inquiry_price;// 订单金额
$data['coupon_amount_total'] = $coupon_amount_total;// 优惠卷总金额
$data['payment_amount_total'] = $payment_amount_total;// 实际付款金额
$data['patient_name'] = $patient_family['card_name'];// 患者姓名-就诊人
$data['patient_name_mask'] = $patient_family['card_name_mask'];// 患者姓名-就诊人(掩码)
@@ -247,20 +249,17 @@ class InquiryService extends BaseService
}
}
// 发起支付
$WechatPay = new WechatPay(1);
// 修改优惠卷使用状态
if (!empty($user_coupon)){
$data = array();
$data['user_coupon_status'] = 1;
$data['coupon_use_date'] = date('Y-m-d H:i:s',time());
// 获取预支付交易会话标识
$total = $inquiry_price * 100;
$prepay = $WechatPay->getJsapiPrepayId($order_inquiry['inquiry_no'], $total, $user_info['open_id']);
if (empty($prepay)) {
Db::rollBack();
return fail(HttpEnumCode::SERVER_ERROR, "订单创建失败");
$params = array();
$params['user_coupon_id'] = $user_coupon['user_coupon_id'];
UserCoupon::edit($params,$data);
}
// 获取小程序支付配置
$pay_config = $WechatPay->getAppletsPayConfig($prepay['prepay_id']);
// 增加至取消订单延迟队列
$data = array();
$data['order_inquiry_id'] = $order_inquiry['order_inquiry_id'];
@@ -281,12 +280,8 @@ class InquiryService extends BaseService
}
$result = array();
$result['amount_total'] = $inquiry_price; // 订单金额
$result['inquiry_no'] = $order_inquiry['inquiry_no']; // 订单编号
$result['order_inquiry_id'] = $order_inquiry['order_inquiry_id']; // 订单主键id
$result['created_at'] = date('Y-m-d H:i:s', strtotime($order_inquiry['created_at'])); // 创建时间
$result['inquiry_type'] = $order_inquiry['inquiry_type']; // 订单类型(1:专家问诊 2:快速问诊 3:公益问诊 4:问诊购药)
$result['pay_config'] = $pay_config; // 小程序支付配置
return success($result);
}