WIN-2308041133\Administrator 7 godzin temu
rodzic
commit
882171b67c

+ 0 - 74
app/api/controller/Recharge.php

@@ -596,79 +596,5 @@ class Recharge extends BaseController
         return app('json')->success($orderInfo);
         return app('json')->success($orderInfo);
     }
     }
 
 
-    /**
-     * 增加用户积分(内部调用)
-     * @param int $uid 用户ID
-     * @param int $totalIntegral 总积分
-     * @param string $orderSn 订单号
-     * @param float $price 充值金额
-     * @param int $orderId 订单ID
-     * @return bool
-     */
-    private function addUserIntegral($uid, $totalIntegral, $orderSn, $price, $orderId)
-    {
-        try {
-            $userModel = new User();
-            $user = $userModel->where('uid', $uid)->find();
-            
-            if ($user) {
-                // 更新用户积分和累计充值金额
-                $userModel->where('uid', $uid)->inc('score', $totalIntegral)->inc('score_in', $totalIntegral)->update();
-                
-                // 记录积分明细
-                $scoreDetail = new UserScoreDetail();
-                $scoreDetail->incomeScore($uid, $totalIntegral, $orderSn, 'income_score', [
-                    'o_id' => $orderId
-                ], $orderId);
-            }
-            
-            // 清除用户折扣缓存,以便下次充值生成新的折扣金额
-            Cache::store('redis')->delete('recharge_discount_' . $uid);
-            
-            return true;
-        } catch (\Exception $e) {
-            // 将错误信息保存到 quanju.txt 文件
-            @file_put_contents('quanju.txt', $e->getLine() . $e->getMessage() . $e->getFile() . "-增加用户积分报错内容\r\n", 8);
-
-            return false;
-        }
-    }
 
 
-    /**
-     * 充值成功回调处理(内部调用)
-     * @param string $orderSn 订单号
-     * @param string $paySn 支付流水号
-     * @param string $payJson 支付返回信息
-     * @return bool
-     */
-    public function paySuccess($orderSn, $paySn, $payJson = '')
-    {
-        try {
-            $rechargeOrder = new RechargeOrder();
-            $orderInfo = $rechargeOrder->getByOrderSn($orderSn);
-            
-            if (!$orderInfo) {
-                return false;
-            }
-            
-            // 更新订单支付状态
-            $updateResult = $rechargeOrder->updatePayStatus($orderSn, $paySn, $payJson);
-            
-            if (!$updateResult) {
-                return false;
-            }
-            
-            // 增加用户积分
-            $this->addUserIntegral($orderInfo['uid'], $orderInfo['total_integral'], $orderSn, $orderInfo['price'], $orderInfo['id']);
-            
-            return true;
-        } catch (\Exception $e) {
-            // 将错误信息保存到 quanju.txt 文件
-//            $logMessage = date('Y-m-d H:i:s') . " [paySuccess Error] OrderSn: {$orderSn}, PaySn: {$paySn}, Error: " . $e->getMessage() . "\n";
-//            file_put_contents('quanju.txt', $logMessage, FILE_APPEND);
-            @file_put_contents('quanju.txt', $e->getLine() . $e->getMessage() . $e->getFile() . "-充值完成报错内容\r\n", 8);
-
-            return false;
-        }
-    }
 }
 }

+ 2 - 1
app/lib/OrderLib.php

@@ -18,6 +18,7 @@ use app\model\api\PayTrade;
 use app\model\api\Order;
 use app\model\api\Order;
 use app\model\api\ShowTemplateOrder;
 use app\model\api\ShowTemplateOrder;
 use app\model\api\UserShowTemplate;
 use app\model\api\UserShowTemplate;
+use app\model\api\RechargeOrder;
 use app\model\api\OrderInfo;
 use app\model\api\OrderInfo;
 use app\model\api\User as UserModel;
 use app\model\api\User as UserModel;
 use app\model\api\UserDetail as UserDetailModel;
 use app\model\api\UserDetail as UserDetailModel;
