public function addRemitFromPhone($request, $response) {/*{{{*/ $bankPhoneNo = $request->bankPhoneNo; $phoneNo = $request->phoneNo; //if($phoneNo != 13439853264 || $phoneNo != 13501126300) //{ // echo "错误的手机号"; // exit; //} $remitTime = $request->remitTime/1000; $remitTime = xdatetime::valueOfTime($remitTime); $message = mb_convert_encoding($request->message, "gbk", "utf-8"); //$message = $request->message; $device = $request->device; $logger = new Logger('sms_remit', BeanFinder::get('configs')->remitLogPath, Logger::getLevelName(Logger::INFO)); $logger->addInfo('device:'.$device.' bankPhoneNo:'.$bankPhoneNo.' phoneNo:'.$phoneNo.' message:'.$message); $recorder = DAL::get()->find_by_name('user', 'jm130'); $res = AccountClient::getInstance()->createRemitAuto($recorder, $bankPhoneNo, $phoneNo, $remitTime, $message); if ($res['errorcode'] != 0 && false == empty($message)) { $msg = $device." errorcode:".$res['errorcode']." message:".$message; //给whd & yyp & wk SMSClient::getInstance()->sendSMS(array(18612032258, 13691343423, 13720084864), $msg); } $res = json_encode($res); echo $res; return parent::DIRECT_OUTPUT; }/*}}}*/
private function reciveSMS() { $tmpRequest = new Request(); $command = (string)addslashes($tmpRequest->command); $momsgid = (string)addslashes($tmpRequest->momsgid); $spid = (string)addslashes($tmpRequest->spid); $sppassword = (string)addslashes($tmpRequest->sppassword); $sa = (string)addslashes($tmpRequest->sa); //mobile $dc = (string)addslashes($tmpRequest->dc); //编码类型 $sm = (string)addslashes($tmpRequest->sm); //短信内容 if( empty($command) || empty($momsgid) || empty($spid) || empty($sa) || $dc == '' || empty($sm)) { echo "the variable is null:command=$command,momsgid=$momsgid,spid=$spid,sppassword=$sppassword,sa=$sa,dc=$dc,sm=$sm"; exit; } if(isset($options['command']) && isset($options['momsgid']) && isset($options['spid']) && isset($options['sppassword']) && isset($options['sa']) && isset($options['dc']) && isset($options['sm'])) $options = array(); $options['command'] = $command; $options['momsgid'] = $momsgid; $options['spid'] = $spid; $options['sppassword'] = $sppassword; $options['sa'] = $sa; $options['dc'] = $dc; $options['sm'] = $sm; SMSClient::getInstance()->recieveSMSYT(false, $options); echo "command=MO_RESPONSE&spid=$spid&momsgid=$momsgid&mostat=ACCEPT&moerrcode=000"; }
/** * sendSMS * 给运维发送短信 * * @param mixed $content * @static * @access public * @return void */ public static function sendSMS($content) { /*{{{*/ if (BeanFinder::get('configs')->isDevEnv()) { $mobiles = array(); } else { $mobiles = HdfPhoneNumber::$opsPhoneNumbers; } SMSClient::getInstance()->sendSMSForOPS($mobiles, $content); }
public function paySms($request, $response) { /*{{{*/ $phoneNumbers = $request->phoneNumbers; $content = $request->content; DBC::requireNotEmpty($phoneNumbers, '手机号不能为空!'); DBC::requireNotEmptyString($content, '内容不能为空!'); SMSClient::getInstance()->sendAsync($phoneNumbers, $content, SMSLog::OPT_TYPE_TEL_ZIXUN); $response->setRedirect($response->router->urlfor('serviceorder/showdetail', array('id' => $request->id, 'msg' => '短信发送成功!'))); }
private function checkedSMSReport() {/*{{{*/ $smslogs = SMSClient::getInstance()->getSMSLogsByMobiles4Monitor(BeanFinder::get('alertMobiles')); if(empty($smslogs) == false) { foreach($smslogs as $smslog) { if($smslog->reportCode == 'DELIVRD') { return true; } } } return false; }/*}}}*/
public function callbackForUptimeroBot($request,$response) { if ($request->key == 'justForUptimroBot') { $request->monitorURL; //1 is down, 2 is up $text = (1==$request->alertType)?'DOWN':'UP'; $detail = $request->alertDetails?': '.$request->alertDetails:''; $content = $request->monitorURL.' is '.$text.$detai.'by uptimerobot'; SMSClient::getInstance()->sendSMS(HdfPhoneNumber::$opsPhoneNumbers, $content); echo 'OK'; return parent::DIRECT_OUTPUT; } echo 'INVALID'; return parent::DIRECT_OUTPUT; }
public function validate() { $msg = ''; $dateTime = XDateTime::now()->addMinute(-5); $beginMonitorDateTime = $dateTime->setHour(8)->setMinute(0)->setSecond(0); $endMonitorDateTime = $dateTime->setHour(23)->setMinute(0)->setSecond(0); if ($dateTime->after($beginMonitorDateTime) && $dateTime->before($endMonitorDateTime)) { $heartbeats1 = array(); $heartbeats2 = array(); for ($i = 0; $i < 5; $i++) { $dateTimeStr = $dateTime->addMinute($i)->toStringByFormat('Y-m-d H:i'); exec("ssh 192.168.1.55 cat /home/avatar/logs/webapps/paymentfront/sms_remit.log | grep '$dateTimeStr' > /tmp/sms_remit.log"); $logStr = file_get_contents('/tmp/sms_remit.log'); exec("ssh 192.168.1.56 cat /home/avatar/logs/webapps/paymentfront/sms_remit.log | grep '$dateTimeStr' > /tmp/sms_remit.log"); $logStr .= file_get_contents('/tmp/sms_remit.log'); if (false !== strpos($logStr, 'device_xm')) { $heartbeats1[] = 1; } if (false !== strpos($logStr, 'device_hw')) { $heartbeats2[] = 1; } } $msg = ''; if (empty($heartbeats1)) { $msg = '['.$dateTime->toStringByFormat('Y-m-d H:i')."至".$dateTime->addMinute(5)->toStringByFormat('Y-m-d H:i').'] device_xm没有收到电话订单落实汇款短信短信小程序心跳请求'; } if (empty($heartbeats2)) { $msg .= '['.$dateTime->toStringByFormat('Y-m-d H:i')."至".$dateTime->addMinute(5)->toStringByFormat('Y-m-d H:i').'] device_hw没有收到电话订单落实汇款短信短信小程序心跳请求'; } if (false == empty($msg)) { //给whd & yyp & wk SMSClient::getInstance()->sendSMS(array(18612032258, 13691343423, 13720084864), $msg); } } return ''; }
public function visitOrderView($request, $response) {/*{{{*/ $orderId = $request->orderid; $order = DAL::get()->find('telorder', $orderId); if($order->isNull()) { die('无效的订单ID'); } $patientExt = $order->patient->getPatientExt(); //取短信内容wk $date = $order->completeTime->getDateTime(); $type = "receive"; $optType = SMSLog::OPT_TYPE_OTHER; $mobile = isset($patientExt->phone1)?$patientExt->phone1:''; $response->mobile= $mobile; $pageSize = 20; $ext = SMSMD::EXT_5; $smsLogList = array(); if(false == empty($mobile)) { $mobiles = array($mobile); $smsLogList = SMSClient::getInstance()->smsLogList($date, $type, $optType, $mobiles, 1, $pageSize, $ext); } $response->smsLogList = $smsLogList; $response->visitOrder = DAL::get()->find_by_orderid('TelVisit', $order->id); $response->order = $order; }/*}}}*/
public function ajaxAgainSend($request, $response) {/*{{{*/ $id = $request->id; $invitelog = DAL::get()->find('invitelog', $id); SMSClient::getInstance()->sendSMS(array($invitelog->mobile), $invitelog->content, SMSLog::OPT_TYPE_TEL_ZIXUN); TelOrderClient::getInstance()->createInviteLog($invitelog->owner->id, $invitelog->mobile, $invitelog->content); return parent::DIRECT_OUTPUT; }/*}}}*/
<?php /** * Send message and check for delivery status until it is delivered. * * Use ../examples.php to test this file */ require_once '../oneapi/client.php'; # example:initialize-sms-client $socinv = new SocialInviteClient(USERNAME, PASSWORD); $smsClient = new SMSClient(USERNAME, PASSWORD); # ---------------------------------------------------------------------------------------------------- # example:login-sms-client $smsClient->login(); # ---------------------------------------------------------------------------------------------------- $siReq = new SocialInviteRequest(); $siReq->senderAddress = SENDER_ADDRESS; $siReq->recipients = DESTINATION_ADDRESS; $siReq->messageKey = SOCIAL_INVITES_MESSAGE_KEY; # ---------------------------------------------------------------------------------------------------- # example:send-invite $siResult = $socinv->sendInvite($siReq, API_KEY); # ---------------------------------------------------------------------------------------------------- // The bulk id is a unique identifier of this api call: $bulkId = $siResult->sendSmsResponse->bulkId; # ---------------------------------------------------------------------------------------------------- $deliveryStatus = null; if ($siResult != null) { for ($i = 0; $i < 4; $i++) { # example:query-for-delivery-status // You can use $bulkId as an method call argument here:
public function sendSMS($phones, $text) { $client = new SMSClient($this->login, $this->password); $sessionID = $client->getSessionID(); try { $client->send("" . $this->sender . "", "{$phones}", "{$text}"); } catch (SMSError_Exception $e) { return $e; } }
public function deleteUserReceive($request, $response) {/*{{{*/ SMSClient::getInstance()->deleteSMSTestCenter($request->stcId); $url = $response->router->urlfor('test/userreceivelist'); $response->setRedirect($url); }/*}}}*/
public function sendSmsExecute($request, $response) { /*{{{*/ $request->convertToGbk(); $smsContent = $request->getUnSafeData('smsContent'); $ext = $request->ext; if (empty($smsContent)) { throw new TelConfException('发送的短信内容不能为空'); } SMSClient::getInstance()->sendSMSByManual(array($request->phoneNumber), $smsContent, $ext); $url = $response->router->urlfor('operator/sendsms', array('phoneNumber' => $request->phoneNumber, 'smsContent' => $request->smsContent, 'ext' => $ext, 'msg' => '短信已提交发送')); $response->setRedirect($url); }
private function sendSMSBankInfo($userMobile, $bankType, $sourceId, $sourceType) { /*{{{*/ $content = Remit::getAllBankDescByType($bankType); $ret = false; if ($userMobile != "" && $content != "") { $content = "开户行:" . $content . ",请汇款后立即拨打:" . hdfPhoneNumber::TEL_SERVICE_400 . "转2核对汇款到账情况。"; SMSClient::getInstance()->sendSMS(array($userMobile), $content, SMSLog::OPT_TYPE_TEL_ZIXUN); // $order = DAL::get()->find('telorder', $orderId); $logContent = '用户电话:' . $userMobile . '短信内容:' . $content; //??????记log???? // TelOrderClient::getInstance()->createTelorderLog($order, $this->user, TelOrderLog::TYPE_PATIENT_GET_SMS_FOR_BANK, TelOrderLog::LOG_LEVEL_IMPORTANT, $logContent); $ret = true; } return $ret; }
/** * @brief 找回密码-发送验证码 * @author meihao * @exampleUrl * * @Param $mobile * * @Returns */ public function getValidKey4PWD($mobile, $userName) {/*{{{*/ $user = DAL::get()->find_by_name('user', $userName); if($user->isNull()) { $this->setErrorCode(1221); return 0; } $data['username'] = $userName; $data['newpassword'] = $user->genVerifyToken(); $content = "您好,您的用户名(".$data['username']."),验证码(".$data['newpassword']."),请及时登录并修改!欢迎您使用本网站!"; SMSClient::getInstance()->sendSMSForVerifyCodeNow(array($mobile), $content); $this->content = array("sendMsg" => "验证码已经发到手机"); }/*}}}*/
public function ajaxSendMessageNfs($request, $response) { /*{{{*/ $msgInfos = $_POST['msginfo']; $msgInfos = XString::convertArrayToGbk($msgInfos); $phoneNums = $msgInfos['phonenum']; $patientNames = $msgInfos['patientname']; $doctorNames = $msgInfos['doctorname']; $contents = $msgInfos['content']; $data = array(); foreach ($phoneNums as $key => $value) { $phoneNum = $value; $patientName = $patientNames[$key]; $doctorName = $doctorNames[$key]; $content = $contents[$key]; $preg1 = '/{?\\$data\\[(\'|\\"){1}(patientname){1}(\'|\\"){1}\\]}?/'; $preg2 = '/{?\\$data\\[(\'|\\"){1}|(doctorname){1}(\'|\\"){1}\\]}?/'; $content = preg_replace($preg1, $patientName, $content); $content = preg_replace($preg2, $doctorName, $content); SMSClient::getInstance()->sendSMS(array($phoneNum), $content, SMSLog::OPT_TYPE_FULLOWUP, '', SMSMD::EXT_8); } //有时会先执行下面writeMessageSendLog中的sql,再执行上面sendSMS的sql,这样会有逻辑错误。暂时sleep一下处理 sleep(1); FollowupClient::getInstance()->writeMessageSendLog($phoneNums, $request->contenttype, $request->msgtemplateid, $this->auditor); echo "success"; return parent::DIRECT_OUTPUT; }
/** * Запрос статистики по SMS-рассылкам * * @access public * * @param mixed $startDate начало периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp * @param mixed $stopDate конец периода выборки. Строка вида (YYYY-MM-DDTHH:MM:SS) или Timestamp * * @return array массив с информацией по статистике * @throws SMSError_Exception */ public function getStatistics($startDate, $stopDate) { $result = SMSClient::getStatistics_St($this->m_sessionID, $startDate, $stopDate); return $result; }
public function showSMSReplyListOfUrge($request, $response) {/*{{{*/ $pageId = $request->pageId ? $request->pageId : 1; $beginTime = $request->beginTime; if($beginTime) { $begin = XDateTime::valueOf($beginTime); $end = $begin->addDay(1); } else { $begin = XDateTime::today(); $end = XDateTime::today()->addDay(1); } $ext = array(SMSMD::EXT_7); $options = array('type' => 'phone'); $res = SMSClient::getInstance()->getSendReplyList4Phone($begin, $end, $ext); $response->smslogList = $res['sendreplylist']; $response->beginTime = $request->beginTime ? $request->beginTime : XDateTime::today()->toShortString(); }/*}}}*/
public function sendReplyList($request, $response) { /*{{{*/ $pageId = $request->pageId; $type = array(SMSMD::EXT_1, SMSMD::EXT_2, SMSMD::EXT_3); $res = SMSClient::getInstance()->getSendReplyList($pageId, 10, $type); $smslogList = $res['list']; $spaceIds = $this->_pickSpaceFromSendReplyList($smslogList); $pageInfo = $res['pageInfo']; $pageLink = PageNav::getNavLink(PageNav::getPageNavTemplate($response->router->urlfor('message/sendreplylist', array('showContent' => 1, 'pageId' => ''))), $pageInfo['nowpage'], $pageInfo['pagesize'], $pageInfo['total']); $response->pageLink = $pageLink; $response->smslogList = $smslogList; }
public function payway($request, $response) {/*{{{*/ $response->title = ""; $response->topTitle = "支付"; $response->fromOtherHost = true; $payable = $this->getPayable($request->payableid); if ($payable->isNull()) { $this->_exit404(); } if ($payable->isPaid()) { $response->setRedirect($response->router->urlfor('tel/paysuccess', array('id' => $payable->id))); } $response->payable = $payable; $userName = isset($_SESSION['user']['userName']) ? $_SESSION['user']['userName'] : false; $password = isset($_SESSION['user']['password']) ? $_SESSION['user']['password'] : false ; $mobile = isset($_SESSION['telOrderInfo']['mobile']) ? $_SESSION['telOrderInfo']['mobile'] : false; if($userName && $password && $mobile) { $content = "尊敬的用户,系统为您自动生成账号,用户名:".$userName.",密码:".$password.",请妥善保管"; SMSClient::getInstance()->sendSMS(array($mobile), $content, SMSLog::OPT_TYPE_TEL_ZIXUN); } $response->userName = $userName; $response->password = $password; unset($_SESSION['user']); unset($_SESSION['telOrderInfo']); unset($_SESSION['newAsk']); }/*}}}*/
public function showSMSReplyList($request, $response) {/*{{{*/ $begin = XDateTime::today()->addDay(-1); //两天内的 $end = XDateTime::today()->addDay(1); $ext = array(SMSMD::EXT_6); $options = array('type' => 'phone'); $res = SMSClient::getInstance()->getSendReplyList4Phone($begin, $end, $ext); $mobiles = $res['mobiles']; $userList = array(); if($mobiles) { $userList = UserClient::getInstance()->getUserListByMobilesAndSetIndexByMobile($mobiles, $options); } $smslogList = $res['sendreplylist']; krsort($smslogList); $response->smslogList = $smslogList; $response->userList = $userList; $response->smsCountOfToday = SMSClient::getInstance()->getSendCountOfToDay('smslog'); }/*}}}*/
public function ajaxSendSMS4CustomerBindUser($request, $response) { /*{{{*/ $customerId = $request->customerid; $mobile = trim($request->mobile); $followupCustomer = DAL::get()->find('FollowupCustomer', $customerId); $message = ''; if ($followupCustomer->isNull() == false && $followupCustomer->space->isNull() == false && $followupCustomer->userId > 0) { if (preg_match('/^1[34578][0-9]{9}$/', $mobile)) { $content = FollowupClient::getInstance()->getSMSContent4Customer($followupCustomer->id); SMSClient::getInstance()->sendSMS(array($mobile), $content); $message = '亲,发送成功!'; } else { $message = '发送失败!手机号码不合法(请保存联系信息后重试)!'; } } else { $message = '发送失败!请检查销售患者信息是否保存,是否绑定用户信息!'; } $message = mb_convert_encoding($message, 'utf-8', 'gbk'); $out = array('message' => $message); echo json_encode($out); return parent::DIRECT_OUTPUT; }
public static function SendSMS($phone, $text) { $ttext = CArkaMisc::GetInTranslit($text); $sms = new SMSClient('380965468079', 'arkaportal2015'); $sms->addSMS('arka.info', $phone, $ttext, 0, 0, 1); $sms->send(); return $sms; }
public function sendDocotrAppDownSMS($request, $response) {/*{{{*/ $mobile = $request->mobile; if(false == XString::isMobileNew($mobile)) { $result = '{"code":"error_mobile"}'; } else if(Captcha::verify($request->door, XIpLocation::getIp(), $request->kind, 0, $request->token) == false) { $result = '{"code":"error_door"}'; } else { $content = "全新的医生专用版客户端下载地址:http://m.haodf.com/sd ,建议在Wi-Fi环境下下载。如您在使用过程中遇到问题,请与医生助理联系010-56707226"; SMSClient::getInstance()->sendSMSNoSignature(array($mobile) , $content); $result = '{"code":"success"}'; } $callback = $request->callback; if ($callback) { $result = $callback.'('.$result.');'; header('Content-Type: text/javascript;'); } else { header('Content-Type: application/json;'); } header("Content-Type: text/html; charset=GBK"); echo $result; return parent::DIRECT_OUTPUT; }/*}}}*/
/** * @brief 邀请病历头患者发送短信 * @author oylw * @exampleUrl http://dev.mobile-api.haodf.com/doctorapi/patientclub_sendSMS4PatientCase?userId=123456&patientCaseId * * @Param $userId 用户ID */ public function sendSMS4PatientCase($userId, $patientCaseId) {/*{{{*/ $user = DAL::get()->find('User', $userId); if ($user->isNull()) { $this->setErrorCode(838); return 0; } $patientCase = DAL::get()->find('patientCase', $patientCaseId); if($patientCase->isNull()) { $this->setErrorCode(107); return 0; } $doctorOwner = $user->getDoctorOwner(); if($doctorOwner->source instanceof Space) { $diseaseId = 0; $spaceId = $doctorOwner->source->id; $key = md5('haodf2014'.$spaceId.$diseaseId); $data = $spaceId.'_'.$diseaseId.'_'.$key; $SMSContent = '亲爱的患者朋友您好,'.$doctorOwner->source->host->hospitalfaculty->hospital->name.$doctorOwner->source->host->hospitalfaculty->name .$doctorOwner->source->host->name.'医生邀请您到好大夫网站报到成为医生的老患者,以便后续跟进您的病情,[http://m.haodf.com/touch/d/op.htm?k='.$data.']。'; SMSClient::getInstance()->sendSMS(array($patientCase->phone), $SMSContent); PatientCourseClient::getInstance()->setSendedSMSStatus4PatientCase($patientCase->id); } $this->content = '1'; }/*}}}*/
public function buRefuse($request, $response) { /*{{{*/ $patient = DAL::get()->mustFind('patient', $request->patientid); $buGroup = $this->getBuGroup($request->groupid); $inspectResultDtoArr = $this->getInspectResultDtoArr($patient, $buGroup, Intention::STATUS_REFUSE, array($buGroup->id)); foreach ($inspectResultDtoArr as $dto) { $dto->adminComment = $request->admin_comment; $dto->messageContent = $request->admin_content; } InspectClient::getInstance()->batchRefuse($patient, $this->curInspector, $buGroup, $inspectResultDtoArr); $intentionIds = array(); foreach ($inspectResultDtoArr as $dto) { $intentionIds[] = $dto->source->id; } $logContent = $buGroup->parent->displayName . ' ' . $buGroup->displayName . ' intentionId:' . implode(',', $intentionIds); S3LogClient::getInstance()->add($this->curInspector, $patient->getLogable()->action(PatientLog::ACTION_BU_REFUSE, $logContent)); //添加拒绝意向记录 $intentions = DAL::get()->find('intention', $intentionIds); $inspectGroupId = $buGroup->getParent()->id; RefuseIntentionRecordClient::getInstance()->createRefuseIntentionRecords($intentions, $inspectGroupId); $smsContent = trim($request->getUnSafeData('sms_content')); if (false == empty($smsContent)) { SMSClient::getInstance()->sendAsync(array($patient->getMobileForSMS()), $smsContent); } $this->redirectToNext($buGroup, $response); }
public function setMessageExt($request, $response) { /*{{{*/ $sendId = $request->sendid; $replyId = $request->replyid; $ids = SMSClient::getInstance()->updateMessageExt(array($sendId, $replyId), SMSMD::EXT_DELETE); if (false == empty($ids)) { $response->setRedirect($response->router->urlfor('present/getreplysmslist')); } else { throw new BizException('ID无效!'); } }
$contents = rtrim(file_get_contents($logName)); $contents = explode("\n", $contents); filterSlaveInfoInNight($contents); if (count($contents) == 1) { $contents = array_pop($contents); } else { foreach ($contents as $key => $content) { $contents[$key] = (int)($key + 1).': '.$content; } $contents = implode("\n", $contents); } $res = SMSClient::getInstance()->sendSMS($mobiles, $contents); unlink($logName); echo date('Y-m-d H:i:s', time()).' '.$logName."\n"; } function filterSlaveInfoInNight(&$contents) { foreach ($contents as $i => $content) { if (isNight() && isSlaveInfo($content)) { unset($contents[$i]); } } }
<?php require('/home/avatar/system/ops/monitor/assembly.php'); DAL::get()->setUp('ops'); include('ops.php'); SMSClient::getInstance()->sendAsync($mobiles, $contents);
private function doReceive($channel, $args) {/*{{{*/ $res = SMSClient::getInstance()->setSMSReceive($channel, $args); echo $res; $log = 'channel: '.$channel.' args: '.$args.' result: '.$res; $this->getReceiveLogger()->addInfo($log); return parent::DIRECT_OUTPUT; }/*}}}*/