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("删除成功!");
}
}
}