File: /www/wwwroot//ly.fwmnzf.com/application/admin/controller/ZlData.php
<?php
// +----------------------------------------------------------------------
// | Author: Moli <332287662@qq.com>
// +----------------------------------------------------------------------
// +----------------------------------------------------------------------
// | 直聊数据
// +----------------------------------------------------------------------
namespace app\admin\controller;
use app\common\controller\Adminbase;
use think\Db;
use think\facade\Session;
class ZlData extends Adminbase
{
protected function initialize()
{
parent::initialize();
// 公司数据
$companydata = [""];
$result = Db::name('zl_company')->select();;
foreach ($result as $k => $v) {
$companydata[$v['id']] = $v['title'];
}
$this->assign('companydata', $companydata);
// 项目数据
$projectdata = [""];
$result = Db::name('zl_project')->select();;
foreach ($result as $k => $v) {
$projectdata[$v['id']] = $v['title'];
}
$this->assign('projectdata', $projectdata);
// 地区数据
$areadata = [""];
$result = Db::name('zl_area')->select();;
foreach ($result as $k => $v) {
$areadata[$v['id']] = $v['title'];
}
$this->assign('areadata', $areadata);
// 渠道
$channeldata = [""];
$result = Db::name('zl_channel')->select();;
foreach ($result as $k => $v) {
$channeldata[$v['id']] = $v['title'];
}
$this->assign('channeldata', $channeldata);
// // 详细渠道
$channeldetaildata = [""];
$result = Db::name('zl_channel_detail')->select();;
foreach ($result as $k => $v) {
$channeldetaildata[$v['id']] = $v['title'];
}
$this->assign('channeldetaildata', $channeldetaildata);
// 币种 直聊后台没有币种的选择
// $currencydata = [];
// $result = Db::name('zl_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('zl_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('zl_data')->order(array('id' => 'DESC'))->select();
$_list = Db::name('zl_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('zl_data')->order(array('id' => 'DESC'))->where('pitcher', $userInfo['nickname'])->select();
$_list = Db::name('zl_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++) {
// 根据公司id查找公司名称
$company[$i] = Db::name('zl_company')->where('id', $data['companyid'][$i])->value('title');
// 项目
$project[$i] = Db::name('zl_project')->where('id', $data['projectid'][$i])->value('title');
// 地区
$area[$i] = Db::name('zl_area')->where('id', $data['areaid'][$i])->value('title');
// 渠道
$channel[$i] = Db::name('zl_channel')->where('id', $data['channelid'][$i])->value('title');
// // 详细渠道渠道
$channel_detail[$i] = Db::name('zl_channel_detail')->where('id', $data['channeldetailid'][$i])->value('title');
// // 币种
// $currency = Db::name('zl_currency')->where('id', $data['currencyid'])->value('title');
// 消费
$consume[$i] = $data['consume'][$i];
// 税后消费
// $consume_after = $data['consume_after'];
// 加粉数量
$add_fan[$i] = $data['add_fan'][$i];
// 主页
$home_page[$i] = $data['home_page'][$i];
// 计算成本,使用税后消费除以加粉数量,得到成本
if ($add_fan[$i] != 0) {
$cost[$i] = $consume[$i] / $add_fan[$i];
} else {
$cost[$i] = $add_fan[$i];
}
// 获取投手
$userInfo = $this->_userinfo = Session::get('admin');
$this->assign('userInfo', $this->_userinfo);
$pitcher = $userInfo['nickname'];
// 创建时间
$creattime = date('Y-m-d H:i:s', time());
$zl_data[$i] = [
'Ttime' => $Ttime[$i],
'company' => $company[$i],
'project' => $project[$i],
'area' => $area[$i],
'channel' => $channel[$i],
'channel_detail' => $channel_detail[$i],
'consume' => $consume[$i],
'add_fan' => $add_fan[$i],
'cost' => $cost[$i],
'pitcher' => $pitcher,
'creat_time' => $creattime,
'home_page' => $home_page[$i]
// 'consume_rmb'=>$consume_rmb,
// 'cost_rmb'=>$cost_rmb
];
$result = Db::name('zl_data')
->data($zl_data[$i])
->insert();
}
if ($result) {
$this->success("添加数据成功!", url('admin/zl_data/index'));
} else {
$this->error("添加数据失败!");
}
}
return $this->fetch();
}
// 直聊每日数据编辑
public function edit()
{
if ($this->request->isPost()) {
$data = $this->request->post('');
// 时间
$Ttime = $data['Ttime'];
// 根据公司id查找公司名称
$company = Db::name('zl_company')->where('id', $data['companyid'])->value('title');
// 项目
$project = Db::name('zl_project')->where('id', $data['projectid'])->value('title');
// 地区
$area = Db::name('zl_area')->where('id', $data['areaid'])->value('title');
// 渠道
$channel = Db::name('zl_channel')->where('id', $data['channelid'])->value('title');
// 详细渠道
$channel_detail = Db::name('zl_channel_detail')->where('id', $data['channeldetailid'])->value('title');
// // 币种
// $currency = Db::name('zl_currency')->where('id', $data['currencyid'])->value('title');
// 消费
$consume = $data['consume'];
// // 税后消费
// $consume_after = $data['consume_after'];
// 加粉数量
$add_fan = $data['add_fan'];
// 主页
$home_page = $data['home_page'];
// 计算成本,使用税后消费除以加粉数量,得到成本
if ($add_fan != 0) {
$cost = $consume / $add_fan;
} else {
$cost = $add_fan;
}
// // 判断币种,转换成人民币税后消费以及成本
// if($currency==='台币'){
// $consume_rmb=sprintf("%1\$.2f",$consume_after/4.4);
// $cost_rmb=sprintf("%1\$.2f",$cost/4.4);
// }else if($currency==='美金'){
// $consume_rmb=sprintf("%1\$.2f",$consume_after*7);
// $cost_rmb=sprintf("%1\$.2f",$cost*7);
// }else{
// $consume_rmb=sprintf("%1\$.2f",$consume_after);
// $cost_rmb=sprintf("%1\$.2f",$cost);;
// }
// 获取投手
// $userInfo = $this->_userinfo = Session::get('admin');
// $this->assign('userInfo', $this->_userinfo);
// $pitcher = $userInfo['nickname'];
// 更新时间
$update_time = date('Y-m-d H:i:s', time());
$zl_data = [
'id' => $data['id'],
'Ttime' => $Ttime,
'company' => $company,
'project' => $project,
'area' => $area,
'channel' => $channel,
'channel_detail' => $channel_detail,
'consume' => $consume,
'add_fan' => $add_fan,
'cost' => $cost,
// 'pitcher' => $pitcher,
'update_time' => $update_time,
'home_page' => $home_page
];
$result = Db::name('zl_data')
->update($zl_data);
if ($result) {
$this->success("修改成功!");
}
} else {
$id = $this->request->param('id/d');
$ishas = Db::name('zl_data')->where('id', $id)->find();
if (empty($ishas)) {
$this->error('该信息不存在!');
}
// 根据公司名称查公司id
$companyid = Db::name('zl_company')->where('title', $ishas['company'])->value('id');
// 项目
$projectid = Db::name('zl_project')->where('title', $ishas['project'])->value('id');
// 地区
$areaid = Db::name('zl_area')->where('title', $ishas['area'])->value('id');
// 渠道
$channelid = Db::name('zl_channel')->where('title', $ishas['channel'])->value('id');
// // 详细渠道
$channeldetailid = Db::name('zl_channel_detail')->where('title', $ishas['channel_detail'])->value('id');
// // 币种
// $currencyid = Db::name('zl_currency')->where('title', $ishas['currency'])->value('id');
$data = [
'id' => $ishas['id'],
'Ttime' => $ishas['Ttime'],
'companyid' => $companyid,
'projectid' => $projectid,
'areaid' => $areaid,
'channelid' => $channelid,
'channeldetailid' => $channeldetailid,
'consume' => $ishas['consume'],
'add_fan' => $ishas['add_fan'],
'cost' => $ishas['cost'],
'home_page' => $ishas['home_page']
];
$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('zl_data')->where('id', $id)->find();
if ($ishas) {
Db::name('zl_data')
->where('id', $id)
->delete();
$this->success("删除成功!");
}
}
}