<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Requests; use App\Http\Controllers\Controller; use DB; use Cookie; use App\Http\Page; use App\Http\Controllers\PermController; function CheckActive($menus, &$arr, $url) { for ($i = 0; $i < count($menus); $i++) { $menu = $menus[$i]; array_push($arr, $i); if (isset($menu->href) && ($menu->href == $url || ($menu->href == '/' && $url == '//'))) return true; if (isset($menu->childs) && count($menu->childs) > 0) { $ret = CheckActive($menu->childs, $arr, $url); if ($ret) return $ret; } array_pop($arr); } return false; } function createMenuReal($menus, $active, $level) { $subclass = ($level == 0) ? 'nav-second-level' : 'nav-third-level'; $ret = ''; for ($ii = 0; $ii < ($level == 0 ? 1 : 2); $ii++) { for ($i = 0; $i < count($menus); $i++) { $menu = $menus[$i]; $act = (count($active) > $level && $active[$level] == $i) ? true : false; $actclass = $act ? ' class="active"' : ''; $actmenu = $act ? ' in': ''; if (isset($menu->childs) && count($menu->childs) > 0) { if ($ii != 0 && $level > 0) continue; $ret .= '<li' . $actclass . '><a><i class="' . $menu->class . '"></i><span class="nav-label">' . $menu->title . '</span><span class="fa arrow"></span></a>' . '<ul class="nav ' . $subclass . ' collapse' . $actmenu . '">' . createMenuReal($menu->childs, $act ? $active : [], $level + 1) . '</ul></li>'; } else { if ($ii != 1 && $level > 0) continue; $ret .= '<li' . $actclass . '><a href="'. $menu->href . '"><i class="' . $menu->class . '"></i><span class="nav-label">' . $menu->title . '</span></a></li>'; } } } return $ret; } function createMenu($menus, $url) { $actives = []; $ret = CheckActive($menus, $actives, $url); if (!$ret) $actives = []; return createMenuReal($menus, $actives, 0); } Class OrderCountController extends Controller { // 页面用户、菜单信息 public function getPageInfo(Request $request) { $uri = '/' . $request->path(); $username = $request->user->email; $useremail= $request->user->email; // 菜单 $menuconfig = DB::table('config')->where('config_title', '订单系统')->first(); $menus = []; if ($menuconfig && !($menus = json_decode($menuconfig->config_data))) $menus = []; $perm = new PermController; // 获取权限菜单 if ($request->user->email != 'admin@ichunt.com' && $request->user->userId != 1000) $menus = $perm->getPermMenu($request, $menus); $data = [ 'header' => $request->user->header, 'uri' => $uri, 'username' => $username, 'useremail' => $useremail, 'menus' => $menus, ]; return $data; } /** * 订单数统计 */ public function count(Request $request, $type = 1, $view = 'count') { $info = $this->getPageInfo($request); $url = Config('website.api_domain').'order/orderCount'; $data['k1'] = time(); $data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi'); $resData = array("pf"=>1, "k1"=>$data['k1'], "k2"=>$data['k2'], 'type'=>$type); $temp = json_decode(curlApi($url,$resData,"POST"), true); $info['count'] = $temp['data']; return view($view, $info); } /** * 金额统计 -- 订单列表 */ public function amount(Request $request, $type = 1, $view = 'amount') { $info = $this->getPageInfo($request); $time_start = $request->input('time_start', ''); // 开始时间 $time_end = $request->input('time_end', ''); // 结束时间 // 今日开始、结束时间 $time_today_start = strtotime(date('Y-m-d')); $time_today_end = strtotime(date('Y-m-d',time()+3600*24))-1; $map['time_start'] = $time_start = !empty($time_start) ? $time_start : $time_today_start; $map['time_end'] = $time_end = !empty($time_end) ? $time_end : $time_today_end; $map['checkTime'] = $checkTime = $request->input('checkTime', '1'); // 默认选择订单付款时间 $map['checkStatus'] = $checkStatus = $request->input('checkStatus', '1'); // 默认选择查询全部 $map['order_goods_type'] = $type; // 竞调账号 if ($info['username'] != 'vpadmin@ichunt.com') { $map['is_fake'] = 0; } // 调用API $url = Config('website.api_domain').'order/getAllOrder'; $data['k1'] = time(); $data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi'); $data['p'] = isset($_REQUEST['p']) ? $_REQUEST['p'] : 1; // 当前页码 $data['map'] = $map; $response = json_decode(curlApi($url, $data), true); // 调用接口 // API返回 if ($response['err_code'] == 0) { $count = $response['data']['count']; $pay_count = $response['data']['pay_count']; if($count > 0){ $pageSize = 10; $page = new Page($count, $pageSize); $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $info['count'] = $count; $info['page'] = $page->show(); } $info['list'] = $response['data']['data']; $info['pay_count'] = $response['data']['pay_count']; } $info['checkTime'] = $checkTime; $info['checkStatus'] = $checkStatus; $info['time_start'] = $time_start; $info['time_end'] = $time_end; return view($view, $info); } // 自营订单统计 public function selfCount(REQUEST $request) { return $this->count($request, 2, 'self_count'); } // 自营订单金额统计 public function selfAmount(REQUEST $request) { return $this->amount($request, 2, 'self_amount'); } }