Tree 2 месяцев назад
Родитель
Сommit
0f6ffafa5e

+ 11 - 2
app/Game/GlobalUserInfo.php

@@ -2,6 +2,7 @@
 
 namespace App\Game;
 
+use App\Facade\TableName;
 use App\Game\Services\BetbyService;
 use App\Http\helper\NumConfig;
 use App\IpLocation;
@@ -12,6 +13,7 @@ use App\Util;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Support\Facades\Crypt;
 use Illuminate\Support\Facades\Redis;
+use Illuminate\Support\Facades\DB;
 
 
 class GlobalUserInfo extends Model
@@ -147,8 +149,8 @@ class GlobalUserInfo extends Model
 
             $scoreData = self::getScoreDataByUserID($data['UserID']);
 
-            $data['Score'] = $scoreData($data['Score']);
-            $data['Score'] = $scoreData($data['Score']);
+            $data['Score'] = $scoreData['Score'];
+            $data['InsureScore'] = $scoreData['InsureScore'];
             if($makeBB){
                 $data['bb']=['token'=>(new BetbyService())->getDefaultJWT($u)];
             }
@@ -178,6 +180,13 @@ class GlobalUserInfo extends Model
             if($scoreObj){
                 self::$userToScoresData[$userID]['Score'] = intval($scoreObj->Score) / NumConfig::NUM_VALUE;
                 self::$userToScoresData[$userID]['InsureScore'] = intval($scoreObj->InsureScore) / NumConfig::NUM_VALUE;
+                $user_recharge = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
+                    ->where('UserID', $userID)
+                    ->value('Recharge') ?: 0;
+                if(!$user_recharge){
+                    self::$userToScoresData[$userID]['Score'] = 0;
+                    self::$userToScoresData[$userID]['InsureScore'] = intval($scoreObj->Score) / NumConfig::NUM_VALUE;
+                }
             }else{
                 self::$userToScoresData[$userID]['Score'] = 0;
                 self::$userToScoresData[$userID]['InsureScore'] = 0;

+ 12 - 8
app/Game/Services/OuroGameService.php

@@ -60,7 +60,7 @@ class OuroGameService
         $ingame_state=Redis::get($key)??-1;
         return intval($ingame_state);
     }
-    public static function AddScore($UserID,$GiftScore,$reason=null)
+    public static function AddScore($UserID,$GiftScore,$reason=null,$record=true)
     {
         // 增加用户金币
         $OrgScore = DB::table('QPTreasureDB.dbo.GameScoreInfo')->where('UserID', $UserID)->value('Score');
@@ -69,19 +69,23 @@ class OuroGameService
         DB::table('QPTreasureDB.dbo.GameScoreInfo')->where('UserID', $UserID)->increment('Score',$GiftScore);
 
         $NowScore=$OrgScore+$GiftScore;
+        if(!$record){
+            return [$OrgScore,$NowScore];
+        }
         // 服务器通知
 
-        $url = config('transfer.stock')['url'] . 'notifyPay';
-
-        $data = [
-            'userid' =>  $UserID,
-            'getScore' => $GiftScore,
-            'score' => $NowScore,
-        ];
+//        $url = config('transfer.stock')['url'] . 'notifyPay';
+//
+//        $data = [
+//            'userid' =>  $UserID,
+//            'getScore' => $GiftScore,
+//            'score' => $NowScore,
+//        ];
 
 //        (new HttpCurl())->service($url, $data);
         self::notifyWebHall($UserID,"",'pay_finish',["Golds"=>$NowScore,"PayNum"=>$GiftScore]);
 
+
         RecordScoreInfo::addScore($UserID, $GiftScore, $reason, $OrgScore); #赠送彩金
 
         if($reason){

+ 41 - 2
app/Http/Controllers/Game/WebRouteController.php

@@ -11,15 +11,19 @@ use App\Game\Route;
 use App\Game\RouteModel;
 use App\Game\Services\BetbyService;
 use App\Game\Services\BetbyTestService;
+use App\Game\Services\OuroGameService;
 use App\Game\Services\RouteService;
 use App\Game\Services\TelegramAppService;
 use App\Game\Style;
 use App\Game\WebChannelConfig;
 use App\Http\Controllers\Controller;
+use App\Http\helper\NumConfig;
+use App\Models\AccountsInfo;
 use App\Models\SystemStatusInfo;
 use App\Services\ApkService;
 use App\Util;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Redis;
 
 
@@ -180,7 +184,44 @@ class WebRouteController extends Controller
 
     public function getRegisterGold(Request $request)
     {
+        try {
+            $user = $request->user();
+            $UserID = $user->UserID;
 
+            if ($user->Registed == 1) {
+                return apiReturnFail('Fail');
+            }
+
+            // 添加金币(10金币)
+            $addResult = OuroGameService::AddScore($UserID, 10 * NumConfig::NUM_VALUE, null, false);
+
+            // 更新 webgame.GlobalUserInfo 的 Registed 字段
+            DB::connection('mysql')->table('webgame.GlobalUserInfo')
+                ->where('UserID', $UserID)
+                ->update(['Registed' => 1]);
+
+            // 更新 QPAccountsDB.dbo.AccountsInfo 的 Registed 字段
+            DB::connection('write')->table('QPAccountsDB.dbo.AccountsInfo')
+                ->where('UserID', $UserID)
+                ->update(['Registed' => 1]);
+
+
+            return apiReturnSuc([
+                'user' => [
+                    'InsureScore' => 10,
+                    'Registed' => 1,
+                    'message' => 'Success'
+                ]
+
+            ]);
+
+        } catch (\Exception $e) {
+            \Log::error('注册送金币失败:' . $e->getMessage(), [
+                'UserID' => $UserID ?? 0,
+                'trace' => $e->getTraceAsString()
+            ]);
+            return apiReturnFail('领取失败:' . $e->getMessage());
+        }
     }
 
     public function checkApkInstall(Request $request)
@@ -275,6 +316,4 @@ class WebRouteController extends Controller
         }
     }
 
-
-
 }

+ 1 - 1
app/Models/AccountsInfo.php

@@ -20,7 +20,7 @@ class AccountsInfo extends Model
 
     protected $primaryKey = 'UserID';
     public $timestamps = false;
-    protected $fillable = ['UserID', 'SpreaderID', 'GameID', 'NickName', 'MemberOrder', 'MemberOverDate', 'Nullity', 'IsAndroid', 'Channel', 'RegisterDate'];
+    protected $fillable = ['UserID', 'SpreaderID', 'GameID', 'NickName', 'MemberOrder', 'MemberOverDate', 'Nullity', 'IsAndroid', 'Channel', 'RegisterDate','Registed'];
 
     public function gameScoreInfo()
     {

+ 1 - 0
routes/game.php

@@ -212,6 +212,7 @@ Route::group([
     $route->any('/forgetPass', 'Game\LoginController@forgetPassword');
 
     $route->any('/routes', 'Game\WebRouteController@Routes');
+    $route->any('/getRegisterGold', 'Game\WebRouteController@getRegisterGold');
     $route->any('/pageModules/{id}', 'Game\WebPageModuleController@PageModules');
     $route->any('/gameList', 'Game\WebPageModuleController@GameList');
     $route->any('/actList', 'Game\ActivityController@List');