eventreport/eventreport.php
@@ -55,6 +55,10 @@
      }
      break;
   case "CouponCode":
      $ok = RecordCoupontypeGroup();
      break;
   default:
      Response(1001, "unknown eventID -> " . $EventID);
      exit;
@@ -153,6 +157,28 @@
         return;
      }
   }
   $ServerID = \CommFunc\GetServerIDBySid($RegionName);
   AddAccountFirstLogin($ServerID, $roleInfo);
   AddAccountDayActive($ServerID, $roleInfo);
   // 附带更新服务器角色表,之后会替换 GameRoles 表
   $find = array("Channel" => $Channel, "AccountID" => $AccountID, "ServerID" => $ServerID);
   if (\DBOper\Count("ServerRoles", $find) <= 0) {
      $insArray = array(
         "Channel" => $Channel,
         "AccountID" => $AccountID,
         "ServerID" => $ServerID,
         "CreateYMD" => date("Y-m-d"),
      );
      if ($roleInfo["CreateRoleTime"]) {
         $insArray["CreateYMD"] = substr($roleInfo["CreateRoleTime"], 0, 10);
      }
      $insArray["RollCount"] = \DBOper\Count("ServerRoles", array("Channel" => $Channel, "AccountID" => $AccountID));
      $insArray = array_merge($insArray, $roleInfo);
      \DBOper\Insert("ServerRoles", $insArray, $find);
   } else {
      \DBOper\Update("ServerRoles", $find, $roleInfo, true);
   }
   return true;
}
@@ -193,3 +219,108 @@
   }
   return true;
}
/**添加平台账号首登 */
function AddAccountFirstLogin($ServerID, $roleInfo)
{
   global $Channel, $Time;
   $AccountID = $_GET["AccountID"];
   $find = array("Channel" => $Channel, "AccountID" => $AccountID);
   if (!\DBOper\FindOne("AccountFirstLogin", $find, $findData, null, false)) {
      return;
   }
   if (isset($findData)) {
      // 已存在,不再重复添加
      return;
   }
   $CreateRoleTime = $Time;
   if (array_key_exists("CreateRoleTime", $roleInfo)) {
      $CreateRoleTime = $roleInfo["CreateRoleTime"];
   }
   $insArray = array(
      "Channel" => $Channel,
      "AccountID" => $AccountID,
      "CreateYMD" => substr($CreateRoleTime, 0, 10),
      "CreateTime" => $CreateRoleTime,
      "ServerID" => $ServerID,
      "PlayerID" => $roleInfo["PlayerID"],
      "PlayerName" => $roleInfo["PlayerName"],
      "Job" => $roleInfo["Job"],
      "IP" => $roleInfo["IP"],
   );
   \DBOper\Insert("AccountFirstLogin", $insArray);
}
/**添加平台账号日活 */
function AddAccountDayActive($ServerID, $roleInfo)
{
   global $Channel, $Time;
   $AccountID = $_GET["AccountID"];
   $curYMD = substr($Time, 0, 10);
   $find = array("Channel" => $Channel, "AccountID" => $AccountID, "ActiveYMD" => $curYMD);
   $roleInfo["ServerID"] = $ServerID;
   // 直接更新
   $actInfo = array(
      "Channel" => $Channel,
      "AccountID" => $AccountID,
      "ActiveYMD" => $curYMD,
      "ServerID" => $ServerID,
      "IP" => $roleInfo["IP"],
   );
   if (array_key_exists("LoginTime", $roleInfo)) {
      $actInfo["LoginTime"] = $roleInfo["LoginTime"];
   }
   if (array_key_exists("LogoffTime", $roleInfo)) {
      $actInfo["LogoffTime"] = $roleInfo["LogoffTime"];
   }
   \DBOper\Update("AccountDayActive", $find, $actInfo, false, true);
}
/**记录媒体卡账号分组 */
function RecordCoupontypeGroup()
{
   global $Channel, $RegionName;
   $ServerID = \CommFunc\GetServerIDBySid($RegionName);
   if (!$ServerID) {
      return;
   }
   CommFunc\GetConfig("ServerInfo", "CoupontypeGroup", $CoupontypeGroup);
   if (!$CoupontypeGroup) {
      // \Logging\LogInfo("CoupontypeGroup 不需要");
      return;
   }
   $AccountID = $_GET["accid"];
   $code = $_GET["code"];
   $coupontype = $_GET["coupontype"];
   $CoupontypeGroup = json_decode($CoupontypeGroup);
   if (!array_key_exists($coupontype, $CoupontypeGroup)) {
      // \Logging\LogInfo("CoupontypeGroup 不需要记录的组:" . $coupontype);
      return;
   }
   $find = array("Channel" => $Channel, "AccountID" => $AccountID, "ServerID" => $ServerID);
   if (!\DBOper\FindOne("CoupontypeGroup", $find, $findData)) {
      return;
   }
   if (isset($findData)) {
      // \Logging\LogInfo("已存在,不再重复添加: " . print_r($findData, true));
      return true;
   }
   $insArray = array(
      "Channel" => $Channel,
      "AccountID" => $AccountID,
      "ServerID" => $ServerID,
      "CreateTime" => date("Y-m-d H:i:s"),
      "Coupontype" => $coupontype,
      "Code" => $code,
   );
   if (\DBOper\Insert("CoupontypeGroup", $insArray, $find)) {
      \Logging\LogInfo("记录使用媒体卡首次分组: " . print_r($insArray, true));
      return true;
   }
}