<?php /** * Created by PhpStorm. * User: zhonglei * Date: 17/7/26 * Time: 16:36 */ namespace Common\Service; use Common\Model\UserTaskModel; class UserTaskService extends AbstractService { // 构造方法 public function __construct() { parent::__construct(); $this->_d = new UserTaskModel(); } /** * 获取我的常规任务排名 * @author liyifei * @param String $uid 人员UID * @param Int $customtask_id 常规任务ID * @return Int */ public function getMyRank($uid, $customtask_id) { $userTask = $this->get_by_conds([ 'uid' => $uid, 'progress > ?' => 0, 'customtask_id' => $customtask_id, ]); // 未参与任务或任务完成度为0时,不显示排名 $myRank = 0; if (!empty($userTask)) { // 我已参与任务,排名=完成度大于我的人数+完成度等于我且完成时间小于我的人数+1 $userTotal = $this->_d->getMyRank($customtask_id, $userTask['progress'], $userTask['complete_time']); $myRank = (int)$userTotal + 1; } return $myRank; } }