drawMoneyFee($request); break; case 'draw_money_list': return $this->drawMoneyTop($request); break; case 'money_log_list': return $this->moneyLog($request); break; case 'update_order_fail_number': return $this->updateOrderWallter($request); break; case 'create_key': return $this->createKey($request); break; } } /* * 计算提现手续费 */ public function drawMoneyFee($request) { //搜索费率 $draw_money = $request->input('draw_money'); $draw_type = $request->input('draw_type'); $max_fee = DrawSet::where('draw_type', $draw_type)->whereRaw('start_money <= ? and end_money >= ?', [$draw_money, $draw_money])->first(); $data['money'] = empty($max_fee) ? 0 : $max_fee['money']; //判断是否在这个范围,如果没有判断是否大于最多的那个end_money,如果大于,取得最后一个 if (empty($max_fee)) { //$data['money']=DrawSet::max('money');//最大的手续费 //如果没有设置的话,则按0.3%计算 $radio = config_cache('draw_config.draw_money_ratio'); $ratio = is_null($radio) || $radio == '' ? '0.3' : $radio; $data['money'] = $draw_money * $ratio / 100; } return $data; } public function drawMoneyTop($request) { $draw_money = DrawMoney::where(['merchant_id' => $this->getMerchantId()])->limit(10)->orderBy('id', 'desc')->get(); $data = []; if (count($draw_money) > 0) { foreach ($draw_money as $k => $v) { $v['status_name'] = $v->status_name; $data[] = $v; } } return $this->jsonFormat($data, $request); } public function moneyLog($request) { $draw_money = MerchantMoneyLog::where(['merchant_id' => $this->getMerchantId()])->limit(10)->orderBy('id', 'desc')->get(); $data = []; if (count($draw_money) > 0) { foreach ($draw_money as $k => $v) { $data[] = $v; } } return $this->jsonFormat($data, $request); } //未支付数量 public function updateOrderWallter($request) { //更新没有支付订单数量 $order_no_pay = Order::where(['merchant_id' => $this->getMerchantId(), 'pay_status' => 0])->count('id'); $r = MerchantWallet::where(['merchant_id' => $this->getMerchantId()])->update([ 'trans_fail_number' => $order_no_pay ]); $data['number'] = $order_no_pay; return $this->jsonFormat($data, $request); } public function jsonFormat($msg, $request) { if ($request->ajax()) { return response()->json(['error' => 0, 'data' => $msg]); } return (['error' => 0, 'data' => $msg]); } 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 shopList($name, Request $request) { $json = $request->input('json'); if ($json) { return $this->apiJson(new Shop(), 'shop', $request); } $this->setViewPath('shop', 'index'); return $this->display(['group_type' => $name,]); } 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) { $model = new ShopServer(); $model = $model->where('shop_id', $this->getShopId()); return $this->apiJson($model, '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) { $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; 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 = array(); $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); } 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]); } }