代码提交

This commit is contained in:
wong
2025-09-30 10:36:51 +08:00
parent ff7b583f07
commit 5313bc6a18
4 changed files with 70 additions and 28 deletions

View File

@@ -2,6 +2,7 @@
namespace app\common\controller;
use app\chukebao\model\TokensCompany;
use think\Db;
use app\common\util\PaymentUtil;
use think\facade\Config;
@@ -60,20 +61,19 @@ class PaymentService
//创建订单
Order::create([
'mchId' => $params['mch_id'],
'companyId' => $order['companyId'],
'userId' => $order['userId'],
'orderType' => $order['orderType'] ?? 1,
'companyId' => isset($order['companyId']) ? $order['companyId'] : 0,
'userId' => isset($order['userId']) ? $order['userId'] : 0,
'orderType' => isset($order['orderType']) ? $order['orderType'] : 1,
'status' => 0,
'goodsId' => $order['goodsId'],
'goodsName' => $order['goodsName'],
'money' => $order['money'],
'orderNo' => $order['orderNo'],
'goodsId' => isset($order['goodsId']) ? $order['goodsId'] : 0,
'goodsName' => isset($order['goodsName']) ? $order['goodsName'] : '',
'money' => isset($order['money']) ? $order['money'] : 0,
'goodsSpecs' => isset($order['goodsSpecs']) ? json_encode($order['goodsSpecs'],256) : json_encode([]),
'orderNo' => isset($order['orderNo']) ? $order['orderNo'] : '',
'ip' => Request::ip(),
'nonceStr' => $params['nonce_str'],
'nonceStr' => isset($order['nonceStr']) ? $order['nonceStr'] : '',
'createTime' => time(),
]);
// XML POST 请求
$xmlBody = $this->arrayToXml($params);
$response = $this->postXml($url, $xmlBody);
@@ -227,15 +227,36 @@ class PaymentService
if ($pay_result != 0) {
$order->payInfo = $payload['pay_info'];
$order->payType = $payload['trade_type'] == 'pay.wechat.jspay' ? 1 : 2;
$order->status = 3;
$order->save();
Db::commit();
return json_encode(['code' => 500, 'msg' => $payload['pay_info']]);
}
$order->payType = $payload['trade_type'] == 'pay.wechat.jspay' ? 1 : 2;
$order->status = 1;
$order->payTime = $this->parsePayTime($time_end);
$order->save();
//订单处理
switch ($order['orderType']){
case 1:
// 处理购买算力
$token = TokensCompany::where(['companyId' => $order->companyId])->find();
$goodsSpecs = json_decode($token->goodsSpecs,true);
if (!empty($token)){
$token->tokens = $token->tokens + $goodsSpecs['tokens'];
$token->updateTime = time();
$token->save();
}else{
$tokensCompany = new TokensCompany();
$tokensCompany->companyId = $order->companyId;
$tokensCompany->tokens = $goodsSpecs['tokens'];
$tokensCompany->createTime = time();
$tokensCompany->updateTime = time();
$tokensCompany-> save();
}
break;
}
Db::commit();
return json_encode(['code' => 200, 'msg' => '付款成功']);
} catch (\Exception $e) {