Commit 50bb85970c0315be204c97305ae197ee62b3b272

Authored by teemitop
1 parent 7ad7cc66

短信管理

<?php
namespace app\admin\controller;
use think\Db;
use think\facade\Request;
class Sms extends Common
{
/*
* 商家短信充值查询
*/
public function getsellersmslist(){
if(Request::isAjax()){
$data = Request::except('file');
$time = (isset($data['time']) && !empty($data['time'])) ? explode(' - ',$data['time']) : (strtotime(date("Y-m-d 00:00:00")).'-'.strtotime(date("Y-m-d 23:59:59")));
$newtime = is_array($time) ? (strtotime(date($time[0])).'-'.strtotime(date($time[1]))) : $time;
$channel = (!isset($data['time'])) ? 1 : $data['channel'];
$name = (!isset($data['time'])) ? '' : $data['key'];
$url= ON_LINE.'App.Seller.QuerySelllerSmsList&offset='.$data['page'].'&size='.$data['limit'].'&time='.$newtime.'&channel='.$channel.'&name='.$name;
$list = $this->curl_get($url);
$array = json_decode($list,TRUE);
if($array){
foreach ($array['data']['list'] as $key => $value) {
$array['data']['list'][$key]['bdate'] = date("Y年m月d日 H时i分s秒",$value['bdate']);
$array['data']['list'][$key]['paystatus'] = $value['paystatus']==1 ? '成功' : '失败';
$array['data']['list'][$key]['channel'] = $value['channel']==NULL ? '小程序' : $value['channel'];
$array['data']['list'][$key]['package_name'] = $value['package_name']=='other' ? '其他' : $value['package_name'];
}
return $result = [
'code'=>0,'msg'=>'获取成功!',
'data'=>$array['data']['list'],
'count'=>$array['data']['total'],
'rel'=>1
];
}else{
$result['code'] = 0;
$result['msg'] = '请求错误!';
}
return $result;
}
return view();
}
/**
* post
*/
public function curl_get($url)
{
$info = curl_init();
curl_setopt($info,CURLOPT_RETURNTRANSFER,true);
curl_setopt($info,CURLOPT_HEADER,0);
curl_setopt($info,CURLOPT_NOBODY,0);
curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($info,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($info,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($info,CURLOPT_URL,$url);
$output = curl_exec($info);
curl_close($info);
return $output;
}
/*
* 商家营销短信审核
*/
public function GetBatchNoticeList(){
if(Request::isAjax()){
$data = Request::except('file');
$channel = @$data['channel'] ? @$data['channel'] : 1;
$page = ($data['page']-1)*$data['limit'];
$__Where = ' 1=1';
$time = (isset($data['time']) && !empty($data['time'])) ? explode(' - ',$data['time']) : ' and n.addtime between '.(strtotime(date("Y-m-d 00:00:00")).' and '.strtotime(date("Y-m-d 23:59:59")));
$__Where .= is_array($time) ? ' and n.addtime between '.(strtotime(date($time[0])).' and '.strtotime(date($time[1]))) : $time;
$__Where .= @$data['key'] ? " and s.sellername like '%".$data['key']."%'" : "";
if($channel && $channel!=-1) {
$__Where .= ' and rel.type_id='. $channel;
}else{
$__Where .= "";
}
$total = Db::query("SELECT
count(1) as total
FROM
`xt-member-two-LINE`.xt_dc_dz_batch_notice AS n
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON n.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS rel ON n.sid = rel.sid
WHERE
$__Where");
$list = Db::query("SELECT
s.id as sid,
s.sellername,
rel.type_id,
n.*
FROM
`xt-member-two-LINE`.xt_dc_dz_batch_notice AS n
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON n.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS rel ON n.sid = rel.sid
WHERE
$__Where
ORDER BY
n.sid
LIMIT $page,".$data['limit']);
foreach ($list as $key => $value) {
$list[$key]['channel'] = $value['channel'] == 1 ? "小程序" : "电话机";
$list[$key]['is_send_end'] = $value['is_send_end'] == 1 ? "是" : "否";
$list[$key]['addtime'] = date("Y-m-d H:i:s",$value['addtime']);
$list[$key]['stime'] = date("Y-m-d H:i:s",$value['stime']);
switch ($value['type_id']) {
case '1':
$list[$key]['type_id'] = "合作";
break;
case '2':
$list[$key]['type_id'] = "推广";
break;
case '3':
$list[$key]['type_id'] = "测试";
break;
default:
break;
}
switch ($value['status']) {
case '-1':
$list[$key]['status'] = "未通过";
break;
case '0':
$list[$key]['status'] = "待审核";
break;
case '1':
$list[$key]['status'] = "待发送";
break;
case '2':
$list[$key]['status'] = "已发送";
break;
default:
break;
}
}
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$list,'count'=>$total[0]['total'],'rel'=>1];
}
$this->assign ( 'title','营销短信列表');
return $this->fetch();
}
}
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<div class="demoTable">
商家:
<div class="layui-input-inline">
<input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
</div>
日期范围:
<div class="layui-input-inline" >
<input type="text" style = "width:300px"; class="layui-input" id="time" placeholder="默认为当天的充值情况">
</div>
商家来源:
<div class="layui-input-inline layui-form">
<div class="layui-input-8">
<select name="class" id="channel" lay-filter="myselect">
<option value="-1">全部</option>
<option value="1" selected>合作</option>
<option value="2">推广</option>
<option value="3">测试</option>
</select>
</div>
</div>
<button class="layui-btn" id="search" data-type="reload">查询</button>
</div>
<table class="layui-table" id="list" lay-filter="list"></table>
</div>
<script type="text/html" id="toolbarDemo">
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form','laydate'], function() {
var table = layui.table,laydate = layui.laydate,$ = layui.jquery;
console.log(layui);
var tableIn = table.render({
elem: '#list',
url: '{:url("GetBatchNoticeList")}',
method: 'post',
title: '营销短信审核',
page:true,
toolbar: '#toolbarDemo',
cols: [[
{field: 'sid', title: '{:lang("sid")}',width:70, fixed: true},
{field: 'sellername', align: 'center',title: '店铺名字'},
{field: 'type_id', title: '来源'},
{field: 'id', title: '营销ID'},
{field: 'tmp_code', title: '模板CODE'},
{field: 'send_phones', title: '发送号码'},
{field: 'send_total', align: 'center', title: '发送人数'},
{field: 'send_msg', align: 'center', title: '发送内容'},
{field: 'name', align: 'center',title: '负责发送人'},
{field: 'phone', align: 'center',title: '负责人手机号'},
{field: 'note_name', align: 'center',title: '创建人'},
{field: 'sender', align: 'center',title: '发送人'},
{field: 'reduce_num', align: 'center',title: '短信扣除数'},
{field: 'status', align: 'center',title: '审核状态'},
{field: 'channel', align: 'center',title: '发送渠道'},
{field: 'is_send_end', align: 'center',title: '是否发送完毕'},
{field: 'channel', align: 'center',title: '发送渠道'},
{field: 'channel', align: 'center',title: '发送渠道'},
{field: 'stime', align: 'center',title: '发送时间'},
{field: 'addtime', align: 'center',title: '创建时间'},
]],
done: function(res, curr, count){
}
,id: 'testReload'
,page: true
,limit:10
});
//日期时间范围
laydate.render({
elem: '#time'
,type: 'datetime'
,range: true
});
//搜索
$('#search').on('click', function() {
//关键字
var key = $('#key').val();
var time = $('#time').val();
console.log(time);
//商家来源
var channel = $('#channel').val();
console.log(channel);
//传参
tableIn.reload({ page: {page: 1},where: {key: key,time: time,channel: channel}});
});
var $ = layui.$, active = {
reload: function(){
var key = $('#key');
//执行重载
table.reload('testReload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: key.val()
}
}
});
}
};
})
</script>
\ No newline at end of file
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<div class="demoTable">
商家:
<div class="layui-input-inline">
<input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
</div>
日期范围:
<div class="layui-input-inline" >
<input type="text" style = "width:300px"; class="layui-input" id="time" placeholder="默认为当天的充值情况">
</div>
商家来源:
<div class="layui-input-inline layui-form">
<div class="layui-input-8">
<select name="class" id="channel" lay-filter="myselect">
<option value="-1">全部</option>
<option value="1" selected>合作</option>
<option value="2">推广</option>
<option value="3">测试</option>
</select>
</div>
</div>
<button class="layui-btn" id="search" data-type="reload">查询统计</button>
</div>
<table class="layui-table" id="list" lay-filter="list"></table>
</div>
<script type="text/html" id="toolbarDemo">
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form','laydate'], function() {
var table = layui.table,laydate = layui.laydate,$ = layui.jquery;
console.log(layui);
var tableIn = table.render({
elem: '#list',
url: '{:url("getsellersmslist")}',
method: 'post',
title: '短信充值流水',
page:true,
toolbar: '#toolbarDemo',
cols: [[
{field: 'id', title: '{:lang("id")}',width:70, fixed: true},
{field: 'sellername', align: 'center',title: '店铺名字'},
{field: 'package_name', title: '套餐'},
{field: 'total', title: '充值总数'},
{field: 'price', title: '金额'},
{field: 'channel', align: 'center', title: '充值渠道'},
{field: 'desc', align: 'center', title: '充值备注'},
{field: 'paystatus', align: 'center',title: '充值状态'},
{field: 'bdate', align: 'center',title: '购买时间', sort: true},
{field: 'cdate', align: 'center',title: '记录时间', sort: true},
]],
done: function(res, curr, count){
}
,id: 'testReload'
,page: true
,limit:10
});
//日期时间范围
laydate.render({
elem: '#time'
,type: 'datetime'
,range: true
});
//搜索
$('#search').on('click', function() {
//关键字
var key = $('#key').val();
var time = $('#time').val();
console.log(time);
//商家来源
var channel = $('#channel').val();
console.log(channel);
//传参
tableIn.reload({ page: {page: 1},where: {key: key,time: time,channel: channel}});
});
var $ = layui.$, active = {
reload: function(){
var key = $('#key');
//执行重载
table.reload('testReload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: key.val()
}
}
});
}
};
})
</script>
\ No newline at end of file
... ...