feat: 修改支付控制器及逻辑,优化支付成功后的处理流程,并调整会员充值计算方式。

This commit is contained in:
mkm 2024-07-05 14:38:32 +08:00
parent f9114271ec
commit 9082a73f80
2 changed files with 16 additions and 10 deletions

View File

@ -38,10 +38,13 @@ class PayController extends BaseApiController
$app->wechat->success();
break;
case 'wechat_common':
default:
PayNotifyLogic::handle('wechat_common', $ciphertext['out_trade_no'], $ciphertext);
$app->wechat->success();
break;
default:
PayNotifyLogic::handle('wechat_common', $res['out_trade_no'], $res);
$app->wechat->success();
break;
}
}
} else {
@ -76,7 +79,7 @@ class PayController extends BaseApiController
try {
$res = $app->wechat->query($order);
} catch (\Exception $e) {
return $this->fail($e->extra['message']);
return $this->fail($e->extra['message'] ?? $e->getMessage());
}
if ($res['trade_state'] == 'SUCCESS' && $res['trade_state_desc'] == '支付成功') {
$attach = $res['attach'];
@ -86,6 +89,9 @@ class PayController extends BaseApiController
$app->wechat->success();
break;
case 'wechat_common':
PayNotifyLogic::handle('wechat_common', $res['out_trade_no'], $res);
$app->wechat->success();
break;
default:
PayNotifyLogic::handle('wechat_common', $res['out_trade_no'], $res);
$app->wechat->success();

View File

@ -22,17 +22,17 @@ class UserSignLogic extends BaseLogic
public static function dealRechargeFrozen($user, $order, $user_ship = 0)
{
switch ($order['price']) {
case $order['price'] >= 1000 && $order['price'] < 2000:
$total_vip = bcmul($order['price'], 0.25, 2);
case 1000:
$total_vip = 249;
break;
case $order['price'] >= 2000 && $order['price'] < 5000:
$total_vip = bcmul($order['price'], 0.28, 2);
case 2000:
$total_vip = 560;
break;
case $order['price'] >= 5000 && $order['price'] < 10000:
$total_vip = bcmul($order['price'], 0.31, 2);
case 5000:
$total_vip = 1550;
break;
case $order['price'] >= 10000:
$total_vip = bcmul($order['price'], 0.35, 2);
case 10000:
$total_vip = 3500;
break;
default:
$total_vip = 0;