<?php /** * Member.class.php * 用户接口操作类 * * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL * @copyright Copyright (c) 2014 - ? VcySDK (http://www.vchangyi.com/) * @author zhuxun37 * @version 1.0.0 */ namespace VcySDK; use Common\Model\AttrModel; class Member { /** * 接口调用类 * * @var object */ private $serv = null; /** * SERVICE 类 * * @var null */ private $service = null; /** * 获取用户列表的接口地址 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const LIST_URL = '%s/member/list'; /** * 获取用户列表的接口地址(包含删除的用户) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const ALL_LIST_URL = '%s/member/ignore-permissions/list'; /** * 已删除用户基本信息分页列表接口地址(不过滤可见范围) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const DELETED_BASIC_LIST_URL = '%s/member/ignore-permissions/deleted-basic-list'; /** * 同步用户信息 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const SYNC_URL = '%s/member/sync'; /** * 获取指定用户信息 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const GET_URL = '%s/member/get'; /** * 更新指定用户信息 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const UPDATE_URL = '%s/member/update'; /** * 更新所有用户的扩展字段 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const UPDATE_EXT_URL = '%s/member/update-ext'; /** * 获取用户和部门对照信息列表 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_DEPARTMENT_LIST_URL = '%s/member/get-member-conn-depart'; /** * 获取用户和部门对照信息列表 (跳过鉴权) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_IGNORE_PERMISSIONS_MEMBER_DEPARTMENT_LIST_URL = '%s/member/ignore-permissions/get-member-conn-depart'; /** * 获取用户和职位对照信息列表 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_JOB_LIST_URL = '%s/member/get-member-conn-job'; /** * 新增用户信息 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const ADD_URL = '%s/member/add'; /** * 删除用户 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const DELETE_URL = '%s/member/delete'; /** * 获取用户列表 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const SEARCH_URL = '%s/search/list'; /** * 获取用户列表 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const APP_ALLOW_URL = '%s/get-app-allow'; /** * 批量删除 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const BAT_DEL_URL = '%s/member/bat-delete'; /** * 批量启用、禁用 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MODIFY_STATUS_URL = '%s/member/modify-member-status'; /** * 批量用户移动部门 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MOVE_DEPT_URL = '%s/member/move-department'; /** * 添加扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_ADD_URL = '%s/member-ext/add'; /** * 批量添加扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_BATADD_URL = '%s/member-ext/bat-add'; /** * 查询用户扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_GET_URL = '%s/member-ext/get'; /** * 查询用户所有扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_LIST_URL = '%s/member-ext/list'; /** * 读取用户基本信息列表 * * @var string */ const MEMBER_IGNORE_PERMISSIONS_BASIC_LIST = '%s/member/ignore-permissions/basic-list'; /** * 修改用户扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_MODIFY_URL = '%s/member-ext/modify'; /** * 删除用户扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_DEL_URL = '%s/member-ext/del'; /** * 批量修改扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_BATMODIFY_URL = '%s/member-ext/bat-modify'; /** * 删除所有用户指定扩展属性 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_EXT_ALLDEL_URL = '%s/member-ext/all-del'; /** * 人员、已关注、未关注、禁用人员总数 */ const MEMBER_RELEVANT_TOTAL = '%s/statistics/user'; /** * 在职情况统计 */ const MEMBER_ACTIVE_TOTAL = '%s/statistics/job'; /** * 判断指定用户信息是否已存在 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const CHECK_INFO_EXIST_URL = '%s/member/check-info-exist'; /** * 用户配置数据保存 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_SETTING_SAVE = '%s/member/settings/save'; /** * 用户配置数据查找 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_SETTING_GET = '%s/member/settings/get'; /** * 用户配置数据列表 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_SETTING_ALL = '%s/member/settings/all'; /** * 用户配置数据删除 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_SETTING_DELETE = '%s/member/settings/delete'; /** * 根据 OpenId 或者 UserId 查询用户详情 * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_GET_BY_USERID = '%s/member/get-by-userid'; /** * OpenId 转换为 UserId * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_OPENID_TO_USERID = '%s/member/openid-to-userid'; /** * 企业用户列表接口(忽略权限过滤) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_IGNORE_PERMISSIONS_LIST = '%s/member/ignore-permissions/list'; /** * 企业用户关注状态统计接口(忽略权限过滤) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_IGNORE_PERMISSIONS_STATUS_COUNT = '%s/member/ignore-permissions/status-count'; /** * 获取没有部门的人员 (跳过鉴权) * %s = {apiUrl}/a/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const MEMBER_IGNORE_PERMISSIONS_GET_NO_DEPARTMENT_MEMBER = '%s/member/ignore-permissions/get-no-department-member'; /** * loginCheckAuth * %s = {apiUrl}/s/{enumber}/{pluginIdentifier}/{thirdIdentifier} * * @var string */ const LOGIN_CHECK_AUTH = '%s/login/check-auth'; /** * 获取某时间段内人员数量 */ const MEMBER_COUNT_BY_DAY = '%s/subscribe/count-by-day'; /** * 根据手机或邮箱或姓名获取用户信息列表 * * @var string */ const MEMBER_USER_IMPORT_BASIC_LIST = '%s/import/list'; /** * 根据userid获取用户所有标签 * * @var string */ const MEMBER_TAGS_GET_BY_USERID = '%s/member/search-tag'; /** * 初始化 * * @param Service $serv 接口调用类 */ public function __construct($serv) { $this->serv = $serv; $this->service = new Service(); } /** * 获取用户列表 * * @param array $condition 查询条件数据 * + int memAll 是否包含已删除人员(1=是;2=否,UC默认) * + int eqMemStatus 查询指定状态的用户列表(1=新增;2=修改;3=删除) * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * @param bool $ignorePermissions 是否跳过鉴权 * * @return array|bool */ public function listAll($condition = [], $page = 1, $perpage = 30, $orders = [], $ignorePermissions = true) { // 查询参数 $keyList = []; foreach (['userids', 'memUids'] as $_key) { $this->service->setAndIsArr($condition, $_key, $keyList); } $this->service->getValue($condition, $keyList); $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); $uc_url = $ignorePermissions ? self::MEMBER_IGNORE_PERMISSIONS_LIST : self::LIST_URL; $result = $this->serv->postSDK($uc_url, $condition, 'generateApiUrlA'); if ($result['list'] && $result['memberExtList']) { $list = array_combine_by_key($result['list'], 'memUid'); // 把扩展属性合并到list foreach ($result['memberExtList'] as $v) { $memUid = $v['memUid']; $extKey = $v['extKey']; $extValue = $v['extValue']; $list[$memUid][$extKey] = $extValue; } unset($result['memberExtList']); $result['list'] = array_values($list); } return $result; } /** * 获取用户基本信息列表 * * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return boolean|multitype: */ public function listAllBasic($condition = array(), $page = 1, $perpage = 30, $orders = array()) { // 查询参数 $keyList = []; foreach (['userids', 'memUids'] as $_key) { $this->service->setAndIsArr($condition, $_key, $keyList); } $this->service->getValue($condition, $keyList); $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); $result = $this->serv->postSDK(self::MEMBER_IGNORE_PERMISSIONS_BASIC_LIST, $condition, 'generateApiUrlA'); return $result; } /** * 获取用户列表(包含已删除用户) * * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * * @return array|bool */ public function listUsersAll($condition = [], $page = 1, $perpage = 30, $orders = []) { // 查询参数 $keyList = []; foreach (['userids', 'memUids'] as $_key) { $this->service->setAndIsArr($condition, $_key, $keyList); } $this->service->getValue($condition, $keyList); $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); $result = $this->serv->postSDK( self::ALL_LIST_URL, $condition, 'generateApiUrlA'); if ($result['list']) { $list = array_combine_by_key($result['list'], 'memUid'); if ($result['memberExtList']) { // 把扩展属性合并到list foreach ($result['memberExtList'] as $v) { $memUid = $v['memUid']; $extKey = $v['extKey']; $extValue = $v['extValue']; $list[$memUid][$extKey] = $extValue; } } unset($result['memberExtList']); $result['list'] = $list; } return $result; } /** * 同步用户信息 * * @return boolean|multitype: */ public function sync() { return $this->serv->postSDK(self::SYNC_URL, [], 'generateApiUrlB'); } /** * 获取指定用户信息 * * @param array $condition 请求参数 * + memUid string 用户UID * * @return boolean|multitype: */ public function fetch($condition) { $result = $this->serv->postSDK(self::GET_URL, $condition, 'generateApiUrlA'); if ($result['memberExtList']) { // 把扩展属性合并到用户数据 foreach ($result['memberExtList'] as $v) { $result[$v['extKey']] = $v['extValue']; } unset($result['memberExtList']); } $attr_keys = array_keys(cfg('USER_ATTRS')); $user_keys = array_keys($result); $diffs = array_diff($attr_keys, $user_keys); // 补全属性 foreach ($diffs as $k) { $result[$k] = ''; } return $result; } /** * 更新用户信息 * * @param array $data 人员数据 * + string(32) memUid 人员ID * + string(64) memWeixin 微信号 手机/微信号/邮箱,不可同时为空 * + string(11) memMobile 手机号码 手机/微信号/邮箱,不可同时为空 * + string(80) memEmail 邮箱地址 手机/微信号/邮箱,不可同时为空 * + int(10) memActive 是否在职(0: 已离职; 1: 在职) * + string(54) memUsername 用户名称 * + int(10) memNum 用户编号 * + int(10) memAdmincp 是否管理员(0: 非管理员; 1: 管理员) * + int(11) memGroupid 分组ID * + int(2) memGender 性别(0: 未知; 1: 男; 2: 女) * + string(255) memAddress 用户所在地址 * + string(18) memIdcard 身份证号 * + string(64) memTelephone 电话号码, 一般是固话 * + string(12) memQq QQ * + string(10) memBirthday 生日(年月日) * + string(255) memRemark 备注 * + string(255) memExt1 预留字段 * + string(255) memExt2 预留字段 * + string(255) memExt3 预留字段 * + string(255) memExt4 预留字段 * + string(255) memExt5 预留字段 * + string(255) memExt6 预留字段 * + string(255) memExt7 预留字段 * + string(255) memExt8 预留字段 * * @throws \VcySDK\Exception * @return boolean|mixed */ public function update($data) { $this->service->getValue($data, ['dpIdList']); $memberAttr = new MemberAttr(); list($defData, $extAttrs, $extAttrsField) = $memberAttr->splitAttr($data); // 这里遍历下扩展属性 UC 需要扩展属性名称 foreach ($extAttrs as $field => $value) { $defData['extattr'][] = [ 'name' => $extAttrsField[$field]['attr_name'], // 如果是单选类型的 'value' => in_array($extAttrsField[$field]['type'], [ AttrModel::ATTR_TYPE_RADIO, AttrModel::ATTR_TYPE_CHECKBOX, ]) ? $extAttrsField[$field]['option'][$value]['name'] : $value ]; } $result = $this->serv->postSDK(self::UPDATE_URL, $defData, 'generateApiUrlA'); if ($result['memUid'] && $extAttrs) { $extData = $memberAttr->formatExtData($result['memUid'], $extAttrs); $this->batModifyExt(['data' => $extData]); } return $result; } /** * 更新所有用户的扩展字段 * * @param array $member 人员数据 * + string(255) memExt1 预留字段 * + string(255) memExt2 预留字段 * + string(255) memExt3 预留字段 * + string(255) memExt4 预留字段 * + string(255) memExt5 预留字段 * + string(255) memExt6 预留字段 * + string(255) memExt7 预留字段 * + string(255) memExt8 预留字段 * * @throws \VcySDK\Exception * @return boolean|mixed */ public function updateExt($member) { return $this->serv->postSDK(self::UPDATE_EXT_URL, $member, 'generateApiUrlA'); } /** * 查询用户对应的部门列表 * * @param array $condition 查询条件 * @param bool $ignorePermissions 是否跳过鉴权 * * @return boolean|multitype */ public function listDepartment($condition, $ignorePermissions = true) { return $this->serv->postSDK($ignorePermissions ? self::MEMBER_IGNORE_PERMISSIONS_MEMBER_DEPARTMENT_LIST_URL : self::MEMBER_DEPARTMENT_LIST_URL, $condition, 'generateApiUrlA'); } /** * 查询用户对应职位的列表 * * @param array $condition 查询条件 * * @return bool|mixed * @throws \VcySDK\Exception */ public function listJob($condition) { return $this->serv->postSDK(self::MEMBER_JOB_LIST_URL, $condition, 'generateApiUrlA'); } /** * 添加人员 * * @param array $data 人员数据 * + array dpIdList 部门ID * + string(54) memUsername 用户名称 * + string(64) memWeixin 微信号 手机/微信号/邮箱,不可同时为空 * + string(11) memMobile 手机号码 手机/微信号/邮箱,不可同时为空 * + string(80) memEmail 邮箱地址 手机/微信号/邮箱,不可同时为空 * + int(10) memActive 是否在职(0: 已离职; 1: 在职) * + int(10) memNum 用户编号 * + int(10) memAdmincp 是否管理员(0: 非管理员; 1: 管理员) * + int(11) memGroupid 分组ID * + int(2) memGender 性别(0: 未知; 1: 男; 2: 女) * + string(255) memAddress 用户所在地址 * + string(18) memIdcard 身份证号 * + string(64) memTelephone 电话号码, 一般是固话 * + string(12) memQq QQ * + string(10) memBirthday 生日(年月日) * + string(255) memRemark 备注 * + string(255) memExt1 预留字段 * + string(255) memExt2 预留字段 * + string(255) memExt3 预留字段 * + string(255) memExt4 预留字段 * + string(255) memExt5 预留字段 * + string(255) memExt6 预留字段 * + string(255) memExt7 预留字段 * + string(255) memExt8 预留字段 * * @return bool|mixed * @throws \VcySDK\Exception */ public function add($data) { $this->service->getValue($data, ['dpIdList']); $memberAttr = new MemberAttr(); list($defData, $extAttrs, $extAttrsField) = $memberAttr->splitAttr($data); // 这里遍历下扩展属性 UC 需要扩展属性名称 foreach ($extAttrs as $field => $value) { $defData['extattr'][] = [ 'name' => $extAttrsField[$field]['attr_name'], // 如果是单选类型的 'value' => in_array($extAttrsField[$field]['type'], [ AttrModel::ATTR_TYPE_RADIO, AttrModel::ATTR_TYPE_CHECKBOX, ]) ? $extAttrsField[$field]['option'][$value]['name'] : $value ]; } $result = $this->serv->postSDK(self::ADD_URL, $defData, 'generateApiUrlA'); if ($result['memUid'] && $extAttrs) { $extData = $memberAttr->formatExtData($result['memUid'], $extAttrs); $this->batModifyExt(['data' => $extData]); } return $result; } /** * 用户删除 * * @param array $condition 条件数组 * + string(32) memUid 人员ID * * @return bool|mixed * @throws \VcySDK\Exception */ public function delete($condition) { return $this->serv->postSDK(self::DELETE_URL, $condition, 'generateApiUrlA'); } /** * 用户列表 * * @param $condition * + array memUids memUid数组 * + int pageNum 页码 * + int pageSize 每页记录数 * + string|array name 搜索条件 * * @return array|bool */ public function searchList($condition) { $this->service->getValue($condition, ['memUids']); return $this->serv->postSDK(self::SEARCH_URL, $condition, 'generateApiUrlA'); } /** * 读取应用权限列表 * * @return array|bool */ public function appAllow() { return $this->serv->postSDK(self::APP_ALLOW_URL, [], 'generateApiUrlA'); } /** * 批量删除 * * @param $param * + string memUids 用户ID列表 * * @return array|bool */ public function batDelete($param) { return $this->serv->postSDK(self::BAT_DEL_URL, $param, 'generateApiUrlA'); } /** * 批量启用、禁用 * * @param $param * + array memUids 用户ID列表 * + int enable 操作类型 : 1=启用, 0=禁用 * * @return array|bool */ public function batchModifyStatus($param) { return $this->serv->postSDK(self::MODIFY_STATUS_URL, $param, 'generateApiUrlA'); } /** * 批量用户移动部门 * * @param $param * + array memUids 用户UID列表 * + array dpIdList 部门ID列表 * * @return array|bool */ public function moveDept($param) { return $this->serv->postSDK(self::MOVE_DEPT_URL, $param, 'generateApiUrlA'); } /** * 添加扩展属性 * * @param $param * + string memUid 用户UID * + string extKey 扩展属性Key * + mixed extValue 扩展属性Value * * @return array|bool */ public function addExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_ADD_URL, $param, 'generateApiUrlA'); } /** * 批量添加扩展属性 * * @param $param * + array data 属性数据 * * @return array|bool * * $data = [ * [ * 'memUid' => '', * 'extKey' => '', * 'extValue' => '', * ], * ]; * */ public function batAddExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_BATADD_URL, $param, 'generateApiUrlA'); } /** * 查询用户扩展属性 * * @param $param * + string extId 扩展属性ID * * @return array|bool */ public function getExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_GET_URL, $param, 'generateApiUrlA'); } /** * 查询用户所有扩展属性 * * @param $param * + string memUid 用户UID * * @return array|bool */ public function listExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_LIST_URL, $param, 'generateApiUrlA'); } /** * 修改用户扩展属性 * * @param $param * + string extId 扩展属性ID * + string memUid 用户UID * + string extKey 扩展属性Key * + mixed extValue 扩展属性Value * * @return array|bool */ public function modifyExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_MODIFY_URL, $param, 'generateApiUrlA'); } /** * 删除用户扩展属性 * * @param $param * + string extId 扩展属性ID * * @return array|bool */ public function delExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_DEL_URL, $param, 'generateApiUrlA'); } /** * 批量编辑扩展属性 * * @param $param * + array data 属性数据 * * @return array|bool * * $data = [ * [ * 'memUid' => '', * 'extKey' => '', * 'extValue' => '', * ], * ]; * */ public function batModifyExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_BATMODIFY_URL, $param, 'generateApiUrlA'); } /** * 删除所有用户指定扩展属性 * * @param $param * + string extKey 扩展属性Key * * @return array|bool */ public function delAllExt($param) { return $this->serv->postSDK(self::MEMBER_EXT_ALLDEL_URL, $param, 'generateApiUrlA'); } /** * 人员、已关注、未关注、禁用人员总数 * @return array|bool * @throws \VcySDK\Exception */ public function memberRelevantTotal() { return $this->serv->postSDK(self::MEMBER_RELEVANT_TOTAL, [], 'generateApiUrlE'); } /** * 在职情况统计 * @return array|bool * @throws \VcySDK\Exception */ public function memberActiveTotal() { return $this->serv->postSDK(self::MEMBER_ACTIVE_TOTAL, [], 'generateApiUrlE'); } /** * 判断指定用户信息是否已存在 (手机号, 邮箱, 微信号) * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function checkMemInfoSingle($condition) { return $this->serv->postSDK(self::CHECK_INFO_EXIST_URL, $condition, 'generateApiUrlA'); } /** * 用户配置数据保存 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberSettingSave($condition) { return $this->serv->postSDK(self::MEMBER_SETTING_SAVE, $condition, 'generateApiUrlA'); } /** * 用户配置数据查找 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberSettingGet($condition) { return $this->serv->postSDK(self::MEMBER_SETTING_GET, $condition, 'generateApiUrlA'); } /** * 用户配置数据列表 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberSettingAll($condition) { return $this->serv->postSDK(self::MEMBER_SETTING_ALL, $condition, 'generateApiUrlA'); } /** * 用户配置数据删除 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberSettingDelete($condition) { return $this->serv->postSDK(self::MEMBER_SETTING_DELETE, $condition, 'generateApiUrlA'); } /** * 根据 UserId 查询用户详情 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberGetByUserId($condition) { return $this->serv->postSDK(self::MEMBER_GET_BY_USERID, $condition, 'generateApiUrlA'); } /** * 根据 UserId 查询用户详情 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberOpenIdToUserId($condition) { return $this->serv->postSDK(self::MEMBER_OPENID_TO_USERID, $condition, 'generateApiUrlA'); } /** * 企业用户关注状态统计接口(忽略权限过滤) * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberStatusCount($condition) { return $this->serv->postSDK(self::MEMBER_IGNORE_PERMISSIONS_STATUS_COUNT, $condition, 'generateApiUrlA'); } /** * 获取没有部门的人员 (跳过鉴权) * @param array $condition 查询条件数据 * @param mixed $orders 排序字段 * @param int $page 当前页码 * @param int $perpage 每页记录数 * @return array|bool * @throws \VcySDK\Exception */ public function getNoPepartmentMember($condition = [], $page = 1, $perpage = 30, $orders = []) { $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK( self::MEMBER_IGNORE_PERMISSIONS_GET_NO_DEPARTMENT_MEMBER, $condition, 'generateApiUrlA'); } /** * 判断当前登陆人员是否微信管理员 * * @param $params * + userid string 用户ID * + plIdentifier string 应用标识 * * @return array|bool */ public function loginCheckAuth($params) { return $this->serv->postSDK( self::LOGIN_CHECK_AUTH, $params, 'generateApiUrlSP' ); } /** * 获取某时间段内人员数量 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function memberCountByDay($condition) { return $this->serv->postSDK(self::MEMBER_COUNT_BY_DAY, $condition, 'generateApiUrlA'); } /** * 根据手机或邮箱或姓名获取用户信息列表 * * @param array $condition 查询条件数据 * array( * array( * 'names'=>array(), * 'mobiles'=>array(), * 'emails'=>array(), * ) * @param int $page 当前页码 * @param int $perpage 每页记录数 * @param int $orders 排序 * @return boolean|multitype: */ public function list_import_user($condition = array(), $page = 1, $perpage = 1000, $orders = array()) { $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); // 查询参数 $keyList = []; foreach (['names', 'emails', 'mobiles'] as $_key) { $this->service->setAndIsArr($condition, $_key, $keyList); } $this->service->getValue($condition, $keyList); $condition = $this->serv->mergeListApiParams($condition, $orders, $page, $perpage); return $this->serv->postSDK(self::MEMBER_USER_IMPORT_BASIC_LIST, $condition, 'generateApiUrlA'); } /** * 根据 UserId 查询用户所有标签 * * @param $condition * * @return array|bool * @throws \VcySDK\Exception */ public function getTagsByUserId($condition) { return $this->serv->postSDK(self::MEMBER_TAGS_GET_BY_USERID, $condition, 'generateApiUrlA'); } }