|
@@ -227,4 +227,43 @@ class ProjectService
|
|
|
],
|
|
|
];
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取项目参数设置
|
|
|
+ *
|
|
|
+ * 业务流程:
|
|
|
+ * 1. 验证项目开通状态
|
|
|
+ * 2. 获取项目设置
|
|
|
+ * 3. 返回格式化结果
|
|
|
+ *
|
|
|
+ * @param CoachUser $coach 技师对象
|
|
|
+ * @param int $projectId 项目ID
|
|
|
+ * @return array 项目设置,包含:
|
|
|
+ * - project_id: int 项目ID
|
|
|
+ * - project_name: string 项目名称
|
|
|
+ * - settings: array 设置值
|
|
|
+ * - voucher: string 代金券金额
|
|
|
+ * - gender: int 顾客性别设置
|
|
|
+ * - traffic_fee_type: int 交通费类型
|
|
|
+ * @throws \Illuminate\Http\Exceptions\HttpResponseException 当项目未开通时抛出异常
|
|
|
+ */
|
|
|
+ public function getProjectSettings(CoachUser $coach, int $projectId): array
|
|
|
+ {
|
|
|
+ // 获取并验证已开通的项目
|
|
|
+ $coachProject = $this->getValidatedCoachProject($coach, $projectId);
|
|
|
+
|
|
|
+ // 获取项目基本信息
|
|
|
+ $project = Project::findOrFail($projectId);
|
|
|
+
|
|
|
+ // 返回格式化的设置
|
|
|
+ return [
|
|
|
+ 'project_id' => $projectId,
|
|
|
+ 'project_name' => $project->title,
|
|
|
+ 'settings' => [
|
|
|
+ 'voucher' => $coachProject->discount_amount,
|
|
|
+ 'gender' => $coachProject->service_gender,
|
|
|
+ 'traffic_fee_type' => $coachProject->traffic_fee_type,
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|