Files
water-back/app/Api/Controllers/Area/IndexController.php
2023-01-11 16:54:44 +08:00

74 lines
1.7 KiB
PHP

<?php
namespace App\Api\Controllers\Area;
use App\Api\Controllers\Controller;
use App\Api\Resources\Area\AreaCodeCollection;
use App\Api\Resources\Area\AreaResource;
use App\Models\Area;
use App\Models\AreaCode;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Jason\Api\Api;
class IndexController extends Controller
{
/**
* Notes: 我管理的地区
*
* @Author: 玄尘
* @Date: 2023/1/11 15:37
*/
public function index()
{
$user = Api::user();
$areas = Area::query()
->whereHas('areaClerks', function ($q) {
$q->where('user_id', Api::userId());
})
->get();
return $this->success(AreaResource::collection($areas));
}
/**
* Notes: 查看管理的提货码
*
* @Author: 玄尘
* @Date: 2023/1/11 15:42
* @param Area $area
*/
public function codes(Area $area, Request $request)
{
$status = $request->status ?? '';
$codes = $area->areaCodes()
->when($status, function ($q) use ($status) {
$q->where('status', $status);
})
->paginate();
return $this->success(new AreaCodeCollection($codes));
}
/**
* Notes: 生成提货码
*
* @Author: 玄尘
* @Date: 2023/1/11 15:52
* @param Area $area
* @param Request $request
* @return JsonResponse|mixed
*/
public function generate(Area $area, Request $request)
{
$res = $area->generate(Api::userId(), $request->num);
if ($res === true) {
return $this->success('生成成功');
} else {
return $this->failed($res);
}
}
}