1
This commit is contained in:
parent
6ae266d81a
commit
6f801c05f2
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
|
|
||||||
namespace services;
|
namespace services;
|
||||||
|
require_once('mt/AchievementsCycle.php');
|
||||||
|
require_once('mt/AchievementsPower.php');
|
||||||
|
require_once('mt/ServerTask.php');
|
||||||
|
require_once('mt/ServerTaskTime.php');
|
||||||
|
|
||||||
require_once('models/Hero.php');
|
require_once('models/Hero.php');
|
||||||
require_once('models/HashRate.php');
|
require_once('models/HashRate.php');
|
||||||
require_once('models/HashRateBattleData.php');
|
require_once('models/HashRateBattleData.php');
|
||||||
@ -11,9 +16,6 @@ use models\GlobalData;
|
|||||||
use models\HashRateBattleData;
|
use models\HashRateBattleData;
|
||||||
use models\HashRate;
|
use models\HashRate;
|
||||||
use models\Hero;
|
use models\Hero;
|
||||||
use mt\AchievementsPower;
|
|
||||||
use mt\ServerTask;
|
|
||||||
use mt\ServerTaskTime;
|
|
||||||
|
|
||||||
class HashRateService extends BaseService
|
class HashRateService extends BaseService
|
||||||
{
|
{
|
||||||
@ -89,60 +91,60 @@ class HashRateService extends BaseService
|
|||||||
|
|
||||||
switch ($taskMate['Completion_type']){
|
switch ($taskMate['Completion_type']){
|
||||||
//吃鸡或4v4获得胜利
|
//吃鸡或4v4获得胜利
|
||||||
case AchievementsPower::TOTAL_WINS_TIMES : {
|
case \mt\AchievementsPower::TOTAL_WINS_TIMES : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_win_times');
|
'total_win_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//击杀人数
|
//击杀人数
|
||||||
case AchievementsPower::TOTAL_KILL_TIMES : {
|
case \mt\AchievementsPower::TOTAL_KILL_TIMES : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_kills_times');
|
'total_kills_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//使用X道具
|
//使用X道具
|
||||||
case AchievementsPower::USE_ITEM_TIMES : {
|
case \mt\AchievementsPower::USE_ITEM_TIMES : {
|
||||||
$taskDto['current'] = $this->getWeaponsSlotData($taskMate);
|
$taskDto['current'] = $this->getWeaponsSlotData($taskMate);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//X分钟内结束比赛
|
//X分钟内结束比赛
|
||||||
case AchievementsPower::NOMINAL_TIME_BATTLE_END : {
|
case \mt\AchievementsPower::NOMINAL_TIME_BATTLE_END : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_fiveMin_times');
|
'total_fiveMin_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//在局内升级最快次数
|
//在局内升级最快次数
|
||||||
case AchievementsPower::IN_BATTLE_UP_LV : {
|
case \mt\AchievementsPower::IN_BATTLE_UP_LV : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_first_Lv_up');
|
'total_first_Lv_up');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//游戏场次
|
//游戏场次
|
||||||
case AchievementsPower::TOTAL_BATTLE_TIMES : {
|
case \mt\AchievementsPower::TOTAL_BATTLE_TIMES : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_battle_times');
|
'total_battle_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//最后一名次数
|
//最后一名次数
|
||||||
case AchievementsPower::TOTAL_LAST_RUNNER : {
|
case \mt\AchievementsPower::TOTAL_LAST_RUNNER : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_last_runner_times');
|
'total_last_runner_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//救援队友数
|
//救援队友数
|
||||||
case AchievementsPower::RESCUE_TEAMMATE_TIMES : {
|
case \mt\AchievementsPower::RESCUE_TEAMMATE_TIMES : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_rescue_times');
|
'total_rescue_times');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//累计行走距离(米)
|
//累计行走距离(米)
|
||||||
case AchievementsPower::WALKING_DISTANCE : {
|
case \mt\AchievementsPower::WALKING_DISTANCE : {
|
||||||
$taskDto['current'] = $this->getBattleData($taskMate,
|
$taskDto['current'] = $this->getBattleData($taskMate,
|
||||||
'total_walking_distance');
|
'total_walking_distance');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//指定英雄升阶数
|
//指定英雄升阶数
|
||||||
case AchievementsPower::HERO_UP_QUALITY : {
|
case \mt\AchievementsPower::HERO_UP_QUALITY : {
|
||||||
$state = false;
|
$state = false;
|
||||||
Hero::getHeroList(function ($row) use ($taskMate,&$state) {
|
Hero::getHeroList(function ($row) use ($taskMate,&$state) {
|
||||||
if ($row['hero_id'] == $taskMate['condition'] && $row['quality'] >= $taskMate['Completed_quantity']){
|
if ($row['hero_id'] == $taskMate['condition'] && $row['quality'] >= $taskMate['Completed_quantity']){
|
||||||
@ -155,17 +157,17 @@ class HashRateService extends BaseService
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//拥有英雄nft数
|
//拥有英雄nft数
|
||||||
case AchievementsPower::OWN_HERO_NFT_NUM : {
|
case \mt\AchievementsPower::OWN_HERO_NFT_NUM : {
|
||||||
//...../
|
//...../
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//拥有芯片nft数
|
//拥有芯片nft数
|
||||||
case AchievementsPower::OWN_CHIP_NFT_NUM : {
|
case \mt\AchievementsPower::OWN_CHIP_NFT_NUM : {
|
||||||
//....../
|
//....../
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
//拥有金币数
|
//拥有金币数
|
||||||
case AchievementsPower::OWN_GOLD_NUM : {
|
case \mt\AchievementsPower::OWN_GOLD_NUM : {
|
||||||
$taskDto['current'] = myself()->_getPeriodV(TN_TOTAL_GATHER_GOLD,0);
|
$taskDto['current'] = myself()->_getPeriodV(TN_TOTAL_GATHER_GOLD,0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -200,9 +202,9 @@ class HashRateService extends BaseService
|
|||||||
private function internalGetBattleData($taskMate)
|
private function internalGetBattleData($taskMate)
|
||||||
{
|
{
|
||||||
$battleData = null;
|
$battleData = null;
|
||||||
if ($taskMate['scene'] == AchievementsPower::PVP_SCENE) {
|
if ($taskMate['scene'] == \mt\AchievementsPower::PVP_SCENE) {
|
||||||
$battleData = $this->pvpBattleData;
|
$battleData = $this->pvpBattleData;
|
||||||
} else if ($taskMate['scene'] == AchievementsPower::MOBA_SCENE){
|
} else if ($taskMate['scene'] == \mt\AchievementsPower::MOBA_SCENE){
|
||||||
$battleData = $this->mobaBattleData;
|
$battleData = $this->mobaBattleData;
|
||||||
}
|
}
|
||||||
return $battleData ? $battleData : array();
|
return $battleData ? $battleData : array();
|
||||||
@ -226,19 +228,19 @@ class HashRateService extends BaseService
|
|||||||
'state' => self::NOT_FINISHED_STATE,
|
'state' => self::NOT_FINISHED_STATE,
|
||||||
);
|
);
|
||||||
switch ($taskMate['condition']){
|
switch ($taskMate['condition']){
|
||||||
case ServerTask::TOTAL_BATTLE_TIMES_COND : {
|
case \mt\ServerTask::TOTAL_BATTLE_TIMES_COND : {
|
||||||
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_battle_times");
|
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_battle_times");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ServerTask::TOTAL_KILL_NUM_COND :{
|
case \mt\ServerTask::TOTAL_KILL_NUM_COND :{
|
||||||
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_kills_times");
|
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_kills_times");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ServerTask::TOTAL_DAMGE_OUT_COND :{
|
case \mt\ServerTask::TOTAL_DAMGE_OUT_COND :{
|
||||||
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_damage_out");
|
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"total_damage_out");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ServerTask::TOTAL_USE_SKILL_TIMES_COND :{
|
case \mt\ServerTask::TOTAL_USE_SKILL_TIMES_COND :{
|
||||||
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"use_skill_times");
|
$taskDto['current'] = $this->getServerTaskBattleData($taskMate,"use_skill_times");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,9 +262,9 @@ class HashRateService extends BaseService
|
|||||||
private function internalGetServerTaskBattleData($taskMate)
|
private function internalGetServerTaskBattleData($taskMate)
|
||||||
{
|
{
|
||||||
$battleData = null;
|
$battleData = null;
|
||||||
if ($taskMate['type'] == ServerTask::MOBA_TYPE) {
|
if ($taskMate['type'] == \mt\ServerTask::MOBA_TYPE) {
|
||||||
$battleData = $this->mobaBattleDataServerTask;
|
$battleData = $this->mobaBattleDataServerTask;
|
||||||
} else if ($taskMate['type'] == ServerTask::PVP_TYPE){
|
} else if ($taskMate['type'] == \mt\ServerTask::PVP_TYPE){
|
||||||
$battleData = $this->pvpBattleDataServerTask;
|
$battleData = $this->pvpBattleDataServerTask;
|
||||||
}
|
}
|
||||||
return $battleData ? $battleData : array();
|
return $battleData ? $battleData : array();
|
||||||
@ -289,12 +291,12 @@ class HashRateService extends BaseService
|
|||||||
$mobaCount = 0;
|
$mobaCount = 0;
|
||||||
$pvpCount = 0;
|
$pvpCount = 0;
|
||||||
foreach ($taskList1 as $taskDto){
|
foreach ($taskList1 as $taskDto){
|
||||||
if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){
|
if ($taskDto['state'] == self::FINISHED_STATE){
|
||||||
$mobaCount += 1;
|
$mobaCount += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach ($taskList2 as $taskDto){
|
foreach ($taskList2 as $taskDto){
|
||||||
if ($taskDto['state'] == \services\HashRateService::FINISHED_STATE){
|
if ($taskDto['state'] == self::FINISHED_STATE){
|
||||||
$pvpCount += 1;
|
$pvpCount += 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user