public static function sendPublicMsg($chatId, $msg) { $api_url = '/message/publicservice/sendMessage/101/1'; $data = array('from_service_id' => 101, 'to_uid' => $chatId, 'msg_type' => 1, 'body' => $msg); try { $result = Util_CallAPI::get_data_from_chat_api($api_url, json_encode($data)); } catch (Exception $e) { $result = false; } return $result; }
/** * Job执行逻辑 */ public function handle_request() { //获取使用微聊的经纪人 $brokersNum = Model_Mobile_BrokerChatInfo::getbrokersNum(); for ($i = 0; $i <= $brokersNum; $i += self::ONCE_READ_BROKER_LIMIT) { $brokers = $this->readBrokers($i, self::ONCE_READ_BROKER_LIMIT); if (!empty($brokers)) { foreach ($brokers as $broker) { $brokerIds[] = $broker['brokerId']; } //请求宋的接口,获取经纪人的 $api_url = '/user/getFriendCount/'; $result = Util_CallAPI::get_data_from_chat_api($api_url, json_encode($brokerIds)); $friendsArr = $result['data']['result']; if (!empty($friendsArr)) { foreach ($friendsArr as $arr) { if ($arr['count'] >= self::FRIENDSNUM_LIMIT_400 && $arr['count'] <= self::FRIENDSNUM_LIMIT_400 + 5) { $msg = '您的客户数已达到' . $arr['count'] . '(上限500),请及时清理客户列表,否则将无法接收到用户消息,谢谢!'; } else { if ($arr['count'] >= self::FRIENDSNUM_LIMIT_450 && $arr['count'] <= self::FRIENDSNUM_LIMIT_450 + 5) { $msg = '您的客户数已达到' . $arr['count'] . '(上限500),请及时清理客户列表,否则将无法接收到用户消息,谢谢!'; } else { if ($arr['count'] >= self::FRIENDSNUM_LIMIT_500 && $arr['count'] <= self::FRIENDSNUM_LIMIT_500 + 5) { $msg = '您的客户列表已满,请及时清理客户列表,否则将无法接收到用户消息,谢谢!'; } } } if ($msg) { //发送公众号信息 $api_url = '/message/publicservice/sendMessage/101/1'; $data = array('from_service_id' => 101, 'to_uid' => $arr['from_uid'], 'msg_type' => 1, 'body' => $msg); $result = Util_CallAPI::get_data_from_chat_api($api_url, json_encode($data)); } } } } } }
/** 调用api发送房源库公众号文本信息 * @param $chatId * @param $msg * @return array */ public static function sendFykPublicMsgTxt($chatId, $msg) { $api_url = '/message/sendAccountMessageFromServer?from_idc=1'; $data = array('data' => array('from_uid' => 110, 'to_uid' => $chatId, 'msg_type' => 1, 'body' => $msg)); $result = Util_CallAPI::get_data_from_chat_api($api_url, json_encode($data)); return $result; }
/** * 判断用户是否可以打招呼 * * @param $app * @param $udid2 * @return true-可以 false-不可以 */ public function checkIfUserChat($app, $udid2 = 0, $guid = 0, $macId = 0) { $api_url = '/app/settings'; if ($app == 'i-ajk') { $data = array('device_list' => array(array('app' => $app, 'udid2' => $udid2))); } else { $data = array('device_list' => array(array('app' => $app, 'i' => $guid, 'macid' => $macId))); } $result = Util_CallAPI::get_data_from_chat_api($api_url, json_encode($data)); if ($result['http_code'] != 200) { throw new Exception("微聊API获取用户打招呼开关网络错误"); } if ($result['data']['status'] == 'OK' && isset($result['data']['result'][0]['recommend_switch']) && $result['data']['result'][0]['recommend_switch'] == 0) { return true; } else { return false; } }
/** * 获取账户的好友信息 * @param $selfChatId * @return bool */ public static function getFriends($selfChatId) { $data = Util_CallAPI::get_data_from_chat_api('/user/friends/' . (int) $selfChatId); return $data && $data['http_code'] == 200 && $data['data']['status'] == 'OK' ? $data['data']['result'] : false; }