map($name); break; case 'area': return $this->area($request); break; case 'user': return $this->uerList($name, $request); break; case 'shop': return $this->shopList($name, $request); break; case 'shop_and_user': return $this->shopUserAndList($name, $request); break; case 'merchant': return $this->merchantList($name, $request); break; case 'create_key': return $this->createKey($request); break; case 'orderMp3': return $this->orderCheck($request); break; case 'draw': return $this->orderDraw($request); break; } } public function orderCheck() { //120 $vedio = []; $pay = Order::whereIn('pay_type', config('adconfig.guma_type'))->where('pay_status', 0)->where('status',0)->get(); $config_type=config('adconfig.pay_type'); $mp3_str=''; if (count($pay)) { foreach ($pay as $k => $v) { $str=$mp3_str.=$config_type[$v->pay_type].'充值'.$v->order_money.'元'; $data = [ 'type' => 'tns', 'spd' => '5', 'pit' => '5' , 'vol' => '5' , 'per' => '0' ,'tex'=>$str ]; $vedio[]=[ 'mp3'=>'http://tts.baidu.com/text2audio?lan=zh&per=4&spd=5&pit=5&type=tns&ie=UTF-8&text='.urlencode($str), 'msg'=>$str, 'error'=>0 ]; } } $data=[ 'error'=>0, 'msg'=>$mp3_str, 'data'=>$vedio ]; return response()->json($data); } public function orderDraw() { //120 $vedio = []; $pay = DrawMoney::where('status',0)->get(); $mp3_str=''; if (count($pay)) { foreach ($pay as $k => $v) { $str=$mp3_str.='商户提现'.$v->draw_money; $vedio[]=[ 'mp3'=>'http://tts.baidu.com/text2audio?lan=zh&per=4&spd=5&pit=5&type=tns&ie=UTF-8&text='.urlencode($str), 'msg'=>$str, 'error'=>0 ]; } } $data=[ 'error'=>0, 'msg'=>$mp3_str, 'data'=>$vedio ]; return response()->json($data); } public function createKey(Request $request) { if ($request->input('type_name') == 'appkey') { $number = date('YmdHis') . str_random(6); } if ($request->input('type_name') == 'token') { $number = str_random(32); } return response(['error' => 0, 'msg' => '生成成功', 'number' => $number]); } public function map($name) { $this->setViewPath('map', $name); return $this->display(); } public function area($request) { $input_type = $request->input('input_type', 'option'); $select_id = $request->input('select_id', ''); $list = Area::where('parent_id', $request->input('id', 0))->pluck('name', 'id')->toArray(); $html_str = ''; switch ($input_type) { case 'option': $html_str = ' '; foreach ($list as $k => $v) { $html_str .= ''; } return ['data' => $html_str]; break; } } protected function uerList($name, Request $request) { $json = $request->input('json'); if ($json) { return $this->apiJson(new User(), 'user', $request); } $this->setViewPath('user', 'index'); return $this->display(['group_type' => $name]); } protected function merchantList($name, Request $request) { $json = $request->input('json'); $level = $request->input('level'); if ($json) { if ($level == 2) { $level_arr = [ 1 ]; } else { $level_arr = [ 1, 2 ]; } return $this->apiJson((new Merchant())->whereIn('level', $level_arr), 'merchant', $request); } $this->setViewPath('merchant', 'index'); return $this->display(['group_type' => $name, 'level' => $level]); } protected function shopUserAndList($name, Request $request) { $json = $request->input('json'); if ($json) { return $this->apiJson(new Shop(), 'shop', $request); } $this->setViewPath('shop_and_user', 'index'); return $this->display(['group_type' => $name,]); } protected function shopServerList($name, Request $request) { $json = $request->input('json'); if ($json) { return $this->apiJson(new ShopServer(), 'shop_server', $request); } $this->setViewPath('shop_server', 'index'); return $this->display(['group_type' => $name]); } public function parseJson($type, $result) { $narr = []; switch ($type) { case 'user': foreach ($result as $k => $v) { $v['sex'] = config('adconfig.sex')[$v['sex']]; $v['thumb'] = picurl($v['thumb']); $v['type_name'] = config('adconfig.user_group')[$v['type']]; $narr[] = $v; } break; default: foreach ($result as $k => $v) { if (isset($v['thumb'])) { $v['thumb'] = picurl($v['thumb']); } $narr[] = $v; } break; } return $narr; } public function parseSearch($type, $request) { $search_arr = []; switch ($type) { case 'user': $name = $request->input('name', ''); $search_arr = [ 'type' => [ 'type' => '=', 'value' => $request->input('group_type') == 'all' ? '' : $request->input('group_type') ], 'name' => [ 'type' => 'likesql', 'value' => $name ? "nickname like '%" . $name . "%' or mobile like '%" . $name . "%' or real_name like '%" . $name . "%'" : "" ] ]; break; case 'merchant': $name = $request->input('name', ''); $search_arr = [ 'name' => [ 'type' => 'likesql', 'value' => $name ? "realname like '%" . $name . "%' or mobile like '%" . $name . "%' or realname like '%" . $name . "%'" : "" ] ]; break; break; } return $search_arr; } public function apiJson($model, $type, Request $request) { $offset = $request->input('page', 1); $pagesize = $request->input('limit', 1); $offset = ($offset - 1) * $pagesize; $order_id = $request->input('sort', 'id'); $order_type = $request->input('order', 'desc'); $debug = $request->input('debug', 0); $search_arr = $this->parseSearch($type, $request); $model = $model; $model = $this->searchKey($model, $search_arr, 2); $total = $model->count(); $result = $model->skip($offset)->orderBy($order_id, $order_type)->orderBy('id', 'desc')->take($pagesize)->get();; $narr = []; $narr = $this->parseJson($type, $result); $json = [ "status" => 1, 'code' => $total > 0 ? 0 : 1, 'msg' => $total > 0 ? '请求数据成功' : '暂无数据', 'count' => $total, 'data' => $narr ]; if ($debug) { return $this->jsonDebug($json); } return response()->json($json); } }