$vo){ $v = is_string($vo) ? substr($vo, 1, 1) : $vo; // 每个时间段的订单 $order_num = $rldb ->where('kf_id', $kf_id) ->where('date', '>=', strtotime($now_date.' '. $vo < 10 ? '0' . $v .':00:00' : $vo . ':00:00')) ->where('date', '<', strtotime($now_date.' '.$vo < 10 ? '0' . ($v + 1) .':00:00' : ($vo + 1) . ':00:00')) ->count(); // 每个时间段的金币 $money_total = $rldb ->where('kf_id', $kf_id) ->where('date', '>=', strtotime($now_date.' '. $vo < 10 ? '0' . $v .':00:00' : $vo . ':00:00')) ->where('date', '<', strtotime($now_date.' '.$vo < 10 ? '0' . ($v + 1) .':00:00' : ($vo + 1) . ':00:00')) ->sum('money'); $line[$vo]['is_talking'] = 0; $line[$vo]['order_num'] = isset($line[$vo]['order_num']) ? $line[$vo]['order_num'] + $order_num : $order_num; $line[$vo]['money_total'] = isset($line[$vo]['money_total']) ? $line[$vo]['money_total'] + $money_total : $money_total; } // 对时间线进行赋值 $where['kf_id'] = $kf_id; $where['start_time'] = ['egt', strtotime($now_date)]; $dbData = $sldb->where($where)->select(); // 今日会话量 $data['success_in'] = count($dbData); // 总计会话量 $data['reception_total'] = $sldb->where('kf_id', $kf_id)->count(); // 订单数量 $data['order_num'] = $rldb->where('kf_id', $kf_id)->where('date', '>=', strtotime($now_date))->count(); $data['order_num_total'] = $rldb->where('kf_id', $kf_id)->count(); // 充值金额 $data['money_total'] = $rldb->where('kf_id', $kf_id)->where('date', '>=', strtotime($now_date))->sum('money'); $data['money_total_total'] = $rldb->where('kf_id', $kf_id)->sum('money'); // var_dump($line); foreach($dbData as $k=>$v){ // 结束时间 if ($v['end_time'] == 0) { $data['is_talking'] += 1; } $date_list = getdate($v['start_time']); $v['add_hour'] = $date_list['hours']; $check_is_time_line = array_key_exists($v['add_hour'], $line); if(!$check_is_time_line) continue; $line[$v['add_hour']]['is_talking'] += 1; } $showData = []; foreach($line as $key=>$vo){ $showData['is_talking'][] = $vo['is_talking']; $showData['order_num'][] = $vo['order_num']; $showData['money_total'][] = $vo['money_total']; } // dump($line);return; $this->assign([ 'data' => $data, 'show_data' => json_encode($showData) ]); return $this->fetch('index'); } /** * 入账列表 */ public function incomeList() { $mdb = db('money_log'); $kf_id = session('l_user_id'); // 返回视图 if(!request()->isAjax()) return $this->fetch('chart/incomeList'); // 分页请求 $param = input('get.'); // 查询条件 $where = ['passivity' => "k_{$kf_id}", 'type' => 1]; //获取总条数 $count = $mdb->count(); // $count=count($list); //获取每页显示的条数 $limit = $param['limit']; //获取当前页数 $page = $param['page']; //计算出从那条开始查询 $start = ($page-1)*$limit; $list = $mdb ->where($where) ->limit($start, $limit) ->order('date desc') ->select(); // 对列表进行处理 foreach ($list as &$vo) { // 在线状态 $vo['date'] = date('Y-m-d', strtotime($vo['date'])); $vo['type_name'] = $vo['type'] == 1 ? '入账+' : '出账-'; } $result = resultJson(0, '获取成功', $list); $result['count'] = $count; return $result; } /** * 出账列表 */ public function expenditureList() { $mdb = db('recharge_log'); $ptdb = db('payment_type'); $kf_id = session('l_user_id'); // 返回视图 if(!request()->isAjax()) return $this->fetch('chart/expenditureList'); // 分页请求 $param = input('get.'); // 查询条件 $where = ['kf_id' => $kf_id, 'status' => 1]; //获取总条数 $count = $mdb->count(); // $count=count($list); //获取每页显示的条数 $limit = $param['limit']; //获取当前页数 $page = $param['page']; //计算出从那条开始查询 $start = ($page-1)*$limit; $list = $mdb ->where($where) ->limit($start, $limit) ->order('date desc') ->select(); // 支付类型 $pay_type = $ptdb->where('status', 1)->select(); $pay_type_arr = []; foreach ($pay_type as $vo) { $pay_type_arr[$vo['id']] = $vo['type_name']; } // 对列表进行处理 foreach ($list as &$vo) { // 在线状态 $vo['date'] = date('Y-m-d', $vo['date']); $vo['type_name'] = '出账-'; $uinfo = json_decode($vo['u_data'], true); $vo['user_info'] = "用户名: {$uinfo['user_name']}, 用户id: {$vo['u_id']}"; $vo['pay_type_name'] = isset($pay_type_arr[$vo['pay_type']]) ? $pay_type_arr[$vo['pay_type']] : '暂无'; } $result = resultJson(0, '获取成功', $list); $result['count'] = $count; return $result; } }