74 lines
1.7 KiB
PHP
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);
|
|
}
|
|
}
|
|
|
|
}
|