短信发送平台和订单来源查询系统
parent
5a639a518f
commit
7b5ff8a08f
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
//发送请求函数
|
||||
function sms_post($url, $data = '', $method = 'GET') {
|
||||
$curl = curl_init(); // 启动一个CURL会话
|
||||
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
|
||||
//curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
|
||||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
|
||||
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
|
||||
if ($method == 'POST' && !empty($data)) {
|
||||
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type:application/json;charset=UTF-8'));
|
||||
}
|
||||
curl_setopt($curl, CURLOPT_TIMEOUT, 45); // 设置超时限制防止死循环
|
||||
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
|
||||
$tmpInfo = curl_exec($curl); // 执行操作
|
||||
$errno = curl_errno($curl);
|
||||
if ($errno !== 0) {
|
||||
return false;
|
||||
echo $errno . curl_error($curl); //记录错误日志
|
||||
}
|
||||
curl_close($curl); //关闭CURL会话
|
||||
return $tmpInfo; //返回数据
|
||||
}
|
||||
|
||||
function hello(){
|
||||
echo 'hello';
|
||||
}
|
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
if (!defined('BASEPATH'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
class Index extends CI_Controller {
|
||||
|
||||
public function __construct() {
|
||||
parent::__construct();
|
||||
$this->load->model('ordersfrom_model');
|
||||
}
|
||||
|
||||
public function index(){
|
||||
$data = array();
|
||||
$data['startime'] = $this->input->get_post('startime');
|
||||
$data['endtime'] = $this->input->get_post('endtime');
|
||||
$data['webcode'] = $this->input->get_post('webcode');
|
||||
$data['total_nums'] = 0;
|
||||
|
||||
if($data['startime'] && $data['endtime'] && $data['webcode']){
|
||||
$all_orders = $this->ordersfrom_model->get_all_orders($data['startime'],$data['endtime'],$data['webcode']);
|
||||
$data['total_nums'] = count($all_orders);
|
||||
$data['orders'] = $this->group_order_arr($all_orders);
|
||||
}else{
|
||||
$data['orders'] = null;
|
||||
}
|
||||
$this->load->view('index',$data);
|
||||
}
|
||||
|
||||
function group_order_arr($all_orders){
|
||||
$data = array();
|
||||
$num = 0;
|
||||
foreach ($all_orders as $item){
|
||||
preg_match('/(https|http):[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.a-z\d-\/.htm]*/',$item->COLI_OrderDetailText,$matches);
|
||||
if(!empty($matches[0])){
|
||||
if(isset($data[$matches[0]])){
|
||||
$data[$matches[0]]['num'] +=1;
|
||||
array_push($data[$matches[0]]['order'],$item->coli_id);
|
||||
}else{
|
||||
$data[$matches[0]] = array();
|
||||
$data[$matches[0]]['num'] = 1;
|
||||
$data[$matches[0]]['order'] = array();
|
||||
array_push($data[$matches[0]]['order'],$item->coli_id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this->array_sort($data,'num','desc');
|
||||
}
|
||||
|
||||
function array_sort($arr,$keys,$type='asc'){
|
||||
$keysvalue = $new_array = array();
|
||||
foreach ($arr as $k=>$v){
|
||||
$keysvalue[$k] = $v[$keys];
|
||||
}
|
||||
if($type == 'asc'){
|
||||
asort($keysvalue);
|
||||
}else{
|
||||
arsort($keysvalue);
|
||||
}
|
||||
reset($keysvalue);
|
||||
foreach ($keysvalue as $k=>$v){
|
||||
$new_array[$k] = $arr[$k];
|
||||
}
|
||||
return $new_array;
|
||||
}
|
||||
|
||||
public function count_ah_orders(){
|
||||
$data = array();
|
||||
$ah_product_obj = $this->ordersfrom_model->ah_productions();
|
||||
foreach($ah_product_obj as $item){
|
||||
$data[$item->cli_no] = array();
|
||||
$orders_arr = $this->ordersfrom_model->get_orders($item->cli_no);
|
||||
$data[$item->cli_no] = $orders_arr;
|
||||
}
|
||||
$mdata['orders'] = $data;
|
||||
$this->load->view('ah_orders',$mdata);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
if (!defined('BASEPATH'))
|
||||
exit('No direct script access allowed');
|
||||
|
||||
|
||||
class ordersfrom_model extends CI_Model {
|
||||
|
||||
function __construct(){
|
||||
parent::__construct();
|
||||
$this->HT = $this->load->database('HT', TRUE);
|
||||
}
|
||||
|
||||
public function get_all_orders($fromtime,$totime,$website){
|
||||
$sql = "select
|
||||
COLI_OrderDetailText,coli_id
|
||||
from
|
||||
ConfirmLineInfo
|
||||
where
|
||||
COLI_WebCode = ?
|
||||
and
|
||||
COLI_ApplyDate > ?
|
||||
and
|
||||
COLI_ApplyDate < ?
|
||||
and
|
||||
DeleteFlag = 0
|
||||
and
|
||||
COLI_OrderDetailText like '%https:%'
|
||||
";
|
||||
$query = $this->HT->query($sql,array($website,$fromtime,$totime));
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function ah_productions(){
|
||||
$sql = "select cli_no from CustomerLineInfo WHERE CLI_DEI_SN = '28' AND DeleteFlag = '0'";
|
||||
$query = $this->HT->query($sql);
|
||||
return $query->result();
|
||||
}
|
||||
|
||||
public function get_orders($productsn){
|
||||
$sql = "select COLI_ID from ConfirmLineInfo where COLI_WebCode = 'AH' and DeleteFlag = 0 and COLI_OrderDetailText like '%{$productsn}%'";
|
||||
$query = $this->HT->query($sql);
|
||||
return $query->result();
|
||||
}
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>订单来源页面搜索</title>
|
||||
<link href="/css/webht/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/css/nav/nav.css?v=20150723" rel="stylesheet">
|
||||
<link href="/css/webht/jquery-ui-1.10.0.custom.css" rel="stylesheet">
|
||||
<script src="/min?f=/js/jquery.min.js,/js/bootstrap.min.js,/js/navigation.js,/js/jquery.form.min.js"></script>
|
||||
<script src="/js/jquery-ui.min.js?v=1"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/js/respond.min.js" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-inverses" style="margin-bottom:0;border-bottom:1px solid #ddd;">
|
||||
<div class="container-fluid search_container nopadding">
|
||||
<div class="navbar-header" style="float:none;">
|
||||
<a class="navbar-brand text-muted" style="padding-top: 7px;padding-left: 30px;" href="<?php echo site_url('index/index'); ?>">
|
||||
<img width="150" style="height:40px;" src="/css/nav/img/6000.png">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<h1 class="text-center">AH订单统计(按线路代号)</h1>
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
<th>线路代号</th>
|
||||
<th>订单数量</th>
|
||||
<th>具体订单号</th>
|
||||
</tr>
|
||||
<?php
|
||||
$table_body = '';
|
||||
//print_r($orders);
|
||||
foreach ($orders as $key=>$items){
|
||||
$table_body .= '<tr>';
|
||||
$table_body .= '<td>'.$key.'</td>';
|
||||
$table_body .= '<td>'.count($items).'</td>';
|
||||
$table_body .= '<td class="order_detail">';
|
||||
$orders_num = 0;
|
||||
foreach ($items as $value){
|
||||
$orders_num++;
|
||||
if($orders_num == count($items)){
|
||||
$table_body .= $value->COLI_ID;
|
||||
}else{
|
||||
$table_body .= $value->COLI_ID.'、';
|
||||
}
|
||||
}
|
||||
|
||||
$table_body .= '</td>';
|
||||
$table_body .= '</tr>';
|
||||
}
|
||||
echo $table_body;
|
||||
?>
|
||||
</table>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>订单来源页面搜索</title>
|
||||
<link href="/css/webht/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="/css/nav/nav.css?v=20150723" rel="stylesheet">
|
||||
<link href="/css/webht/jquery-ui-1.10.0.custom.css" rel="stylesheet">
|
||||
<script src="/min?f=/js/jquery.min.js,/js/bootstrap.min.js,/js/navigation.js,/js/jquery.form.min.js"></script>
|
||||
<script src="/js/jquery-ui.min.js?v=1"></script>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="/js/respond.min.js" type="text/javascript"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar navbar-inverses" style="margin-bottom:0;border-bottom:1px solid #ddd;">
|
||||
<div class="container-fluid search_container nopadding">
|
||||
<div class="navbar-header" style="float:none;">
|
||||
<a class="navbar-brand text-muted" style="padding-top: 7px;padding-left: 30px;" href="<?php echo site_url('index/index'); ?>">
|
||||
<img width="150" style="height:40px;" src="/css/nav/img/6000.png">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="container">
|
||||
<h1 class="text-center">订单来源页面查询</h1>
|
||||
<div class="content" style="margin-top:20px;">
|
||||
<form method="post" class="form-inline" action="http://www.mycht.cn/webht.php/apps/ordersfrom/index/">
|
||||
<div class="col-sm-8">
|
||||
<div class="form-group">
|
||||
<label for="startime">开始时间</label>
|
||||
<input id="startime" name="startime" class="form-control" type="text" value="<?php echo empty($startime) ? '' :$startime;?>" autocomplete="off"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div class="form-group">
|
||||
<label for="endtime">结束时间</label>
|
||||
<input id="endtime" name="endtime" class="form-control" type="text" value="<?php echo empty($endtime) ? '' :$endtime;?>" autocomplete="off"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div class="form-group">
|
||||
<label for="webcode">站点选择</label>
|
||||
<select class="form-control" name="webcode" id="webcode">
|
||||
<option value="gm">GM</option>
|
||||
<option value="cht">CH</option>
|
||||
<option value="ah">AH</option>
|
||||
<option value="CT">CT</option>
|
||||
<option value="YZ">YZ</option>
|
||||
<option value="SHT">SHT</option>
|
||||
<option value="GL">GL</option>
|
||||
<option value="MBJ">MBJ</option>
|
||||
<option value="TBT">TBT</option>
|
||||
</select>
|
||||
</div>
|
||||
<button id="ordersfrom" type="submit" class="btn btn-default">查询</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php if(!empty($orders)){?>
|
||||
<div class="orderscontent">
|
||||
<div>
|
||||
<h3 class="text-center">统计分组结果</h3>
|
||||
<p class="text-center">总订单数:<?php echo $total_nums;?></p>
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-bordered">
|
||||
<tr>
|
||||
<th>订单来源</th>
|
||||
<th>订单数量</th>
|
||||
<th>具体订单号</th>
|
||||
</tr>
|
||||
<?php
|
||||
$table_body = '';
|
||||
foreach ($orders as $key=>$items){
|
||||
$table_body .= '<tr>';
|
||||
$table_body .= '<td>'.$key.'</td>';
|
||||
$table_body .= '<td>'.$items['num'].'</td>';
|
||||
$table_body .= '<td class="order_detail">';
|
||||
$orders_num = 0;
|
||||
foreach ($items['order'] as $value){
|
||||
$orders_num++;
|
||||
if($orders_num == count($items['order'])){
|
||||
$table_body .= $value;
|
||||
}else{
|
||||
$table_body .= $value.'、';
|
||||
}
|
||||
}
|
||||
|
||||
$table_body .= '</td>';
|
||||
$table_body .= '</tr>';
|
||||
}
|
||||
echo $table_body;
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<?php }?>
|
||||
<script>
|
||||
$(function(){
|
||||
$('#startime,#endtime').datepicker({
|
||||
dateFormat: "yy-mm-dd",
|
||||
changeMonth: true,
|
||||
changeYear: true
|
||||
});
|
||||
|
||||
//获取站点
|
||||
var sitecode = "<?php echo $webcode;?>";
|
||||
if(sitecode != ''){
|
||||
$('#webcode option[value='+sitecode+']').attr("selected","selected");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</html>
|
Loading…
Reference in New Issue