Manager(Api::userId()) // ->whereHas('areaClerks', function ($q) { // $q->where('user_id', Api::userId()); // }) ->get(); return $this->success(AreaResource::collection($areas)); } /** * Notes: 查看库存量 * * @Author: 玄尘 * @Date: 2023/1/16 11:19 * @return JsonResponse|mixed */ public function show() { $area = Area::query() ->Manager(Api::userId()) ->first(); if (! $area) { return $this->failed('您没有管理的区域无法查看'); } $codes = $area->areaCodes()->latest()->paginate(); $release = $area->areaCodes()->count(); $data = [ 'count' => [ 'all' => $area->stocks()->sum('amount'), 'stock' => $area->stock, 'release' => $release, 'unrelease' => bcsub($area->stock, $release), ], 'codes' => new AreaCodeCollection($codes) ]; return $this->success($data); } /** * Notes: 查看管理的提货码 * * @Author: 玄尘 * @Date: 2023/1/11 15:42 * @param Request $request * @return JsonResponse|mixed */ public function codes(Request $request) { $status = $request->status ?? ''; $area = Area::query() ->Manager(Api::userId()) ->first(); if (! $area) { return $this->failed('您没有管理的区域无法查看'); } $codes = $area->areaCodes() ->when($status, function ($q) use ($status) { $q->where('status', $status); }) ->paginate(); $data = [ 'count' => [ 'all' => $area->areaCodes()->count(), 'get' => $area->areaCodes()->where('status', AreaCode::STATUS_USED)->count(), 'pick' => $area->areaCodes()->where('status', AreaCode::STATUS_SIGN)->count(), ], 'lists' => new AreaCodeCollection($codes), ]; return $this->success($data); } /** * Notes: 生成提货码 * * @Author: 玄尘 * @Date: 2023/1/11 15:52 * @param Area $area * @param Request $request * @return JsonResponse|mixed */ public function generate(Request $request) { $area = Area::query() ->Manager(Api::userId()) ->first(); if (! $area) { return $this->failed('您没有管理的区域无法查看'); } $res = $area->generate(Api::userId(), $request->num); if ($res === true) { return $this->success('生成成功'); } else { return $this->failed($res); } } }