<?php
$activityConfig =array(
"8" => array(
"activity" => 2,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 1,
"top_up" => 0,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",88)),
),
"9" => array(
"activity" => 2,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 2,
"top_up" => 0,
"sign" => 0,
"expend" => 0,
"awards" => array(array("coin",30000)),
),
"10" => array(
"activity" => 2,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 3,
"top_up" => 0,
"sign" => 0,
"expend" => 0,
"awards" => array(array("box_key_purple",30)),
),
"11" => array(
"activity" => 2,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 4,
"top_up" => 0,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",215)),
),
"12" => array(
"activity" => 2,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 5,
"top_up" => 0,
"sign" => 0,
"expend" => 0,
"awards" => array(array(71003,1)),
),
"13" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 1,
"top_up" => 6,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",100),array(71002,1),array(58012,5)),
),
"14" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 2,
"top_up" => 6,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",100),array(71002,1),array(58012,5)),
),
"15" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 3,
"top_up" => 6,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",100),array(71002,1),array(58012,5)),
),
"16" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 4,
"top_up" => 6,
"sign" => 0,
"expend" => 0,
"awards" => array(array("credits",100),array(71002,1),array(58012,5)),
),
"17" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 5,
"top_up" => 6,
"sign" => 0,
"expend" => 0,
"awards" => array(array(51303,10)),
),
"18" => array(
"activity" => 3,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 6,
"top_up" => 6,
"sign" => 1,
"expend" => 0,
"awards" => array(array("box_key_gold",50)),
),
"19" => array(
"activity" => 4,
"begin_time" => "2022/4/28 20:00:00",
"end_time" => "2022/5/5 23:59:59",
"login_num" => 1,
"top_up" => 0,
"sign" => 0,
"expend" => array(0,60,120,180,240,300,360,420),
"awards" => array(array(100,array(51303,10)),array(100,array(51303,10)),array(200,array(51303,5)),array(200,array(51303,5)),array(1000,array(59233,10)),array(1000,array(59234,10)),array(2000,array(71002,1)),array(2000,array(71003,1))),
),
);
function getPlayerActivityData($activity_type)
{
$data=[];
if (empty($data) || !isset($data[$activity_type])) {
$data[$activity_type]["activity_num"] = 0;
$data[$activity_type]["activity_award"] = [];
$data[$activity_type]["activity_time"] = [];
}
echo "=====>>data=".json_encode($data)."\n";
return $data;
}
function getActivityConfigByType($activityConfig,$activity_type)
{
$activity_array = [];
foreach ($activityConfig as $activity_id=>$config) {
if ($activity_type == $config["activity"]) {
array_push($activity_array, [$activity_id => $config]);
}
}
echo "==>>>>activity_array=".json_encode($activity_array)."\n";
return $activity_array;
}
function getData($activityConfig)
{
$data = [];
$now = time();
$activity_type = 2;
$player_data = getPlayerActivityData($activity_type);
$result=[];
if (!empty($player_data)) {
array_push($result,["data"=>$player_data]);
}
array_push($result,["config" => $activityConfig]);
return $result;
}
function updateRotaryActivity($request_data,$activityConfig,$player_data)
{
$activity_id = $request_data["activity_id"];
$activity_type=$request_data["activity_type"];
$activity_config=$activityConfig[$activity_id];
$result_award =[];
if (isset($activity_config)) {
$activity_awards = $activity_config["awards"];
$weight = 0;
$temp_data = [];
foreach ($activity_awards as $key => $awards) {
$key += 1;
$already_exist = false;
foreach ($player_data[$activity_type]['activity_time'] as $already_value) {
if (isset($already_value[$key])) {
$already_exist = true;
}
}
if (!$already_exist) {
$weight += $awards[0];
for ($i = 0; $i < $awards[0]; $i++) {
$temp_data[] = $key;
}
}
}
if ($weight > 0) {
$rand_index = rand(0, $weight - 1);
$rand_result = $temp_data[$rand_index];
$result_award = $activity_awards[$rand_result-1][1];
$rotary_time = time();
$player_data[$activity_type]["activity_num"] += 1;
array_push($player_data[$activity_type]["activity_time"], [$rand_result => $rotary_time]);
if($rand_result>5){
array_push($player_data[$activity_type]["activity_award"], [$rand_result => $result_award]);
}
echo "==>>>>U.R.A result_award=" . json_encode($result_award) . "\n";
}
}
return $player_data;
}
function getAwards($request_data,$activityConfig,$player_data)
{
echo "=====getAwards=====\n";
$activity_type = $request_data["activity_type"];
$activity_id = $request_data["activity_id"];
$awards = [];
$receive = false;
$complete = false;
if (!isset($activityConfig[$activity_id])) {
return $awards;
}
if (!empty($player_data[$activity_type]["activity_time"])) {
foreach ($player_data[$activity_type]["activity_time"] as $activity_time) {
echo "==>>>>activity_time=" . json_encode($activity_time) . "\n";
if (isset($activity_time[$activity_id])) {
echo "==>>>>aaaa=\n";
$complete=true;
break;
}
}
}
echo "==>>>>complete={$complete}\n";
if (!empty($player_data[$activity_type]["activity_award"])) {
foreach ($player_data[$activity_type]["activity_award"] as $activity_award) {
echo "==>>>>activity_time=" . json_encode($activity_award) . "\n";
if (isset($activity_award[$activity_id])) {
echo "==>>>>bbb=";
$receive = false;
}
}
}
echo "==>>>>receive={$receive}\n";
if ($complete && !$receive) {
$_awards = $activityConfig[$activity_id]["awards"];
foreach ($_awards as $item) {
$k = $item[0];
$v = $item[1];
if (isset($awards[$k])) {
$awards[$k] += $v;
} else {
$awards[$k] = $v;
}
}
array_push($player_data[$activity_type]["activity_award"], [$activity_id => $awards]);
}
echo "==>>>>awards=" . json_encode($awards) . "\n";
return $player_data;
}
function updatePaymentSuccessActivity($request_data,$activity_config_by_type,$activityConfig,$player_data)
{
echo "=====updatePaymentSuccessActivity=====\n";
$activity_type = 3;
if (count($activity_config_by_type) >= $player_data[$activity_type]["activity_num"]) {
$payment_time = time();
$player_data[$activity_type]["activity_num"] += 1;
echo "=====activity_num={$player_data[$activity_type]['activity_num']}====\n";
foreach ($activityConfig as $activity_id => $config) {
if ($config["activity"] == $activity_type && $config["login_num"] == $player_data[$activity_type]["activity_num"] && $request_data["cash_fee"] >= $config["top_up"]) {
array_push($player_data[$activity_type]["activity_time"], [$activity_id => $payment_time]);
echo "==>>>>U.P.S.A player_data=" . json_encode($player_data) . "\n";
}
}
}
return $player_data;
}
function loginActivityDaily($activity_config_by_type,$activityConfig,$player_data)
{
echo "=====loginActivityDaily=====\n";
$activity_type = 2;
if (count($activity_config_by_type) >= $player_data[$activity_type]["activity_num"]) {
$first_time = true;
$login_time = time();
if (isset($player_data[$activity_type]["activity_time"])) {
echo "==>>>>activity_time=" . json_encode($player_data[$activity_type]["activity_time"]) . "\n";
foreach ($player_data[$activity_type]["activity_time"] as $activity_id => $activity_time) {
if (isSameDay($activity_time, $login_time)) {
$first_time = false;
echo "==first_time=false>>>>activity_id={$activity_id}===activity_time={$activity_time}====\n";
}
}
}
if ($first_time) {
$player_data[$activity_type]["activity_num"] += 1;
echo "=====activity_num={$player_data[$activity_type]['activity_num']}====\n";
foreach ($activityConfig as $activity_id => $config) {
if ($config["activity"] == $activity_type && $config["login_num"] == $player_data[$activity_type]["activity_num"]) {
array_push($player_data[$activity_type]["activity_time"], [$activity_id => $login_time]);
}
}
}
}
echo "==>>>>===>>player_data=" . json_encode($player_data) . "\n";
return $player_data;
}
function sendMailAwards($a,$activityConfig,$data)
{
$activity_type = 4;
$activity_id = 19;
if (!empty($data)) {
$awards = [];
if (count($data[$activity_type]["activity_time"]) != count($data[$activity_type]["activity_award"])) {
$complete = [];
echo "==>>>>activity_time=" . json_encode($data[$activity_type]["activity_time"]) . "\n";
foreach ($data[$activity_type]["activity_time"] as $activity_time) {
foreach ($activity_time as $key => $value) {
array_push($complete, $key);
}
}
echo "==>>>>complete=" . json_encode($complete) . "\n";
echo "==>>>>activity_award=" . json_encode($data[$activity_type]["activity_award"]) . "\n";
foreach ($data[$activity_type]["activity_award"] as $activity_award) {
foreach ($activity_award as $key => $value) {
echo "==>>key={$key}>>value=" . json_encode($value) . "\n";
$index = array_search($key, $complete);
echo "==>>index={$index}>>\n";
if ($index >= 0) {
unset($complete[$index]);
}
}
}
$awards_tem = [];
$_awards = $activityConfig[$activity_id]["awards"];
echo "==>>>>complete=" . json_encode($complete) . "\n";
foreach ($complete as $key => $value) {
echo "==>>key={$key}>>value={$value}\n";
array_push($awards_tem, $_awards[$value][1]);
}
foreach ($awards_tem as $item) {
$k = $item[0];
$v = $item[1];
if (isset($awards[$k])) {
$awards[$k] += $v;
} else {
$awards[$k] = $v;
}
}
echo "==>>>>awards=" . json_encode($awards) . "\n";
}
}
}
echo "=====>>activityConfig=" . json_encode($activityConfig) . "\n";
$request_data=array("activity_type"=>4,"activity_id"=>19,"cash_fee"=>6);
echo "=====>>request_data=" . json_encode($request_data) . "\n";
$activity_type = $request_data["activity_type"];
$activity_id = $request_data["activity_id"];
$result=getData($activityConfig);
echo "=====>>result=" . json_encode($result) . "\n";