DetailsController.class.php
3.51 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
136
137
138
139
140
<?php
/**
* 企业号管理组关系权限接口
* DetailsChooseController.class.php
* $author$ 何岳龙
* $date$ 2016年8月29日11:26:24
*/
namespace Api\Controller\ChooseMem;
use Common\Common\Department;
use Common\Common\User;
use Common\Common\Tag;
class DetailsController extends AbstractController
{
public function Index()
{
// 部门ids数组
$departmentIds = I("post.departmentIds");
// 已选部门IDs数组
$selectedDepartmentIds = I("post.selectedDepartmentIds");
// 未选中标签IDs数组
$tagIds = I("post.tagIds");
// 已选标签IDs数组
$selectedTagIds = I("post.selectedTagIds");
// 未选择UIDs数组
$userIds = I("post.userIds");
// 已选UIDs数组
$selectedUserIds = I("post.selectedUserIds");
$this->_result = array(
'selectedUserIds' => $this->_listUserIdsByUids($selectedUserIds),
'userIds' => $this->_listUserIdsByUids($userIds),
'departmentIds' => $this->_listDepartmentIds($departmentIds),
'selectedDepartmentIds' => $this->_listDepartmentIds($selectedDepartmentIds),
'tagIds' => $this->_listTagIds($tagIds),
'selectedTagIds' => $this->_listTagIds($selectedTagIds)
);
return true;
}
/**
* 获取用户 openid
*
* @param array $uids 用户UID数组
*
* @return array
*/
protected function _listUserIdsByUids($uids)
{
// 如果用户 uid 不是数组或为空,就直接返回空数组
if (!is_array($uids) || empty($uids)) {
return array();
}
// 用户 UserId 数组
$userIds = array();
// 获取用户列表
$list = User::instance()->listByUid($uids);
// 重新组装数组
foreach ($list as $_mem) {
$userIds[] = array('memUserid' => $_mem['memUserid']);
}
return $userIds;
}
/**
* 获取部门列表详情
*
* @param array $dpIds 部门IDS
*
* @return array
*/
protected function _listDepartmentIds($dpIds)
{
// 如果用户dpIds不是数组或为空,就直接返回空数组
if (!is_array($dpIds) || empty($dpIds)) {
return array();
}
// 获取部门列表数组
$wxDepartments = array();
// 获取全部部门
$list = Department::instance()->listAll();
// 遍历部门ID
foreach ($dpIds as $_dpId) {
// 获取部门信息
if (!isset($list[$_dpId])) {
continue;
}
$dp = $list[$_dpId];
$wxDepartments[] = array(
'dpId' => $dp['dpThirdid'],
'dpName' => $dp['dpName']
);
}
return $wxDepartments;
}
/**
* 获取标签列表
*
* @param array $tagIds 标签IDs
*
* @return array
*/
protected function _listTagIds($tagIds)
{
// 如果TagIds不是数组或为空,就直接返回空数组
if (!is_array($tagIds) || empty($tagIds)) {
return array();
}
// 获取部门列表数组
$list = array();
$data = Tag::instance()->listAll(array('tagIds' => $tagIds));
// 遍历数组
foreach ($data['list'] as $_tag) {
$list[] = array(
'tagId' => $_tag['tagThirdId'],
'tagName' => $_tag['tagName']
);
}
return $list;
}
}