Sms.php 7.49 KB
<?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.id 
                                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'] = $value['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();
    }

    //营销短信审核
    public function smsToExamine(){
        $data = Request::except('file');
        if(Request::isAjax()){
            //通过
            if($data['id'] && $data['dishesVideo']=='pass'){
                $up=Db::query("UPDATE `xt-member-two-LINE`.xt_dc_dz_batch_notice set status = 1,tmp_code='".$data['tem_code']."',remarks='".$data['content']."' where id = ".$data['id']);
            }
            //未通过
            if($data['id'] && $data['dishesVideo'] == 'notpass'){
                $up=Db::query("UPDATE `xt-member-two-LINE`.xt_dc_dz_batch_notice set status = -1,remarks='".$data['content']."' where id = ".$data['id']);
            }

            if(!$up){
                $result['code'] = 200;
                $result['msg'] = '审核成功';
                $result['url'] =url('Sms/GetBatchNoticeList');
            }else{
                $result['code'] = 0;
                $result['msg'] = '审核失败';
            }
            return $result;
        }
        $info = $data['id'] ? $data : array(); //任务ID
        $this->assign('info',$info);
        $this->assign('title','营销短信审核');
        return $this->fetch();
    }
}