function QueueUpdate() { if ($usersToEnter > 0) { deleteQueue(); updateID(); } else { // nothing } }
function _moduleContent(&$smarty, $module_name) { global $arrConf; //folder path for custom templates $local_templates_dir = getWebDirModule($module_name); //conexion resource $pDB = new paloDB($arrConf['elastix_dsn']["elastix"]); //user credentials global $arrCredentials; $action = getAction(); $content = ""; switch ($action) { case "new_queue": $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "view": $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "view_edit": $content = viewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "save_new": $content = saveNewQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "save_edit": $content = saveEditQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "delete": $content = deleteQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "reloadAasterisk": $content = reloadAasterisk($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; case "get_destination_category": $content = get_destination_category($smarty, $module_name, $pDB, $arrConf, $arrCredentials); break; default: // report $content = reportQueue($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $arrCredentials); break; } return $content; }
function process_message($msg) { $dbalive = mysql_ping(); if ($dbalive !== TRUE) { //数据库连接失效 echo "mysql time out ! \n"; exit; return; } global $dbConn, $aliexpress, $alrequeue, $aliorder_obj, $msg_obj; $message_body = json_decode($msg->body, TRUE); if ($message_body == FALSE || !is_array($message_body) || !isset($message_body['id'])) { echo 'invalid message ! --- ' . $msg->body . "\n"; //错误的消息结果 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 return; } $id = $message_body['id']; //队列主键id $queueinfo = $alrequeue->getQueueRow($id); if (empty($queueinfo)) { //队列id错误 writeLog(ALIREPLYERR, '队列id不存在!--- ID:' . $id); //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 return; } if ($queueinfo['retype'] == 1) { //处理速卖通订单留言 $rowinfo = $aliorder_obj->getMessageInfoByMessageId($queueinfo['msgid']); if (empty($rowinfo)) { //没找到对应的message信息 writeLog(ALIREPLYERR, '没找到message信息 订单留言---MSGID:' . $queueinfo['msgid']); //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . " message not found ! \n"; return; } //加载token信息 $configFile = WEB_PATH . KEY_PATH . "config_{$rowinfo[receiverid]}.php"; // echo $configFile;"\n"; if (file_exists($configFile)) { include $configFile; } else { echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . "key file was not found !\n"; writeLog(ALIREPLYERR, '找不到token文件' . $configFile . __FILE__ . '--' . __LINE__); //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 return; } $aliexpress->setConfig($appKey, $appSecret, $refresh_token); $aliexpress->doInit(); // print_r($rowinfo);exit; $replyresult = $aliexpress->replyOrderMessage($rowinfo['orderid'], $rowinfo['responsecontent']); if ($replyresult === FALSE) { //返回失败 updateQueue(AliMessage::$errMsg, $queueinfo['id']); //记录错误信息到表中 $msg_obj->updateMessageStatus_aliorder(array($rowinfo['id']), 3); //标记为失败 //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . '---' . "failure !\n"; return; } else { deleteQueue($queueinfo['id']); //删除队列行 $msg_obj->updateMessageStatus_aliorder(array($rowinfo['id']), 2); //标记为成功 //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . '---' . "success !\n"; return; } } else { //处理速卖通站内信 $rowinfo = $aliorder_obj->getMessageInfoByMessageId_site($queueinfo['msgid']); if (empty($rowinfo)) { //没找到对应的message信息 writeLog(ALIREPLYERR, '没找到message信息 站内信---MSGID:' . $queueinfo['msgid']); //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . '---' . 'message not found!', "\n"; return; } // print_r($rowinfo);exit; //加载token信息 $configFile = WEB_PATH . KEY_PATH . "config_{$rowinfo[receiverid]}.php"; if (file_exists($configFile)) { include $configFile; } else { echo __LINE__ . "key file was not found ! --- {$configFile} \n"; writeLog(ALIREPLYERR, '找不到token文件' . $configFile . __FILE__ . '--' . __LINE__); //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . '---' . __LINE__ . " message not found ! \n"; return; } $aliexpress->setConfig($appKey, $appSecret, $refresh_token); $aliexpress->doInit(); $replyresult = $aliexpress->replySiteMessage($rowinfo['senderid'], $rowinfo['replyconten']); if ($replyresult === FALSE) { //返回失败 updateQueue(AliMessage::$errMsg, $queueinfo['id']); //记录错误信息到表中 $msg_obj->updateMessageStatus_alisite(array($rowinfo['id']), 3); //标记为失败 //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo "failure!\n"; return; } else { deleteQueue($queueinfo['id']); //删除队列行 $msg_obj->updateMessageStatus_alisite(array($rowinfo['id']), 2); //标记为成功 //确认收到 $msg->delivery_info['channel']->basic_ack($msg->delivery_info['delivery_tag']); //确认收到 echo date('Y-m-d H:i:s', time()) . "success!\n"; return; } } // Send a message with the string "quit" to cancel the consumer. if ($msg->body === 'quit') { $msg->delivery_info['channel']->basic_cancel($msg->delivery_info['consumer_tag']); } }