InfoController.class.php
5.26 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
/**
* Created by PhpStorm.
* User: tangxingguo
* Date: 2017/4/27
* Time: 10:59
*/
namespace Apicp\Controller\Award;
use Com\PackageValidate;
use Common\Common\Constant;
use Common\Common\Integral;
use Common\Service\ArticleService;
use Common\Service\AwardService;
use Common\Service\RightService;
class InfoController extends \Apicp\Controller\AbstractController
{
/**
* Info
* @author tangxingguo
* @desc 激励详情
* @param Int award_id:true 激励ID
* @return Array 课程详情
array(
'award_id' => 1, // 激励ID
'award_action' => '第一个激励', // 激励行为
'description' => '第一个激励描述', // 描述
'award_type' => 1, // 激励类型(1=勋章)
'medals' => array( // 勋章
'im_id' => 3, // 勋章ID
'icon' => 'http://qy.vchangyi.com/icon.jpg', // 勋章图标URL或者前端路径
'icon_type' => 1, // 勋章图标来源(1=用户上传;2=系统预设)
'name' => '勋章1', // 勋章名称
'desc' => '这是一个勋章', // 勋章描述
),
'right' => array( // 发放对象
'is_all' => 1, // 是否全公司(1=否,2=是)
'tag_list' => array(// 标签
array(
'tag_id' => '3CDBB2867F0000012C7F8D28432943BB',// 标签ID
'tag_name' => 'liyifei001',// 标签名
),
),
'dp_list' => array(// 部门
array(
'dp_id' => 'B65085507F0000017D3965FCB20CA747',// 部门ID
'dp_name' => '一飞冲天',// 部门名
),
),
'user_list' => array(// 人员
array(
'uid' => 'B4B3BA5B7F00000173E870DA6ADFEA2A',// 人员UID
'username' => '缘来素雅',// 人员姓名
'face' => 'http://shp.qpic.cn/bizmp/gdZUibR6BHrmiar6pZ6pLfRyZSVaXJicn2CsvKRdI9gccXRfP2NrDvJ8A/'// 人员头像
),
),
'job_list' => array(// 职位
array(
'job_id' => 'B65085507F0000017D3965FCB20CA747',// 职位ID
'job_name' => '一飞冲天',// 职位名称
),
),
'role_list' => array(// 角色
array(
'role_id' => 'B65085507F0000017D3965FCB20CA747',// 角色ID
'role_name' => '好哈',// 角色名称
),
),
),
'articles' => array( // 已选课程列表
'article_id' => 110, // 课程ID
'article_title' => '店长必学', // 课程名称
),
'condition' => 12, // 勋章发送条件(必须学习课程数量)
);
*/
public function Index_post()
{
// 验证规则
$rules = [
'award_id' => 'require|integer',
];
// 验证数据
$validate = new PackageValidate($rules, [], array_keys($rules));
$postData = $validate->postData;
$awardId = $postData['award_id'];
$awardServ = new AwardService();
$info = $awardServ->get($awardId);
if (empty($info)) {
E('激励不存在');
}
// 勋章
if (Constant::AWARD_TYPE_IS_MEDAL == $info['award_type']) {
$IntegralServ = new Integral();
$integralList = $IntegralServ->listMedal();
if (!empty($integralList)) {
$integralList = array_combine_by_key($integralList, 'im_id');
}
$info['medals'] = isset($integralList[$info['medal_id']]) ? $integralList[$info['medal_id']] : [];
}
// 权限
$rightServ = new RightService();
$info['right'] = $rightServ->getData(['award_id' => $info['award_id']]);
// 课程
$articleIds = unserialize($info['article_ids']);
$articleServ = new ArticleService();
$articleList = $articleServ->list_by_conds(['article_id' => $articleIds]);
if (!empty($articleList)) {
$articleList = array_combine_by_key($articleList, 'article_id');
}
foreach ($articleIds as $v) {
$article = ['article_id' => $v];
if (isset($articleList[$v])) {
$article['article_title'] = $articleList[$v]['article_title'];
$info['articles'][] = $article;
}
}
$this->_result = $info;
}
}