@@ -89,7 +90,7 @@ class OrderLib
                 // 调用充值成功处理
                 // 调用充值成功处理
 //                $rechargeController = new \app\api\controller\Recharge();
 //                $rechargeController = new \app\api\controller\Recharge();
 //                $result = $rechargeController->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo);
 //                $result = $rechargeController->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo);
-                $result = (new Recharge)->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo);
+                $result = (new RechargeOrder())->paySuccess($payOn, $payTradeData['transaction_id'] ?? '', $payDataInfo);
                 if (!$result) {
                 if (!$result) {
                     PayTrade::rollbackTrans();
                     PayTrade::rollbackTrans();
                     return false;
                     return false;

+ 76 - 0
app/model/api/RechargeOrder.php

@@ -4,6 +4,7 @@ declare (strict_types=1);
 namespace app\model\api;
 namespace app\model\api;
 
 
 use library\basic\BaseModel;
 use library\basic\BaseModel;
+use think\facade\Cache;
 use think\Model;
 use think\Model;
 
 
 /**
 /**
@@ -183,4 +184,79 @@ class RechargeOrder extends BaseModel
             'update_time' => time()
             'update_time' => time()
         ]);
         ]);
     }
     }
+    /**
+     * 增加用户积分(内部调用)
+     * @param int $uid 用户ID
+     * @param int $totalIntegral 总积分
+     * @param string $orderSn 订单号
+     * @param float $price 充值金额
+     * @param int $orderId 订单ID
+     * @return bool
+     */
+    private function addUserIntegral($uid, $totalIntegral, $orderSn, $price, $orderId)
+    {
+        try {
+            $userModel = new User();
+            $user = $userModel->where('uid', $uid)->find();
+
+            if ($user) {
+                // 更新用户积分和累计充值金额
+                $userModel->where('uid', $uid)->inc('score', $totalIntegral)->inc('score_in', $totalIntegral)->update();
+
+                // 记录积分明细
+                $scoreDetail = new UserScoreDetail();
+                $scoreDetail->incomeScore($uid, $totalIntegral, $orderSn, 'income_score', [
+                    'o_id' => $orderId
+                ], $orderId);
+            }
+
+            // 清除用户折扣缓存,以便下次充值生成新的折扣金额
+            Cache::store('redis')->delete('recharge_discount_' . $uid);
+
+            return true;
+        } catch (\Exception $e) {
+            // 将错误信息保存到 quanju.txt 文件
+            @file_put_contents('quanju.txt', $e->getLine() . $e->getMessage() . $e->getFile() . "-增加用户积分报错内容\r\n", 8);
+
+            return false;
+        }
+    }
+
+    /**
+     * 充值成功回调处理(内部调用)
+     * @param string $orderSn 订单号
+     * @param string $paySn 支付流水号
+     * @param string $payJson 支付返回信息
+     * @return bool
+     */
+    public function paySuccess($orderSn, $paySn, $payJson = '')
+    {
+        try {
+            $rechargeOrder = new RechargeOrder();
+            $orderInfo = $rechargeOrder->getByOrderSn($orderSn);
+
+            if (!$orderInfo) {
+                return false;
+            }
+
+            // 更新订单支付状态
+            $updateResult = $rechargeOrder->updatePayStatus($orderSn, $paySn, $payJson);
+
+            if (!$updateResult) {
+                return false;
+            }
+
+            // 增加用户积分
+            $this->addUserIntegral($orderInfo['uid'], $orderInfo['total_integral'], $orderSn, $orderInfo['price'], $orderInfo['id']);
+
+            return true;
+        } catch (\Exception $e) {
+            // 将错误信息保存到 quanju.txt 文件
+//            $logMessage = date('Y-m-d H:i:s') . " [paySuccess Error] OrderSn: {$orderSn}, PaySn: {$paySn}, Error: " . $e->getMessage() . "\n";
+//            file_put_contents('quanju.txt', $logMessage, FILE_APPEND);
+            @file_put_contents('quanju.txt', $e->getLine() . $e->getMessage() . $e->getFile() . "-充值完成报错内容\r\n", 8);
+
+            return false;
+        }
+    }
 }
 }