<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Redis; use App\Http\Requests; use App\Http\Page; use App\Http\Controllers\Controller; use App\Model\OrderModel; use App\Model\OrderReturnModel; use App\Model\OrderReturnItemsModel; use App\Model\PayLogModel; use App\Model\UserMainModel; use App\Model\ShippingModel; use DB; // 获取支付名称 function getPayName($order_id) { $payLog = PayLogModel::where(['order_id' => $order_id])->select('pay_name')->get(); if ($payLog->isEmpty()) return false; foreach ($payLog as $v) { $payName[] = $v->pay_name; } return implode(',', $payName); } // 获取交易员名称 function getSalesName($sale_id) { if (!$sale_id) return false; $user = DB::table('user_info')->where('userId', $sale_id)->select('name')->first(); return isset($user) ? $user->name : ''; } // 获取物流名称 function getShippingName($shipping_id) { $shipping = ShippingModel::where('shipping_id', $shipping_id)->select('shipping_name')->first(); return $shipping ? $shipping->shipping_name : ''; } class ReturnController extends Controller { // 页面用户、菜单信息 public function getPageInfo(Request $request) { $uri = '/' . $request->path(); if ($request->path() == '/') $uri = '/list'; $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; // 用户角色 $role = $perm->getUserRole($request); // 获取权限菜单 if ($role != 1) { $menus = $perm->getPermMenu($menus, $request->user->userId); } $userPerms = $perm->getUserAllPerms($request->user->userId, $role); // 用户权限 $data = [ 'header' => $request->user->header, 'uri' => $uri, 'username' => $username, 'useremail' => $useremail, 'menus' => $menus, 'userPerms' => $userPerms, 'role' => $role, ]; return $data; } // 联营退货列表 public function jointReturnList(Request $request) { $info = $this->ReturnList($request, 1); return view('returnlist', $info); } // 自营退货列表 public function selfReturnList(Request $request) { $info = $this->returnList($request, 2); return view('returnlist', $info); } // 退货申请列表 public function returnList(Request $request, $type) { $info = $this->getPageInfo($request); $info['title'] = $type == 1 ? '联营退货申请列表' : '自营退货申请列表'; $map['order_sn'] = $request->input('order_sn', ''); $map['sku_name'] = $request->input('sku_name', ''); $map['order_payment_mode'] = $request->input('order_payment_mode', ''); $map['apply_status'] = $request->input('apply_status', ''); $map['is_refund'] = $request->input('is_refund', ''); $map['time_start'] = $request->input('time_start', ''); $map['time_end'] = $request->input('time_end', ''); $map['order_goods_type'] = $type; // 类型 $map['sale_id'] = $request->input('sale_id', ''); // 非管理员、查看下级,只能看到自己的退货单 if ($info['role'] == 3) { $map['create_uid'] = $request->user->userId; } if (!empty($map['sale_id'])) { $map['create_uid'] = $map['sale_id']; } //获取订单列表 $url = Config('website.api_domain').'return/getReturnList'; $data['k1'] = time(); $data['k2'] = md5(md5($data['k1']).'fh6y5t4rr351d2c3bryi'); $data['p'] = $request->input('p', 1); // 当前页码 $data['size'] = 10; // 当前页条数 $data['map'] = $map; $response = json_decode(curlApi($url, $data), true); // 分页 $page = new Page($response['data']['count'], 10); $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $show = $page->show(); // 获取配送方式 $shippings = ShippingModel::get(); $ship_type = []; foreach ($shippings as $k => $v) { $ship_type[$v->shipping_id] = $v->shipping_name; } $info['shippings'] = $ship_type; $info['condition'] = $map; $info['list'] = $response['data']['data']; $info['count'] = $response['data']['count']; $info['page'] = $show; // $perm = new PermController; // $joint_kefu = $perm->getRoleUsers($request, '客服'); // $self_kefu = $perm->getRoleUsers($request, '自营客服'); // $info['sale_list'] = array_merge($joint_kefu, $self_kefu); $perm = new PermController; $sale_list = $perm->getUserByDepartmentId(Config('perm_args.sales_department_id')); // 获取所有的销售 $info['sale_list'] = $sale_list; return $info; } // 联营退货单导出 public function returnExport(Request $request) { $ReturnModel = new OrderReturnModel(); return $ReturnModel->export($request); } // 自营退货单导出 public function selfReturnExport(Request $request) { $ReturnModel = new OrderReturnModel(); return $ReturnModel->export($request); } // 退货详情 public function returnDetails(Request $request, $id) { $info = $this->getPageInfo($request); $OrderReturnModel = new OrderReturnModel(); $info['return'] = $OrderReturnModel->find($id); $info['returnItems'] = $OrderReturnModel->find($id)->hasManyReturnItems; $info['returnLog'] = $OrderReturnModel->find($id)->hasManyReturnLog; if ($info['return']['order_goods_type'] == 1) { $title = '联营订单'; $return_url = '/return_list'; } else { $title = '自营订单'; $return_url = '/self_return_list'; } $info['title'] = '订单退货详情'; $info['paths'] = [["title" => $title, "href" => '#'], ["title" => '退货申请列表', "href" => $return_url], ["title" => '订单退货详情', "href" => '#']]; return view('returnDetails', $info); } // 退货单审核 public function returnCheck(Request $request) { if ($request->isMethod('post')) { $OrderReturnModel = new OrderReturnModel(); return $OrderReturnModel->check($request); } } // 退货物流信息 public function returnShipping(Request $request) { if ($request->isMethod('post')) { $OrderReturnModel = new OrderReturnModel(); return $OrderReturnModel->shipping($request); } } }