function handle_jaray_submit($dao, $query_string, $para, &$error_message) { if ($para['event_type'] == "opt_in") { //订阅, 不转发给cp return EC_OK; } if ($para['event_type'] == "one_off") { //请求量非常大,但是无法正常处理,先保留 return EC_OK; } $mr_data = array(); $linkid = $para['transactionid']; $mr_data['mr_addr'] = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; $mr_data['status'] = $para['status']; $mr_data['sp_code'] = intval($para['shortcode']); $mr_data['content'] = $para['momessage']; $mr_data['cmd'] = $para['momessage']; $mr_data['parter_symbol'] = INFOBIP; $mr_data['mo_time'] = date('Y-m-d H:i:s'); $mr_data['mr_time'] = date('Y-m-d H:i:s'); $mr_data['submit_flag'] = 1; //表示收到了MR请求 $mr_data['mobile_num'] = $para['phone']; $mr_data['link_id'] = $linkid; if ($para['event_type'] == "opt_out") { //退订,直接转发 $ret = TransmitAll($dao, $mr_data, $query_string, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); return $ret; } } if ($para['event_type'] == "recurring_billing") { //包月计费,正常按照通道扣量 $id = 0; $ret = write_original_data($dao, $mr_data, true, $id, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); http_response_code(400); return $ret; } $ret = TransmitMo($dao, $id, $mr_data, true, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); return $ret; } } return EC_OK; }
$mo_data = array(); $mo_data['mobile_num'] = $para['phone']; $mo_data['content'] = $para['message']; $mo_data['link_id'] = $para['transactionid']; $mo_data['parter_symbol'] = INFOBIP; $mo_data['mo_addr'] = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; $mo_data['submit_flag'] = 0; $mo_data['sp_code'] = intval($para['shortcode']); $mo_data['mo_time'] = date('Y-m-d H:i:s'); $mo_data['transmit_flag'] = Dao::TRANSMIT_FLAG_INITAL; $linkid = $mo_data['link_id']; $id = 0; $ret = write_original_data($dao, $mo_data, true, $id, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); http_response_code(400); echo 202; return; } $ret = TransmitMo($dao, $id, $mo_data, false, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); echo 202; return; } echo 200; live_log(INFO, EC_OK, "linkid: {$linkid}, infobip mo success."); interface_log(INFO, EC_OK, "linkid: {$linkid}, infobip mo success."); return;
$mo_data['operator'] = $para['op']; $mo_data['country'] = $para['country']; $mo_data['mo_time'] = date('Y-m-d H:i:s'); $mo_data['mcc'] = intval($para['mcc']); $mo_data['mnc'] = intval($para['mnc']); $mo_data['fee_mode'] = $para['feeMode']; $mo_data['transmit_flag'] = Dao::TRANSMIT_FLAG_INITAL; $id = 0; $ret = write_original_data($dao, $mo_data, true, $id, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); http_response_code(400); echo 202; return; } $is_mo_fee = false; if ($mo_data['fee_mode'] == "MO") { $is_mo_fee = true; } $ret = TransmitMo($dao, $id, $mo_data, $is_mo_fee, $error_message); if ($ret != 0) { live_log(ERROR, $ret, $error_message); interface_log(ERROR, $ret, "response: {$linkid}, err_msg: " . $error_message); echo 202; return; } echo 200; live_log(INFO, EC_OK, "linkid: {$linkid}, bkk mo success."); interface_log(INFO, EC_OK, "linkid: {$linkid}, bkk mo success."); return;