This commit is contained in:
hujiabin 2024-01-18 15:54:08 +08:00
parent 7cb302e41a
commit e888ef4268
6 changed files with 60 additions and 38 deletions

View File

@ -15,9 +15,10 @@ class HashRate(object):
'response': [
_common.RspHead(),
['!list', [HashRateList()], '行为列表'],
['obtain_start_time', 0, '获得期开始时间'],
['obtain_end_time', 0, '获得期结束时间'],
['income_end_time', 0, '盈利期结束时间'],
['state', 0, '0:获得期 1:盈利期'],
['state', 0, '0:未开始 1:获得期 2:盈利期'],
['myHashRate', 0, '我的算力'],
]
},

View File

@ -815,7 +815,10 @@ class BaseAuthedController extends BaseController {
public function _getPeriodV($x, $y, $decVal = 0){
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
return DynData::getPeriodV($x, $y,strtotime($currentPeriod['obtain_start_time']), $decVal);
if ($currentPeriod){
return DynData::getPeriodV($x, $y,strtotime($currentPeriod['obtain_start_time']), $decVal);
}
return $decVal;
}
}

View File

@ -19,21 +19,25 @@ class HashRateController extends BaseAuthedController
public function info(){
$mateList = \mt\AchievementsPower::getMetaList();
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
$currentPeriod= \mt\AchievementsCycle::getPeriod();
$hashRateDtoList = array();
foreach ($mateList as $mate) {
$temp = $this->hashRateService->hashRateTaskDto($mate ,$currentPeriod);
array_push($hashRateDtoList, $temp);
}
$obtain_start_time = strtotime($currentPeriod['obtain_start_time']);
$obtain_end_time = strtotime($currentPeriod['obtain_end_time']);
$income_end_time = strtotime($currentPeriod['income_end_time']);
$state = 0;
if ($obtain_end_time < myself()->_getNowTime()){
if(myself()->_getNowTime() >= $obtain_start_time && myself()->_getNowTime() <= $obtain_end_time){
$state = 1;
}elseif ($obtain_end_time < myself()->_getNowTime()){
$state = 2;
}
$myHashRate = HashRate::getMyHashRate($currentPeriod['id']);
$this->_rspData(array(
'list' => $hashRateDtoList,
'obtain_start_time' => $obtain_start_time,
'obtain_end_time' => $obtain_end_time,
'income_end_time' => $income_end_time,
'state' => $state,

View File

@ -17,6 +17,18 @@ class AchievementsCycle {
return array();
}
public static function getPeriod()
{
$metaList = self::getMetaList();
foreach ($metaList as $key => $meta) {
if (myself()->_getNowTime() >= strtotime($meta['obtain_start_time']) &&
myself()->_getNowTime() <= strtotime($meta['income_end_time'])) {
return $meta;
}
}
return $metaList[1];
}
public static function getMetaList()
{
if (!self::$metaList) {

View File

@ -33,7 +33,7 @@ class HashRateService extends BaseService
'modifytime' => myself()->_getNowTime(),
);
}
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
$currentPeriod= \mt\AchievementsCycle::getPeriod();
if (myself()->_getDaySeconds(getXVal($this->hashRateData, 'modifytime', 0)) <
myself()->_getDaySeconds(strtotime($currentPeriod['obtain_start_time']))) {
$this->hashRateData = array(

View File

@ -1220,41 +1220,43 @@ class TameBattleDataService extends BaseService {
error_log("_addHashRateTask");
$hisBattleData = HashRateBattleData::getMyBattleData();
$currentPeriod= \mt\AchievementsCycle::getCurrentPeriod();
if (!isset($hisBattleData['data'])) {
$hisBattleData['data'] = array(
'pvpData' => array(),
'mobaData' => array(),
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
);
}
if (myself()->_getDaySeconds($hisBattleData['data']['modifytime']) <
myself()->_getDaySeconds(strtotime($currentPeriod['obtain_start_time']) )) {
$hisBattleData['data'] = array(
'pvpData' => array(),
'mobaData' => array(),
'createtime' => $hisBattleData['data']['createtime'],
'modifytime' => myself()->_getNowTime()
);
}
if ($currentPeriod && strtotime($currentPeriod['obtain_end_time']) > myself()->_getNowTime()){
switch (getXVal($this->allInfo,'room_mode', 0)){
case self::MATCH_MODE_PVP :{
$this->applyEx($hisBattleData['data']['pvpData']);
}
break;
case self::ROOM_MODE_MOBA :{
$this->applyEx($hisBattleData['data']['mobaData']);
}
break;
default:{
}
break;
if ($currentPeriod){
if (!isset($hisBattleData['data'])) {
$hisBattleData['data'] = array(
'pvpData' => array(),
'mobaData' => array(),
'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime()
);
}
$hisBattleData['data']['modifytime'] = myself()->_getNowTime();
if (myself()->_getDaySeconds($hisBattleData['data']['modifytime']) <
myself()->_getDaySeconds(strtotime($currentPeriod['obtain_start_time']) )) {
$hisBattleData['data'] = array(
'pvpData' => array(),
'mobaData' => array(),
'createtime' => $hisBattleData['data']['createtime'],
'modifytime' => myself()->_getNowTime()
);
}
if ($currentPeriod && strtotime($currentPeriod['obtain_end_time']) > myself()->_getNowTime()){
switch (getXVal($this->allInfo,'room_mode', 0)){
case self::MATCH_MODE_PVP :{
$this->applyEx($hisBattleData['data']['pvpData']);
}
break;
case self::ROOM_MODE_MOBA :{
$this->applyEx($hisBattleData['data']['mobaData']);
}
break;
default:{
}
break;
}
$hisBattleData['data']['modifytime'] = myself()->_getNowTime();
}
HashRateBattleData::add(json_encode($hisBattleData));
}
HashRateBattleData::add(json_encode($hisBattleData));
}
private function applyEx(&$battleData)