_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), ) ); if (count($rows) < 1){ $rows = array(); } return $rows; } public static function toDto($row){ array( 'task_id' => $row['task_id'] ); } public static function findByTaskId($taskId){ return SqlHelper::ormSelectOne( myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, ) ); } public static function incRecordNum($period,$taskId,$num){ SqlHelper::upsert (myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'period' => $period, 'task_id' => $taskId, ), array( 'total_num' => function () use($num) { return "total_num + ${num}"; }, 'modifytime' => myself()->_getNowTime() ), array( 'account_id' => myself()->_getAccountId(), 'period' => $period, 'task_id' => $taskId, 'total_num' => $num, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime() ) ); } public static function getDailyReward($taskId){ $row = SqlHelper::ormSelectOne( myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, ) ); $modifytime = $row ? $row['modifytime'] : myself()->_getNowTime(); $num = $row ? $row['claim_day'] : 0; if (myself()->_getDaySeconds($modifytime) < myself()->_getNowDaySeconds()) { $num = 0; } return $num; } public static function incDailyReward($taskId,$val,$total){ $oldVal = self::getDailyReward($taskId); $val += $oldVal; SqlHelper::upsert (myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, ), array( 'claim_day' => $val, 'claim_total' => function () use($total) { return "claim_total + ${total}"; }, 'modifytime' => myself()->_getNowTime() ), array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, 'claim_day' => $val, 'claim_total' => $total, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime() ) ); } public static function updateKv($taskId,$fieldKv){ SqlHelper::update (myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, ), $fieldKv ); } public static function setRankedData(){ $SeasonMeta = RankSeason::getCurrentSeason(); if (!$SeasonMeta){ error_log("当前赛季结束"); return; } if (! self::findByTaskIdOrSeason(self::RANK_TYPE,$SeasonMeta['id'])){ $userDb = myself()->_safeGetOrmUserInfo(); $rankMeta = Rank::getRankById($userDb['rank']); SqlHelper::insert (myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => self::RANK_TYPE, 'season' => $SeasonMeta['id'], 'record_total' => $rankMeta['rank_order2'], 'claim_total' => $rankMeta['rank_order2'], 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime() ) ); } } public static function findByTaskIdOrSeason($taskId,$season){ return SqlHelper::ormSelectOne( myself()->_getSelfMysql(), 't_hash_rate_task', array( 'account_id' => myself()->_getAccountId(), 'task_id' => $taskId, 'season' => $season, ) ); } }