service = $service; } /** * [项目]获取可开通项目列表 * * @description 获取技师可以开通的项目列表 * * @authenticated * * @response { * "data": { * "items": [ * { * "id": 1, * "name": "精油推拿", * "cover": "http://example.com/cover.jpg", * "price": "188.00", * "duration": 60, * "description": "项目描述", * "qualification_requirements": "资质要求" * } * ], * "total": 10 * } * } */ public function getAvailableProjects() { return $this->success($this->service->getAvailableProjects(Auth::user()->id)); } /** * [项目]开通项目 * * @description 技师开通新的服务项目 * * @authenticated * * @bodyParam project_id integer required 项目ID Example: 1 * * @response { * "message": "项目开通成功", * "project_id": 1, * "project_name": "精油推拿" * } */ public function openProject(Request $request) { $data = $request->validate([ 'project_id' => 'required|integer|exists:project,id', ]); return $this->success($this->service->openProject(Auth::user()->id, $data)); } /** * [项目]项目设置 * * @description 设置技师已开通项目的相关参数 * * @authenticated * * @bodyParam project_id integer required 项目ID Example: 1 * @bodyParam voucher numeric 代金卷金额(0-10元) Example: 5.00 * @bodyParam gender integer 顾客性别(0:不限 1:男 2:女) Example: 0 * @bodyParam traffic_fee integer 路费类型(0:免费 1:单程 2:双程) Example: 2 * * @response { * "message": "项目设置更新成功", * "project_id": 1, * "settings": { * "voucher": "5.00", * "gender": 0, * "traffic_fee": 2, * } * } */ public function setProject(Request $request) { $data = $request->validate([ 'project_id' => 'required|integer|exists:project,id', 'voucher' => 'nullable|numeric|min:0|max:10', 'gender' => 'nullable|integer|in:0,1,2', 'traffic_fee' => 'nullable|integer|in:0,1,2', ]); return $this->success($this->service->setProject(Auth::user()->id, $data)); } }