123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- <?php
- namespace App\Http\Controllers\Admin;
- use App\Filters\CardRidingFilter;
- use App\Http\Requests\CardRidingRequest;
- use App\Http\Resources\CardRidingResource;
- use App\Models\CardRiding;
- use App\Utils\Admin;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Log;
- class CardRidingController extends Controller
- {
- /**
- * index 骑行卡列表
- *
- * @param Request $request
- * @param CardRidingFilter $cardRidingFilter
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function index(Request $request, CardRidingFilter $cardRidingFilter)
- {
- //
- $admin_id = Admin::user()->id;
- $ridingCard = CardRiding::query()
- ->filter($cardRidingFilter)
- ->with(['areaRidingCard'])
- ->orderByDesc('id');
- if(!Admin::isAdministrator()){
- $ridingCard = $ridingCard->where('admin_id',$admin_id)->orWhere('admin_id',1);
- }
- $ridingCard = $request->get('all') ? $ridingCard->get() : $ridingCard->paginate();
- return $this->ok(CardRidingResource::collection($ridingCard));
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return \Illuminate\Http\Response
- */
- public function create()
- {
- //
- }
- /**
- * store 添加骑行卡
- *
- * @param CardRidingRequest $ridingCardRequest
- * @param CardRiding $cardRiding
- * @return \Illuminate\Http\Response
- * @author Fx
- *
- */
- public function store(CardRidingRequest $ridingCardRequest, CardRiding $cardRiding)
- {
- //
- $admin_id = Admin::user()->id;
- $inputs = $ridingCardRequest->validated();
- if($inputs['is_limit_times'] == CardRiding::LIMIT_TIMES_NO){
- // 不限次设为0
- $inputs['times'] = 0;
- }
- if($inputs['is_discount'] == CardRiding::DISCOUNT_NO){
- // 无折扣设为1.00
- $inputs['discount'] = 1.00;
- }
- $inputs['admin_id'] = $admin_id;
- $cardRiding = $cardRiding->create($inputs);
- if(!empty($areas = $inputs['areas'] ?? [])){
- $cardRiding->areaRidingCard()->attach($areas);
- }
- return $this->create(CardRidingResource::make($cardRiding));
- }
- /**
- * Display the specified resource.
- *
- * @param int $id
- * @return \Illuminate\Http\Response
- */
- public function show($id)
- {
- //
- }
- /**
- * edit 编辑骑行卡
- *
- * @param CardRiding $cardRiding
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function edit(CardRiding $cardRiding)
- {
- //
- $cardRiding->load(['areaRidingCard']);
- return $this->ok(CardRidingResource::make($cardRiding));
- }
- /**
- * update 更新骑行卡
- *
- * @param CardRidingRequest $ridingCardRequest
- * @param CardRiding $cardRiding
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function update(CardRidingRequest $ridingCardRequest, CardRiding $cardRiding)
- {
- //
- $admin_id = Admin::user()->id;
- $inputs = $ridingCardRequest->validated();
- if($admin_id !==1){
- if($admin_id !== $cardRiding->admin_id){
- return $this->error('暂无权限');
- }
- }
- if($inputs['is_limit_times'] == CardRiding::LIMIT_TIMES_NO){
- // 不限次设为0
- $inputs['times'] = 0;
- }
- if($inputs['is_discount'] == CardRiding::DISCOUNT_NO){
- // 无折扣设为1.00
- $inputs['discount'] = 1.00;
- }
- // Log::info($inputs);
- $cardRiding->update($inputs);
- if(isset($inputs['areas'])){
- $cardRiding->areaRidingCard()->sync($inputs['areas']);
- }
- return $this->created(CardRidingResource::make($cardRiding));
- }
- /**
- * destroy 删除骑行卡
- *
- * @param CardRiding $ridingCard
- * @return \Illuminate\Http\JsonResponse
- * @author Fx
- *
- */
- public function destroy(CardRiding $ridingCard)
- {
- //
- $ridingCard->delete();
- return $this->noContent();
- }
- }
|