|
@@ -7,6 +7,11 @@ use App\Services\Client\OrderService;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
|
|
+/**
|
|
|
+ * @group 用户端-订单管理
|
|
|
+ *
|
|
|
+ * 订单相关的API接口
|
|
|
+ */
|
|
|
class OrderController extends Controller
|
|
|
{
|
|
|
protected OrderService $service;
|
|
@@ -19,18 +24,18 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 订单初始化
|
|
|
*
|
|
|
- * @description 初始化订单
|
|
|
+ * 初始化订单
|
|
|
*
|
|
|
- * @bodyParam coach_id int required 技师ID Example: 1
|
|
|
- * @bodyParam area_code string required 区划代码 Example: 370602
|
|
|
- * @bodyParam project_id int required 项目ID Example: 1
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 1
|
|
|
+ * @bodyParam area_code string required 区划代码. Example: 370602
|
|
|
+ * @bodyParam project_id int required 项目ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function initialize(Request $request)
|
|
|
{
|
|
@@ -42,14 +47,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 创建订单
|
|
|
*
|
|
|
- * @description 创建订单
|
|
|
+ * 创建订单
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
*
|
|
|
- * @bodyParam project_id int required 项目ID Example: 1
|
|
|
- * @bodyParam address_id int required 地址ID Example: 1
|
|
|
- * @bodyParam coach_id int required 技师ID Example: 6
|
|
|
- * @bodyParam use_balance boolean 使用余额 Example: false
|
|
|
- * @bodyParam service_time datetime required 服务时间 Example: 2024-01-01 10:00:00
|
|
|
- * @bodyParam order_id int 订单ID Example: null
|
|
|
+ * @bodyParam project_id int required 项目ID. Example: 1
|
|
|
+ * @bodyParam address_id int required 地址ID. Example: 1
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 6
|
|
|
+ * @bodyParam use_balance boolean 使用余额. Example: false
|
|
|
+ * @bodyParam service_time datetime required 服务时间. Example: 2024-01-01 10:00:00
|
|
|
+ * @bodyParam order_id int 订单ID. Example: null
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
@@ -66,16 +73,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 结束订单
|
|
|
*
|
|
|
- * @description 结束订单
|
|
|
+ * 结束订单
|
|
|
*
|
|
|
- * @bodyParam order_id int required 订单ID Example: 1
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam order_id int required 订单ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function finish(Request $request)
|
|
|
{
|
|
@@ -88,16 +95,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 确认技师离开
|
|
|
*
|
|
|
- * @description 确认技师离开
|
|
|
+ * 确认技师离开
|
|
|
*
|
|
|
- * @bodyParam order_id int required 订单ID Example: 123
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam order_id int required 订单ID. Example: 123
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function confirmLeave(Request $request)
|
|
|
{
|
|
@@ -110,16 +117,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 取消订单
|
|
|
*
|
|
|
- * @description 取消订单
|
|
|
+ * 取消订单
|
|
|
*
|
|
|
- * @bodyParam order_id int required 订单ID Example: 123
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam order_id int required 订单ID. Example: 123
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function cancel(Request $request)
|
|
|
{
|
|
@@ -132,14 +139,14 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 获取订单列表
|
|
|
*
|
|
|
- * @description 获取订单列表
|
|
|
+ * 获取订单列表
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": []
|
|
|
* }
|
|
|
- *
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function list()
|
|
|
{
|
|
@@ -149,17 +156,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 获取订单详情
|
|
|
*
|
|
|
- * @description 获取订单详情
|
|
|
+ * 获取订单详情
|
|
|
*
|
|
|
- * @urlParam id required 订单ID Example: 123
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @urlParam id required 订单ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @param int $id
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function detail($id)
|
|
|
{
|
|
@@ -169,15 +175,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 订单退款
|
|
|
*
|
|
|
- * @description 订单退款
|
|
|
+ * 订单退款
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @urlParam id required 订单ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
|
* "data": {}
|
|
|
* }
|
|
|
- *
|
|
|
- * @param int $id
|
|
|
- * @return \Illuminate\Http\JsonResponse
|
|
|
*/
|
|
|
public function refund($id)
|
|
|
{
|
|
@@ -187,15 +194,17 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 获取代理商配置
|
|
|
*
|
|
|
- * @description 获取代理商配置
|
|
|
+ * 获取代理商配置
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam agent_id int required 代理商ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "min_distance": 0,
|
|
|
* "min_fee": 0,
|
|
|
* "per_km_fee": 0
|
|
|
* }
|
|
|
- *
|
|
|
- * @return array
|
|
|
*/
|
|
|
public function getAgentConfig(Request $request)
|
|
|
{
|
|
@@ -207,14 +216,16 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 获取技师配置
|
|
|
*
|
|
|
- * @description 获取技师配置
|
|
|
+ * 获取技师配置
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "delivery_fee_type": "round_trip",
|
|
|
* "charge_delivery_fee": true
|
|
|
* }
|
|
|
- *
|
|
|
- * @return array
|
|
|
*/
|
|
|
public function getCoachConfig(Request $request)
|
|
|
{
|
|
@@ -226,13 +237,19 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 计算路费金额
|
|
|
*
|
|
|
- * @description 计算路费金额
|
|
|
+ * 计算路费金额
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 1
|
|
|
+ * @bodyParam agent_id int 可选 代理商ID. Example: 1
|
|
|
+ * @bodyParam distance float required 距离. Example: 10.5
|
|
|
+ * @bodyParam latitude float 纬度. Example: 34.0522
|
|
|
+ * @bodyParam longitude float 经度. Example: -118.2437
|
|
|
*
|
|
|
* @response {
|
|
|
- * "fee": 0
|
|
|
+ * "fee": 15.75
|
|
|
* }
|
|
|
- *
|
|
|
- * @return float
|
|
|
*/
|
|
|
public function calculateDeliveryFee(Request $request)
|
|
|
{
|
|
@@ -245,14 +262,22 @@ class OrderController extends Controller
|
|
|
if ($agentId) {
|
|
|
return $this->service->calculateDeliveryFee($coachId, $agentId, $distance);
|
|
|
} else {
|
|
|
- // return $this->service->calculateDeliveryFeeByLocation($coachId, $latitude, $longitude, $distance);
|
|
|
+ return $this->service->calculateDeliveryFeeByLocation($coachId, $latitude, $longitude, $distance);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* [订单管理] 计算订单金额
|
|
|
*
|
|
|
- * @description 计算订单金额
|
|
|
+ * 计算订单金额
|
|
|
+ *
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @bodyParam address_id int required 地址ID. Example: 1
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 1
|
|
|
+ * @bodyParam project_id int required 项目ID. Example: 1
|
|
|
+ * @bodyParam agent_id int 代理商ID. Example: 1
|
|
|
+ * @bodyParam use_balance boolean 使用余额. Example: 0
|
|
|
*
|
|
|
* @response {
|
|
|
* "total_amount": 0,
|
|
@@ -263,12 +288,10 @@ class OrderController extends Controller
|
|
|
* "project_amount": 0,
|
|
|
* "delivery_fee": 0
|
|
|
* }
|
|
|
- *
|
|
|
- * @return array
|
|
|
*/
|
|
|
public function calculateOrderAmount(Request $request)
|
|
|
{
|
|
|
- $userId = Auth::id();
|
|
|
+ $userId = Auth::user()->id;
|
|
|
$addressId = $request->input('address_id');
|
|
|
$coachId = $request->input('coach_id');
|
|
|
$projectId = $request->input('project_id');
|
|
@@ -281,9 +304,11 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 加钟
|
|
|
*
|
|
|
- * @description 加钟
|
|
|
+ * 加钟
|
|
|
*
|
|
|
- * @urlParam order_id required 订单ID Example: 123
|
|
|
+ * @authenticated
|
|
|
+ *
|
|
|
+ * @urlParam order_id required 订单ID. Example: 123
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
@@ -292,7 +317,7 @@ class OrderController extends Controller
|
|
|
*/
|
|
|
public function addTime(Request $request, $orderId)
|
|
|
{
|
|
|
- $userId = Auth::id();
|
|
|
+ $userId = Auth::user()->id;
|
|
|
|
|
|
return $this->service->addTime($userId, $orderId);
|
|
|
}
|
|
@@ -300,11 +325,13 @@ class OrderController extends Controller
|
|
|
/**
|
|
|
* [订单管理] 指定技师
|
|
|
*
|
|
|
- * @description 指定技师
|
|
|
+ * 指定技师
|
|
|
*
|
|
|
- * @urlParam order_id required 订单ID Example: 123
|
|
|
+ * @authenticated
|
|
|
*
|
|
|
- * @bodyParam coach_id int required 技师ID Example: 1
|
|
|
+ * @urlParam order_id required 订单ID. Example: 123
|
|
|
+ *
|
|
|
+ * @bodyParam coach_id int required 技师ID. Example: 1
|
|
|
*
|
|
|
* @response {
|
|
|
* "status": "success",
|
|
@@ -313,7 +340,7 @@ class OrderController extends Controller
|
|
|
*/
|
|
|
public function assignCoach(Request $request, $orderId)
|
|
|
{
|
|
|
- $userId = Auth::id();
|
|
|
+ $userId = Auth::user()->id;
|
|
|
$coachId = $request->input('coach_id');
|
|
|
|
|
|
return $this->service->assignCoach($userId, $orderId, $coachId);
|