<?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; } }