HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.fpngv.com/application/admin/controller/ZbjData.php
<?php
// +----------------------------------------------------------------------
// | Author: Moli <332287662@qq.com>
// +----------------------------------------------------------------------

// +----------------------------------------------------------------------
// | 直播间数据列表
// +----------------------------------------------------------------------
namespace app\admin\controller;

use app\common\controller\Adminbase;
use think\Db;
use think\facade\Session;

class ZbjData extends Adminbase
{
    protected function initialize()
    {
        parent::initialize();
        // 直播间名称
        $studioname = [""];
        $result = Db::name('zbj_studio_name')->select();;
        foreach ($result as $k => $v) {
            $studioname[$v['id']] = $v['title'];
        }
        $this->assign('studioname', $studioname);
        // 直播间ID
        $studioid = [""];
        $result = Db::name('zbj_studio_id')->select();;
        foreach ($result as $k => $v) {
            $studioid[$v['id']] = $v['title'];
        }
        $this->assign('studioid', $studioid);
        // 账户名
        $accountname = [""];
        $result = Db::name('zbj_account_name')->select();;
        foreach ($result as $k => $v) {
            $accountname[$v['id']] = $v['title'];
        }
        $this->assign('accountname', $accountname);
        // 账户id
        $accountid = [""];
        $result = Db::name('zbj_account_id')->select();;
        foreach ($result as $k => $v) {
            $accountid[$v['id']] = $v['title'];
        }
        $this->assign('accountid', $accountid);
        // // 币种
        // $currencydata = [""];
        // $result = Db::name('xxl_currency')->select();;
        // foreach ($result as $k => $v) {
        //     $currencydata[$v['id']] = $v['title'];
        // }
        // $this->assign('currencydata', $currencydata);
    }
    // 直播间每日数据列表
    public function index()
    {
        if ($this->request->isAjax()) {
            $data   = $this->request->get('');
            $page = $data['page'];
            $limit = $data['limit'];
            // 获取搜索条件
            $filter = $data['filter'];
            if ($filter) {
                $filter = json_decode($filter, true);
                // 开始时间
                $startTime = $filter['startTime'];
                // 结束时间
                $endTime = $filter['endTime'];
                $userInfo = $this->_userinfo = Session::get('admin');
                $roleid = $userInfo['roleid'];
                if ($roleid != 1 && $roleid != 2) {
                    $where[] = ['pitcher', '=', $userInfo['nickname']];
                }
                if (!empty($startTime && $endTime)) {
                    $where[] = ['Ttime', 'between time', [$startTime, $endTime]];
                }
                $list = Db::name('zbj_data')
                    ->where($where)
                    ->order(array('id' => 'DESC'))
                    ->select();
                $total = count($list);
                $result = array("code" => 0, 'count' => $total, "data" => $list);
                return json($result);
            } else {
                // 获取用户的权限组 如果是超级管理员,那么可以看到所有用户的列表,如果不是,则看不到
                $userInfo = $this->_userinfo = Session::get('admin');
                $roleid = $userInfo['roleid'];
                if ($roleid === 1 || $roleid === 2) {
                    $list = Db::name('zbj_data')->order(array('id' => 'DESC'))->select();
                    $_list = Db::name('zbj_data')->order(array('id' => 'DESC'))->page($page, $limit)->select();
                    $total = count($list);
                    $result = array("code" => 0, 'count' => $total, "data" => $_list);
                    return json($result);
                } else {
                    $list = Db::name('zbj_data')->order(array('id' => 'DESC'))->where('pitcher', $userInfo['nickname'])->select();
                    $_list = Db::name('zbj_data')->order(array('id' => 'DESC'))->where('pitcher', $userInfo['nickname'])->page($page, $limit)->select();
                    $total = count($list);
                    $result = array("code" => 0, 'count' => $total, "data" => $_list);
                    return json($result);
                }
            }
        } else {
            return $this->fetch();
        }
    }
    // 直播间每日数据添加
    public function add()
    {
        if ($this->request->isPost()) {
            $data   = $this->request->post('');
            // 时间
            $Ttime = $data['Ttime'];
            for ($i = 0; $i < count($Ttime); $i++) {
                // 直播间
                $studio_name[$i] = Db::name('zbj_studio_name')->where('id', $data['studionameid'][$i])->value('title');
                // 直播间ID
                $studio_id[$i] = Db::name('zbj_studio_id')->where('id', $data['studioid'][$i])->value('title');
                // 账户名
                $account_name[$i] = Db::name('zbj_account_name')->where('id', $data['accountnameid'][$i])->value('title');
                // 账户ID
                $account_id[$i] = Db::name('zbj_account_id')->where('id', $data['accountid'][$i])->value('title');
                // 广告消耗
                $consume[$i] = $data['consume'][$i];
                // 销售金额
                $sales_amount[$i] = $data['sales_amount'][$i];
                // 购买人数
                $buy_num[$i] = $data['buy_num'][$i];
                // 计算ROI
                if($buy_num[$i]!=0){
                    $roi[$i] = $sales_amount[$i] / $consume[$i];
                }else{
                    $roi[$i]=$buy_num[$i];
                }
               
                // 获取投手
                $userInfo = $this->_userinfo = Session::get('admin');
                $this->assign('userInfo', $this->_userinfo);
                $pitcher = $userInfo['nickname'];
                // 创建时间
                $creattime = date('Y-m-d H:i:s', time());
                $zbj_data[$i] = [
                    'Ttime' => $Ttime[$i],
                    'studio_name' => $studio_name[$i],
                    'studio_id' => $studio_id[$i],
                    'account_name' => $account_name[$i],
                    'account_id' => $account_id[$i],
                    'consume' => $consume[$i],
                    'sales_amount' => $sales_amount[$i],
                    'roi' => $roi[$i],
                    'buy_num' => $buy_num[$i],
                    'pitcher' => $pitcher,
                    'creat_time' => $creattime
                ];
                $result = Db::name('zbj_data')
                    ->data($zbj_data[$i])
                    ->insert();
            }
            if ($result) {
                $this->success("添加数据成功!", url('admin/zbj_data/index'));
            } else {
                $this->error("添加数据失败!");
            }
        }
        return $this->fetch();
    }
    // 直播间每日数据编辑
    public function edit()
    {
        if ($this->request->isPost()) {
            $data = $this->request->post('');
            // 时间
            $Ttime = $data['Ttime'];
            // 直播间
            $studio_name = Db::name('zbj_studio_name')->where('id', $data['studionameid'])->value('title');
            // 直播间ID
            $studio_id = Db::name('zbj_studio_id')->where('id', $data['studioid'])->value('title');
            // 账户名
            $account_name = Db::name('zbj_account_name')->where('id', $data['accountnameid'])->value('title');
            // 账户ID
            $account_id = Db::name('zbj_account_id')->where('id', $data['accountid'])->value('title');
             // 广告消耗
             $consume = $data['consume'];
             // 销售金额
             $sales_amount = $data['sales_amount'];
             // 购买人数
             $buy_num = $data['buy_num'];
             // 计算ROI
             if($buy_num!=0){
                 $roi = $sales_amount / $consume;
             }else{
                 $roi=$buy_num;
             }
            // 获取投手
            // $userInfo = $this->_userinfo = Session::get('admin');
            // $this->assign('userInfo', $this->_userinfo);
            // $pitcher = $userInfo['nickname'];
            // 更新时间
            $update_time = date('Y-m-d H:i:s', time());
            $zbj_data = [
                'id' => $data['id'],
                'Ttime' => $Ttime,
                'studio_name' => $studio_name,
                'studio_id' => $studio_id,
                'account_name' => $account_name,
                'account_id' => $account_id,
                'consume' => $consume,
                'sales_amount' => $sales_amount,
                'roi' => $roi,
                'buy_num' => $buy_num,
                'update_time' => $update_time,
            ];
            $result = Db::name('zbj_data')
                ->update($zbj_data);
            if ($result) {
                $this->success("修改成功!");
            }
        } else {
            $id = $this->request->param('id/d');
            $ishas = Db::name('zbj_data')->where('id', $id)->find();
            if (empty($ishas)) {
                $this->error('该信息不存在!');
            }
            // 直播间
            $studionameid = Db::name('zbj_studio_name')->where('title', $ishas['studio_name'])->value('id');
            // 直播间ID
            $studioid = Db::name('zbj_studio_id')->where('title', $ishas['studio_id'])->value('id');
            // 账户名
            $accountnameid = Db::name('zbj_account_name')->where('title', $ishas['account_name'])->value('id');
            // 渠道平台
            $accountid = Db::name('zbj_account_id')->where('title', $ishas['account_id'])->value('id');
            $data = [
                'id' => $ishas['id'],
                'Ttime' => $ishas['Ttime'],
                'studionameid' => $studionameid,
                'studioid' => $studioid,
                'accountnameid' => $accountnameid,
                'accountid' => $accountid,
                'consume' => $ishas['consume'],
                'sales_amount' => $ishas['sales_amount'],
                'roi' => $ishas['roi'],
                'buy_num' => $ishas['buy_num']
            ];
            $this->assign("data", $data);
            return $this->fetch();
        }
    }
    // 删除数据
    public function del()
    {
        $id = $this->request->param('id/d');
        if (empty($id)) {
            $this->error('请指定需要删除的数据ID!');
        }
        $ishas = Db::name('zbj_data')->where('id', $id)->find();
        if ($ishas) {
            Db::name('zbj_data')
                ->where('id', $id)
                ->delete();
            $this->success("删除成功!");
        }
    }
}