123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Filters\CardRidingUserBagsFilter;
- use App\Http\Resources\CardRidingUseLogResource;
- use App\Http\Resources\CardRidingUserBagsResource;
- use App\Models\AdminUser;
- use App\Models\AdminUserArea;
- use App\Models\Area;
- use App\Models\CardRidingUseLog;
- use App\Models\CardRidingUserBags;
- use App\Utils\Admin;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- /**
- * Class CardRidingUserBagsController
- * @package App\Http\Controllers\Admin
- */
- class CardRidingUserBagsController extends Controller
- {
- /**
- * index 用户骑行卡列表
- *
- * @param Request $request
- * @param CardRidingUserBagsFilter $filter
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function index(Request $request, CardRidingUserBagsFilter $filter)
- {
- $admin_id = Admin::user()->id;
- $card = CardRidingUserBags::query()
- ->filter($filter)
- ->orderByDesc('id')
- ->orderByDesc('status');
- if (!Admin::isAdministrator()) {
- $area_ids = AdminUser::getAreaIdsByAdminId($admin_id);
- if (count($area_ids) !== 0) {
- $card = $card->whereHas('users', function ($query) use ($area_ids) {
- $query->whereIn('register_area_id', $area_ids);
- });
- } else {
- $area = AdminUserArea::query()->where('admin_id', $admin_id)->first();
- $area_id = $area->area_id ?? 0;
- $card = $card->whereHas('users', function ($query) use ($area_id) {
- $query->whereIn('register_area_id', $area_id);
- });
- }
- }
- $card = $request->get('all') ? $card->all() : $card->paginate();
- return $this->ok(CardRidingUserBagsResource::collection($card));
- }
- /**
- * cardLogs 用卡记录
- *
- * @param Request $request
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function cardLogs(Request $request)
- {
- $card_id = $request->get('card_id') ?? '';
- if (empty($card_id)) return $this->error('参数错误');
- $cardUseLogs = CardRidingUseLog::query()
- ->where('card_riding_user_bags_id', $card_id)
- ->paginate();
- return $this->ok(CardRidingUseLogResource::collection($cardUseLogs));
- }
- }
|