model = new ApplyRecord(); } /** * 浏览 * @return Response */ public function index(): Response { return view('applyrecord/index'); } /** * 更新 * @param Request $request * @return Response * @throws BusinessException */ public function update(Request $request): Response { if ($request->method() === 'POST') { return parent::update($request); } return view('applyrecord/update'); } /**查询收银余额 * @param Request $request * @return Response */ public function select(Request $request): Response { $param = $request->all(); $data = ApplyRecord::query()->where(function ($query) use ($param) { if (Arr::get($param, 'created_at.0') && Arr::get($param, 'created_at.1')) { $query->whereBetween('created_at', [$param['created_at'][0], $param['created_at'][1]]); } elseif (Arr::get($param, 'created_at.0')) { $query->where('created_at', '>=', $param['created_at'][0]); } elseif (Arr::get($param, 'created_at.1')) { $query->where('created_at', '<=', $param['created_at'][1]); } if (Arr::get($param, 'status')) { $query->where('status', $param['status']); } if (Arr::get($param, 'type')) { $query->where('type', $param['type']); } if (Arr::get($param, 'id')) { $query->where('id', $param['id']); } })->whereExists(function ($query) use ($param) { $query->from('wa_users')->whereRaw('wa_users.id=wa_apply_record.uid'); if (Arr::get($param, 'user_name')) { $query->where('name', 'like', '%' . $param['user_name'] . '%'); } if (Arr::get($param, 'mobile')) { $query->where('mobile', 'like', '%' . $param['mobile'] . '%'); } }) ->with('userData:id,name,mobile'); if (Arr::get($param, 'field')) { $order = 'asc'; if (Arr::get($param, 'order')) { $order = 'desc'; } $data = $data->orderBy($param['field'], $order); } else { $data = $data->orderByDesc('id'); } $data = $data->paginate(Arr::get($param, 'limit', 10))->toArray(); $arr = []; foreach ($data['data'] as $k => $v) { $arr[] = [ 'id' => $v['id'], 'user_name' => $v['user_data']['name'], 'user_mobile' => $v['user_data']['mobile'], 'money' => $v['money'], 'type' => $v['type'], 'name' => $v['name'], 'mobile' => $v['mobile'], 'card_number' => $v['card_number'], 'status' => $v['status'], 'created_at' => $v['created_at'], 'certificate_img' => $v['certificate_img'], 'scale' => $v['scale'], 'address' => $v['province'] . $v['address'] ]; } return json(['code' => 0, 'data' => $arr, 'msg' => 'ok', 'count' => $data['total']]); } /** 批量通过 * @param Request $request * @return Response */ public function pass(Request $request): Response { try { $param = $request->all(); Validator::input($param, [ 'id' => Validator::notEmpty()->ArrayType()->setName('标识'), ]); $applyRecordModel = ApplyRecord::query(); foreach ($param['id'] as $k => $v) { Db::beginTransaction(); try { $system = Db::table('wa_system')->first(); $has = (clone $applyRecordModel)->where('id', $v)->lock(true)->first(); if (empty($has)) { throw new \Exception('申请数据不存在!'); } if ($has->status != 1) { throw new \Exception('申请数据已经处理!'); } if ($has && $has->status == 1) { StreamBusiness::addStream($has->uid, $has->money, streamType15, moldType1, moldTypefild1, $v); $has->status = 2; $has->updated_at = date('Y-m-d H:i:s'); $has->save(); } else { throw new \Exception('已处理请不要重复提交!'); } Db::commit(); } catch (\Throwable $exception) { Db::rollBack(); throw new \Exception($exception->getMessage()); } } } catch (\Throwable $exception) { return $this->fail($exception->getMessage()); } return $this->success(); } /** 批量发布 * @param Request $request * @return Response */ public function release(Request $request): Response { try { $param = $request->all(); Validator::input($param, [ 'id' => Validator::notEmpty()->ArrayType()->setName('标识'), ]); $signRecordModel = ApplyRecord::query(); foreach ($param['id'] as $k => $v) { Db::beginTransaction(); try { $has = (clone $signRecordModel)->where('id', $v)->lock(true)->first(); if (empty($has)) { throw new \Exception('申请数据不存在!'); } if ($has->status == 4) { throw new \Exception('申请数据已经发货!'); } if ($has && $has->status == 2) { $has->status = 4; $has->updated_at = date('Y-m-d H:i:s'); $has->save(); } else { throw new \Exception('已处理请不要重复提交!'); } Db::commit(); } catch (\Throwable $exception) { Db::rollBack(); throw new \Exception($exception->getMessage()); } } } catch (\Throwable $exception) { return $this->fail($exception->getMessage()); } return $this->success(); } /** 批量驳回 * @param Request $request * @return Response */ public function reject(Request $request): Response { try { $param = $request->all(); Validator::input($param, [ 'id' => Validator::notEmpty()->ArrayType()->setName('标识'), ]); $applyRecordModel = ApplyRecord::query(); foreach ($param['id'] as $k => $v) { Db::beginTransaction(); try { $has = (clone $applyRecordModel)->where('id', $v)->lock(true)->first(); if (empty($has)) { throw new \Exception('暂无数据'); } if ($has->status != 1) { throw new \Exception('已被审核!'); } $has->status = 3; $has->save(); } catch (\Throwable $exception) { Db::rollBack(); throw new \Exception($exception->getMessage()); } Db::commit(); } } catch (\Throwable $exception) { return $this->fail($exception->getMessage()); } return $this->success(); } }