This commit is contained in:
hujiabin 2024-08-02 17:01:09 +08:00
parent da6f5e958a
commit 01c5ca0ca6
2 changed files with 36 additions and 14 deletions

View File

@ -6,6 +6,9 @@ use phpcommon;
class AchievementsCycle {
public static function find($id){
return getXVal(self::getMetaList(), $id);
}
public static function getCurrentPeriod()
{
foreach (self::getMetaList() as $meta) {
@ -17,18 +20,6 @@ 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

@ -18,6 +18,7 @@ use models\HashRateBattleData;
use models\HashRate;
use models\Hero;
use models\BigData;
use mt\AchievementsCycle;
use mt\AchievementsPower;
class HashRateService extends BaseService
@ -214,7 +215,22 @@ class HashRateService extends BaseService
break;
//花费钻石数
case \mt\AchievementsPower::SPEND_DIAMOND : {
//..
$meta = AchievementsCycle::find($period);
if ($meta) {
$obtain_start_time = strtotime($meta['obtain_start_time']);
$income_end_time = strtotime($meta['income_end_time']);
$row = myself()->_getSelfMysql()->execQueryOne(
'SELECT SUM(amount) FROM t_diamond_consume_product WHERE (account_id=:account_id OR passport_address=:address) AND type=:type AND createtime BETWEEN :star_time AND :end_time',
array(
':account' => myself()->_getAccountId(),
':address' => 1,
':type' => 0,
':star_time' => $obtain_start_time,
':end_time' => $income_end_time,
)
);
$taskDto['current'] = $row[0];
}
}
break;
//消耗金币
@ -249,7 +265,22 @@ class HashRateService extends BaseService
break;
//合成金币卡
case \mt\AchievementsPower::SYN_GOLD_CARD : {
//.........
$meta = AchievementsCycle::find($period);
if ($meta){
$obtain_start_time = strtotime($meta['obtain_start_time']);
$income_end_time = strtotime($meta['income_end_time']);
$row = myself()->_getSelfMysql()->execQueryOne(
'SELECT COUNT(*) FROM t_gold_bullion WHERE src_account_id=:account AND activated=:activated AND activate_time BETWEEN :star_time AND :end_time',
array(
':account' => myself()->_getAccountId(),
':activated' => 1,
':star_time' => $obtain_start_time,
':end_time' => $income_end_time,
)
);
$taskDto['current'] = $row[0];
}
}
break;
//累计完成任务数