ListController.class.php
4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?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;
}
}