CrmBindController.class.php
2.99 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
<?php
/**
* CrmBindController.class.php
* 与劲霸 CRM 进行绑定接口
* @author Deepseath
* @version $Id$
*/
namespace Open\Controller\User;
use Common\Common\User;
use VcySDK\Member;
use VcySDK\Service;
/**
* 用于与劲霸 CRM 进行绑定的接口:与 CRM 帐号绑定
*/
class CrmBindController extends AbstractController
{
/**
* 劲霸 CRM 帐号绑定接口
* 提供给劲霸 CRM 系统帐号绑定接口
* @param string userid:true 员工企业微信 userid
* @param string salesnumber:false 员工的导购编号(可选,如果为空则表示解绑动作,非空则表示绑定动作)
* @param string timestamp:true (公共参数)请求的 Unix 时间戳,单位:秒
* @param string noncestr:true (公共参数)请求的随机字符串
* @param string signature:true (公共参数)请求的参数签名
* @param string requester:true (公共参数)请求的身份名,固定为:crm
* @return <pre> array(
* 'userid' => 'dsdfasd', // 员工的企业微信 userid
* 'salesnumber' => 'xxxx' // 员工的导购编号
* )
* </pre>
*/
public function Index()
{
if (empty($this->_input['userid']) || !is_scalar($this->_input['userid'])) {
$this->_set_error('_ERR_CONTACT_OPEN_USERID_NULL_90002');
return false;
}
if (empty($this->_input['salesnumber'])) {
// 解绑动作
$salesnumber = '';
} else {
// 绑定动作
if (!is_scalar($this->_input['salesnumber'])) {
$this->_set_error('_ERROR_CONTACT_OPEN_NUMBER_NULL_90003');
return false;
}
$salesnumber = $this->_input['salesnumber'];
}
// 根据 userid 查询人员列表
$userServer = User::instance();
$r = $userServer->listByConds([
'userids' => [
$this->_input['userid']
]
]);
if (empty($r) || empty($r['list'])) {
$this->_set_error('_ERR_CONTACT_OPEN_USER_NOT_EXISTS_90000');
return false;
}
// 获取单人结果数据
reset($r['list']);
// 人员信息
$user = current($r['list']);
unset($r);
if (stripos($user['memUserid'], $this->_input['userid']) !== 0) {
// 查出的人员信息微信 userid 不匹配,为了确保不混淆,返回错误信息
$this->_set_error('_ERR_CONTACT_OPEN_USER_ERROR_90001');
return false;
}
// 调用 SDK 更新人员的导购编号
$memberSDKService = new Member(Service::instance());
$memberSDKService->modifyExt([
'memUid' => $user['memUid'],
'extKey' => $this->_KBoxing['salesNumberField'],
'extValue' => $salesnumber
]);
$this->_result = [
'userid' => $user['memUserid'],
'salesnumber' => $salesnumber
];
return true;
}
}