Procházet zdrojové kódy

fixed: 领取指定系统邮件的任务检查功能.

gwang před 4 roky
rodič
revize
a902bdd5e0
1 změnil soubory, kde provedl 9 přidání a 4 odebrání
  1. 9 4
      Gameserver/Amfphp/process/EmailProc.php

+ 9 - 4
Gameserver/Amfphp/process/EmailProc.php

@@ -158,7 +158,9 @@ class EmailProc {
         my_Assert(ErrCode::ok == $err, $err);                                   # 发奖成功
         $mail->drawedts = now();                                                # 更新领取时间戳
         self::updateMail($zoneid, $uid, $mail);                                 # 回写邮件数据
-        TaskProc::OnDrawSysMail($mail->mailId);
+        if ($mail->sender_name == '系统') {
+            TaskProc::OnDrawSysMail($mail->sender_uid);
+        }
         self::logMailDrawed(array($mailId), $uid, $zoneid);                     # 更新数据库中邮件的领取记录 
         UserProc::updateUserInfo();
         return Resp::ok(array(#                                                 # 同步数据        
@@ -197,7 +199,9 @@ class EmailProc {
                 }
                 $arr[] = $m->appendix;
                 $rewardEmailIds[] = $m->mailId;
-                TaskProc::OnDrawSysMail($m->mailId);
+                if ($m->sender_name == '系统') {
+                    TaskProc::OnDrawSysMail($m->sender_uid);
+                }
             } //  else                                                          # 无附件的邮件不管
         }
         $asocMails = array();
@@ -516,9 +520,10 @@ class EmailProc {
                 if ($ts < $sysMail->startts) {
                     continue;                                                   # 系统邮件尚未生效, 跳过
                 }                                                               # else => 有效期内,继续处理
-                $mail = new Ins_Email($sysMail);                               # 创建邮件
+                $mail = new Ins_Email($sysMail);                                # 创建邮件
                 $mail->type = enum_Mail_Type::SysTemMail;                       # 设置邮件类型为系统邮件
-                $mail->sender_uid = $mail->sender_name = "系统";                # 设置发送者昵称和uid为系统
+                $mail->sender_uid = $sysMail->id;                               # 设置uid为系统邮件id
+                $mail->sender_name = "系统";                                    #  设置发送者昵称为系统
                 self::InsertMail($zoneid, $uid, $mail);                         # 插入邮件
                 $mem->sadd($key, $sysId);                                       # 记录已经领取此邮件
             }