<?php /** * Created by PhpStorm. * User: tangxingguo * Date: 2017/7/24 * Time: 11:51 */ namespace Api\Controller\Dailytask; use Common\Common\Constant; use Common\Common\TaskHelper; use Common\Service\DailytaskService; use Common\Service\UserSignRecordService; use Common\Service\UserSignService; class ListController extends \Api\Controller\AbstractController { /** * List * @author liyifei * @desc 获取每日任务列表 * @return mixed 列表详情 array( 'sign' => array( // 签到 'is_sign' => 1, // 是否已签到(1=未签到;2=已签到) 'integral' => 5, // 积分值 'count' => 1, // 任务总数 'complete_task' => 0, // 完成的任务数 'app_url' => 'http://dsc.vchangyi.com', // 去完成任务的url ), 'workmate' => array( // 同事圈(规则:workmate_circle=话题规则;workmate_comment=评论规则;workmate_like=点赞规则) array( 'app' => 'workmate', // 应用名 'rule_name' => 'workmate_like', // 规则名 'task_title' => '在同事圈进行10个点赞', // 任务名称 'integral' => 10, // 可获得积分 'require_total' => 10, // 任务总数 'complete_total' => 0, // 已完成的任务数 'is_get' => 1, // 是否已领取(1=未领取;2=已领取) 'app_url' => '', // 去完成任务的url ), ), 'answer' => array( // 问答(规则:answer_question=提问规则;answer_answer=回答规则) array( 'app' => 'answer', // 应用名 'rule_name' => 'answer_question', // 规则名 'task_title' => '在问答中心发起1个提问', // 任务名称 'integral' => 11, // 可获得积分 'require_total' => 1, // 任务总数 'complete_total' => 0, // 已完成的任务数 'is_get' => 1, // 是否已领取(1=未领取;2=已领取) 'app_url' => '', // 去完成任务的url ), ), ); */ public function Index_post() { $user = $this->_login->user; // 每日任务-同事圈、问答中心配置 $taskHelper = &TaskHelper::instance(); $taskList = $taskHelper->buildDailytaskList($user); // 每日任务-签到配置 $dailytaskServ = new DailytaskService(); $signTask = $dailytaskServ->get_by_conds([ 'is_open' => Constant::DAILYTASK_IS_OPEN_TRUE, 'app' => Constant::APP_SIGN, ]); // 签到信息 $signData = []; if (!empty($signTask)) { // 今天是否签到 $recordServ = new UserSignRecordService(); $startTime = rstrtotime(rgmdate(MILLI_TIME,'Y-m-d'), 1); $endTime = $startTime + 24 * 60 * 60 * 1000; $record = $recordServ->get_by_conds([ 'uid' => $user['memUid'], 'created >= ?' => $startTime, 'created < ?' => $endTime, ]); // 今天签到可以获取的积分 $signServ = new UserSignService(); $integral = $signServ->signIntegral($user['memUid']); // 签到返回数据 $signData['sign'] = [ 'is_sign' => empty($record) ? Constant::TODAY_IS_SIGN_FALSE : Constant::TODAY_IS_SIGN_TRUE, 'integral' => $integral, 'complete_task' => empty($record) ? 0 : 1, 'count' => 1, 'app_url' => empty($record) ? $taskHelper->getAppUrl(Constant::APP_SIGN) : '', ]; } $list = array_merge($signData, $taskList); $this->_result = $list; } }