支付回调优化

This commit is contained in:
wong
2025-09-30 14:47:26 +08:00
parent d8f5771dcb
commit ddc3e855d4
3 changed files with 143 additions and 85 deletions

View File

@@ -3,6 +3,7 @@
namespace app\cunkebao\controller;
use app\common\controller\PaymentService;
use app\common\model\Order;
use app\cunkebao\model\TokensPackage;
use library\ResponseHelper;
use think\facade\Env;
@@ -41,13 +42,13 @@ class TokensController extends BaseController
return ResponseHelper::error('套餐和自定义购买金额必须选一个');
}
if (!empty($id)){
if (!empty($id)) {
$package = TokensPackage::where(['id' => $id, 'status' => 1, 'isDel' => 0])->find();
if (empty($package)) {
return ResponseHelper::error('套餐不存在或者已禁用');
}
if ($package['price'] <= 0){
if ($package['price'] <= 0) {
return ResponseHelper::error('套餐金额异常');
}
@@ -58,9 +59,9 @@ class TokensController extends BaseController
'tokens' => $package['tokens'],
];
}else{
} else {
//获取配置的tokens比例
$tokens_multiple = Env::get('payment.tokens_multiple',28);
$tokens_multiple = Env::get('payment.tokens_multiple', 28);
$specs = [
'id' => 0,
'name' => '自定义购买算力',
@@ -83,15 +84,32 @@ class TokensController extends BaseController
$paymentService = new PaymentService();
$res = $paymentService->createOrder($order);
$res = json_decode($res, true);
if ($res['code'] == 200){
return ResponseHelper::success(['orderNo' => $orderNo,'code_url' => $res['data']],'订单创建成功');
}else{
if ($res['code'] == 200) {
return ResponseHelper::success(['orderNo' => $orderNo, 'code_url' => $res['data']], '订单创建成功');
} else {
return ResponseHelper::error($res['msg']);
}
}
public function queryOrder()
{
$orderNo = $this->request->param('orderNo', '');
$order = Order::where('orderNo', $orderNo)->find();
if (!$order) {
return ResponseHelper::error('该订单不存在');
}
if ($order->status != 1) {
$paymentService = new PaymentService();
$res = $paymentService->queryOrder($orderNo);
$res = json_decode($res, true);
if ($res['code'] == 200) {
return ResponseHelper::success('','订单已支付');
} else {
$errorMsg = !empty($order['payInfo']) ? $order['payInfo'] : '订单未支付';
return ResponseHelper::error($errorMsg);
}
} else {
return ResponseHelper::success('','订单已支付');
}
}
}