ith5 пре 6 месеци
родитељ
комит
3c8ae01d50
1 измењених фајлова са 42 додато и 21 уклоњено
  1. 42 21
      app/v1/controller/center/GameController.php

+ 42 - 21
app/v1/controller/center/GameController.php

@@ -59,15 +59,18 @@ class GameController extends BaseController
     public function addGame(Request $request): Response
     {
         $data = $request->post();
-
-        // 如果主游戏ID改变,则获取主游戏KEY
-        if($data['main_game_id']){
-            $game_info = $this->logic->read($data['main_game_id']);
-            $data['appkey'] = $game_info['appkey'];
-            $data['login_key'] = $game_info['login_key'];
-            $data['pay_key'] = $game_info['pay_key'];
+        $cp_callback_type = $data['cp_callback_type'];
+        if($cp_callback_type == 1){
+            // 读取主游戏的KEY
+            if(!$data['main_game_id']){
+                return $this->fail('请选择主游戏');
+            }
+            $main_game_info = $this->logic->read($data['main_game_id']);
+            $data['appkey'] = $main_game_info['appkey'];
+            $data['login_key'] = $main_game_info['login_key'];
+            $data['pay_key'] = $main_game_info['pay_key'];
         }else{
-            // 如果主游戏ID为空,则生成新的KEY
+            // 生成新的KEY
             $data['appkey'] = md5('appkey'.uniqid());
             $data['login_key'] = md5('login_key'.uniqid());
             $data['pay_key'] = md5('pay_key'.uniqid());
@@ -82,20 +85,38 @@ class GameController extends BaseController
     public function updateGame(Request $request, $id): Response
     {
         $data = $request->post();
-       
-        // 如果主游戏ID改变,则获取主游戏KEY
-        if($data['main_game_id']){
-            $game_info = $this->logic->read($data['main_game_id']);
-            $data['appkey'] = $game_info['appkey'];
-            $data['login_key'] = $game_info['login_key'];
-            $data['pay_key'] = $game_info['pay_key'];
-        }else{
-            // 如果主游戏ID为空,则生成新的KEY
-            $data['appkey'] = md5('appkey'.uniqid());
-            $data['login_key'] = md5('login_key'.uniqid());
-            $data['pay_key'] = md5('pay_key'.uniqid());
-        }
+        print_r($data);
+        $game_info = $this->logic->read($id);
 
+        $cp_callback_type = $data['cp_callback_type'];
+        $game_info_cp_callback_type = $game_info['cp_callback_type'];
+        $main_game_id = $data['main_game_id'];
+        $game_info_main_game_id = $game_info['main_game_id'];
+
+        // 如果主游戏ID改变,并且游戏发货规则为1,则获取主游戏KEY
+        if(($main_game_id !== $game_info_main_game_id) && $cp_callback_type===1){
+             $main_game_info = $this->logic->read($main_game_id);
+             $data['appkey'] = $main_game_info['appkey'];
+             $data['login_key'] = $main_game_info['login_key'];
+             $data['pay_key'] = $main_game_info['pay_key'];
+             $this->logic->edit($id,$data);
+        }else if($cp_callback_type !== $game_info_cp_callback_type){
+            // 如果游戏发货规则改变,则根据规则生成新的KEY
+            if($cp_callback_type == 0){
+                // 如果是独立KEY, 则生成新的KEY
+                $data['appkey'] = md5('appkey'.uniqid());
+                $data['login_key'] = md5('login_key'.uniqid());
+                $data['pay_key'] = md5('pay_key'.uniqid());
+            }else{
+                // 如果是主游戏KEY, 则获取主游戏KEY
+                $appkey = $this->logic->read($main_game_id)['appkey'];
+                $login_key = $this->logic->read($main_game_id)['login_key'];
+                $pay_key = $this->logic->read($main_game_id)['pay_key'];
+                $data['appkey'] = $appkey;
+                $data['login_key'] = $login_key;
+                $data['pay_key'] = $pay_key;
+            }
+        }
         $this->logic->edit($id, $data);
         return $this->success();
     }