UserImportController.class.php
3.79 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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?php
/**
* 【后台】批量导入人员接口
*
* @author: houyingcai
* @email: 594609175@qq.com
* @date : 2017-08-29 10:01:58
* @version $Id$
*/
namespace Apicp\Controller\Paper;
use Common\Common\User;
class UserImportController extends \Apicp\Controller\AbstractController
{
// 错误列表
protected $_errorList = [
'empty_username' => '员工姓名为空',
'empty_mobile' => '手机号码为空或格式不正确',
'repeat_mobile' => '手机号码有重复',
'user_info_not' => '员工信息不存在',
];
public function Index_post()
{
// 获取数据
$params = I('post.');
// 验证数据
if (!$this->validation($params)) {
return false;
}
// 初始化
$i = 0;
// 循环遍历数据
foreach ($params['data'] as $key => $v) {
// 如果大于头部标题长度则删除多余变量
if ($i >= $params['head_total']) {
unset($params['data'][$key]);
}
$i++;
}
// 导入成功和导入失败的人员列表
$list = $this->is_parameter($params['data']);
$this->_result = $list;
return true;
}
/**
* 验证数据
*
* @param array $params POST数据
*
* @return bool
*/
protected function validation($params = [])
{
// 表头长度不能为空或者不是整数
if (empty($params['head_total']) || !is_numeric($params['head_total'])) {
E('_ERR_HEAD_TOTAL');
}
return true;
}
/**
* 判断列表条件
*
* @author houyingcai
* @param array $data POST 数据
*
* @return mixed
*/
public function is_parameter($data)
{
// $mobiles = array();
$errors = [];
// 姓名为空
if (empty($data['username'])) {
$errors[] = $this->_errorList['empty_username'];
}
// 手机号格式
if (empty($data['mobile']) || strlen($data['mobile']) != 11) {
$errors[] = $this->_errorList['empty_mobile'];
}
// 员工信息不存在
$user_info = $this->validate_user($data);
if (empty($user_info)) {
$errors[] = $this->_errorList['user_info_not'];
}
// 组织错误信息
if (!empty($errors)) {
if (count($errors) > 1) {
$errMsg = implode(',', $errors);
} else {
$errMsg = $errors[0];
}
$list = [
'memUsername' => $data['username'] ? $data['username'] : '',
'mobile' => $data['mobile'] ? $data['mobile'] : '',
'msg' => $errMsg,
'status' => 0,
];
} else {
$list = [
'memUsername' => $data['username'],
'avatar' => $user_info['avatar'],
'memID' => $user_info['memID'],
'mobile' => $data['mobile'],
'status' => 1
];
}
return $list;
}
/**
* 验证用户是否存在
*
* @param array $user 用户信息
*
* @return array
*/
public function validate_user($user)
{
$user_info = [];
$user_com = User::instance();
// 更加姓名和手机号搜索通讯录人员列表
$user_list = $user_com->listByConds(['memUsername' => $user['username'], 'memMobile' => $user['mobile']]);
foreach ($user_list['list'] as $v) {
if ($v['memUsername'] == $user['username'] && $v['memMobile'] == $user['mobile']) {
$user_info['memID'] = $v['memUid'];
$user_info['avatar'] = $v['memFace'];
}
}
return $user_info;
}
}