SignSettingController.class.php
3.08 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
<?php
/**
* Created by PhpStorm.
* User: tangxingguo
* Date: 2017/7/24
* Time: 11:51
*/
namespace Apicp\Controller\Dailytask;
use Common\Common\Constant;
use Common\Service\DailytaskService;
class SignSettingController extends \Apicp\Controller\AbstractController
{
/**
* SignSetting
* @author tangxingguo
* @desc 获取签到配置接口(注意:固定签到与递增签到规则字段、结构差异)
* @return array 配置详情
array(
'is_open' => 1, // 是否开启(1=未开启;2=已开启)
'sign_type' => 1, // 签到规则类型(1=固定获取积分;2=递增获取积分)
'sign_fixed' => array( // 固定签到规则(sign_type=1时存在)
'day_integral' => 10, // 每天签到获取积分数
'reward_rule' => array( // 连续签到奖励规则(空=未设置;非空=已设置)
array(
'cycle' => 7, // 连续签到天数
'integral' => 10, // 一次性获取积分数
),
),
),
'sign_cycle' => array( // 递增签到规则(sign_type=2时存在)
'cycle' => 7, // 递增周期天数
'first' => 2, // 首次签到获取积分数
'integral' => 7, // 每连续签到多一天获取的积分数
),
'is_recommender' => 1, // 是否推荐到首页栏目icon(1=否;2=是)
);
*/
public function Index_post()
{
$dailytaskServ = new DailytaskService();
$signSetting = $dailytaskServ->get_by_conds(['app' => Constant::APP_SIGN]);
if (empty($signSetting)) {
return $this->_result = ['is_open' => Constant::DAILYTASK_IS_OPEN_FALSE];
}
// 格式化数据
$signSetting['rules'] = unserialize($signSetting['rules']);
$res = [
'is_open' => $signSetting['is_open'],
'sign_type' => $signSetting['rules']['sign_type'],
];
switch ($res['sign_type']) {
// 固定签到
case Constant::DAILYTASK_SIGN_TYPE_IS_FIXED:
$res['sign_fixed'] = $signSetting['rules']['sign_fixed'];
break;
// 递增签到
case Constant::DAILYTASK_SIGN_TYPE_IS_CYCLE:
$res['sign_cycle'] = $signSetting['rules']['sign_cycle'];
break;
}
// 签到是否推荐到首页icon栏目
$model = new \Common\Model\CommonModel('recommender', 'oa_common_');
$is_icon = $model->count_by_conds([
'type' => Constant::TYPE_ICON,
'system' => Constant::SYSTEM_NO,
'app_dir' => 'Sign',
]);
$res['is_recommender'] = $is_icon ? Constant::RECOMMENDER_ICON_TRUE : Constant::RECOMMENDER_ICON_FALSE;
$this->_result = $res;
}
}