cyzhao 3 years ago
parent
commit
fce19c76bf

+ 11 - 5
Gameserver/Amfphp/model/User/Info_College.php

@@ -207,9 +207,14 @@ class Info_College extends Object_ext{
         $college = GameConfig::college();
         $index = 0;
         foreach ($college as $collegeId => $collegeMo) {
-            $courseArr = explode(',',$collegeMo->cList);            
+            $courseArr = explode(',',$collegeMo->cList);
+
+            if(!StlUtil::dictHasProperty($this->ingTaskCardDic, $collegeId)){
+                $this->ingTaskCardDic->$collegeId = new \stdClass();
+            }
+            $collegeDic = $this->ingTaskCardDic->$collegeId;
             foreach ($courseArr as $courseId) {                
-                if(!StlUtil::dictHasProperty($this->ingTaskCardDic, $courseId)){
+                if(!StlUtil::dictHasProperty($collegeDic, $courseId)){
                     $mo= GameConfig::course_getItem($courseId);
                     $arr = explode(',',$mo->misslist);
                     $dic = new \stdClass();
@@ -241,11 +246,12 @@ class Info_College extends Object_ext{
                         $dic->$cardId = $item;
                         req()->userInfo->game->store->taskcards->$cid = $taskCard;
                     }              
-                    $this->ingTaskCardDic->$courseId = $dic;                                      
+                    //$this->ingTaskCardDic->$courseId = $dic;   
+                    $collegeDic->$courseId = $dic;
                 }
-              
+                $this->ingTaskCardDic->$collegeId = $collegeDic;   
                 if($index >= $num){
-                    break;
+                    break 2;
                 }
                 $index += 1;  
             }

+ 4 - 4
Gameserver/Amfphp/process/CollegeProc.php

@@ -130,7 +130,7 @@ class CollegeProc {
      */
     public static function ReceiveCourseReward() {
         $req = req();
-        list($courseId) = $req->paras;
+        list($collegeId,$courseId) = $req->paras;
                
         $collegeInfo = $req->userInfo->game->college;
         my_Assert(!in_array($courseId, $collegeInfo->comCourseList), ErrCode::college_CourseRewardRepeatReceive);
@@ -138,10 +138,10 @@ class CollegeProc {
         $mo = GameConfig::course_getItem($courseId);
         $list = explode(',', $mo->misslist);
         
-        my_Assert(StlUtil::dictHasProperty($collegeInfo->ingTaskCardDic, $courseId), ErrCode::college_CourseNotUnlocked);
+        //my_Assert(StlUtil::dictHasProperty($collegeInfo->ingTaskCardDic, $courseId), ErrCode::college_CourseNotUnlocked);
                
-        foreach ($list as $id) {
-            my_Assert(StlUtil::dictHasProperty($collegeInfo->ingTaskCardDic->$courseId, $id) && $collegeInfo->ingTaskCardDic->$courseId->$id->type == Enum_TaskCardStateType::drawed, ErrCode::college_TaskCardStateError);           
+        foreach ($list as $id) {                   
+            my_Assert(StlUtil::dictHasProperty($collegeInfo->ingTaskCardDic->$collegeId->$courseId, $id) && $collegeInfo->ingTaskCardDic->$collegeId->$courseId->$id->type == Enum_TaskCardStateType::drawed, ErrCode::college_TaskCardStateError);           
         }
         
         StoreProc::AddMultiItemInStore($mo->prize);      # 发放奖励