From 01c5ca0ca6d8d8fbe464282a036c6f09074d19bb Mon Sep 17 00:00:00 2001 From: hujiabin <519660157@qq.com> Date: Fri, 2 Aug 2024 17:01:09 +0800 Subject: [PATCH] 1 --- webapp/mt/AchievementsCycle.php | 15 +++---------- webapp/services/HashRateService.php | 35 +++++++++++++++++++++++++++-- 2 files changed, 36 insertions(+), 14 deletions(-) diff --git a/webapp/mt/AchievementsCycle.php b/webapp/mt/AchievementsCycle.php index 1f6b4eb3..e64f4a3a 100644 --- a/webapp/mt/AchievementsCycle.php +++ b/webapp/mt/AchievementsCycle.php @@ -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) { diff --git a/webapp/services/HashRateService.php b/webapp/services/HashRateService.php index f0064dd3..d71d0e8b 100644 --- a/webapp/services/HashRateService.php +++ b/webapp/services/HashRateService.php @@ -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; //累计完成任务数