42 lines
1.3 KiB
PHP
42 lines
1.3 KiB
PHP
<?php
|
|
|
|
|
|
namespace services;
|
|
require_once('mt/RookieTask.php');
|
|
require_once('models/RookieTask.php');
|
|
|
|
use models\RookieTask;
|
|
use phpcommon;
|
|
class RookieTaskService extends BaseService
|
|
{
|
|
|
|
const NOT_FINISHED_STATE = 0; //未完成
|
|
const FINISHED_STATE = 1; //完成未领取
|
|
const RECEIVED_STATE = 2; //完成已领取
|
|
const UNARRIVED_TIME_STATE = 3;//未到时间
|
|
|
|
public static function getTaskDto($taskMeta){
|
|
$taskDto = array(
|
|
'task_id' => $taskMeta['id'],
|
|
'current' => RookieTask::getCurrentVal($taskMeta['type']),
|
|
'target' => getXVal($taskMeta, 'target', 1),
|
|
'state' => self::NOT_FINISHED_STATE,
|
|
);
|
|
$starTime = RookieTask::getMyStarTime();
|
|
if ($taskMeta['task_day'] > 0){
|
|
$time = ($taskMeta['task_day']-1) * 86400;
|
|
if (myself()->_getNowDaySeconds() < $starTime+$time){
|
|
$taskDto['state'] = self::UNARRIVED_TIME_STATE;
|
|
}
|
|
}
|
|
if ($taskDto['current'] >= $taskDto['target']) {
|
|
$taskDto['current'] = $taskDto['target'];
|
|
$taskDto['state'] = self::FINISHED_STATE;
|
|
}
|
|
$taskDb = RookieTask::find($taskMeta['id']);
|
|
if ($taskDb){
|
|
$taskDto['state'] = self::RECEIVED_STATE;
|
|
}
|
|
return $taskDto;
|
|
}
|
|
} |