Commit 9fe7b281 authored by wanjilong's avatar wanjilong

add: 支付优化临时提交

parent f4803cf1
......@@ -29,6 +29,7 @@ class PayException extends BaseException
14 => '订单缺少商品信息,请联系管理员',
15 => '订单存在过期商品,不能支付',
16 => '订单过期,不允许支付',
17 => '订单缺少过期时间,请联系管理员',
];
}
......@@ -18,8 +18,7 @@ class PayOrder extends MysqlBase
self::beginTransaction();
try{
$_date = date('Y-m-d H:i:s');
$order = self::getMaster('*', ['order_id'=>$order_id, 'expire_time[>]'=>$_date]);
$order = self::getMaster('*', ['order_id'=>$order_id, 'pay_channel'=>$pay_order['pay_channel']]);
if(empty($order)) {
$cnt = self::insert($pay_order, ['rowCount'=>true]);
if($cnt) {
......
......@@ -50,13 +50,14 @@ class PayService
throw new PayException(['cus' => 3]);
}
if (!empty($order_info['pay_expiration_time'])) {
if (empty($order_info['pay_expiration_time'])) {
throw new PayException(['cus' => 17]);
}
$pay_expiration_time = strtotime($order_info['pay_expiration_time']);
if($pay_expiration_time < time()) {
throw new PayException(['cus' => 16]);
}
}
if(empty($data['result']['order_item_list'])) {
throw new PayException(['cus' => 14]);
......@@ -93,9 +94,11 @@ class PayService
throw new PayException(['cus' => 15]);
}
// 判断是否存在有效订单
$max_expire_time = config('pay','pay.expire_time') ?? 1800;
$expire_time = time() + $max_expire_time;
//订单过期时间必须满足 70s+
if($pay_expiration_time - $now < 70 ) {
$pay_expiration_time = $now + 70;
}
$pay_order_id = $this->gen_pay_order_id($user_id);
$new_pay_order = [
'pay_order_id' => $pay_order_id,
......@@ -107,7 +110,7 @@ class PayService
'pay_amount' => $order_info['payment'],
'pay_channel' => $pay_method_id,
'third_order_id' => '',
'expire_time' => date('Y-m-d H:i:s', $expire_time),
'expire_time' => date('Y-m-d H:i:s', $pay_expiration_time),
'source_name' => 10,
'service_name' => 1,
'extra' => json_encode([]),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment