| xqd
@@ -32,9 +32,8 @@ class DocterController extends AuthController
|
|
|
]);
|
|
|
$user = $this->user;
|
|
|
|
|
|
- $latitude = !empty($req['latitude']) ? $req['latitude'] : $user['latitude'];
|
|
|
- $longitude = !empty($req['longitude']) ? $req['longitude'] : $user['longitude'];
|
|
|
- $distance_field = get_distance_field($latitude, $longitude);
|
|
|
+ $coordinate = get_user_coordinate($user);
|
|
|
+ $distance_field = get_distance_field($coordinate['latitude'], $coordinate['longitude']);
|
|
|
|
|
|
$builder = Docter::with('office', 'qualification')->select(['id', 'type', 'name', 'phone', 'sex', 'birthday', 'avatar', 'status', 'label', 'sign', 'intro', 'office_id', 'qualification_id', 'score', 'service_persons', 'eva_num', 'service_days', 'phone_minutes', 'chat_price', 'phone_price', 'appoint_price', 'is_chat', 'is_phone', 'is_appoint', 'latitude', 'longitude', DB::raw($distance_field)])->where('status', 1);
|
|
|
$list_type = !empty($req['list_type']) ? $req['list_type'] : 0;
|
| xqd
@@ -116,9 +115,21 @@ class DocterController extends AuthController
|
|
|
$this->validate(request(), [
|
|
|
'docter_id' => 'required|integer',
|
|
|
'per_page' => 'integer',
|
|
|
+ 'latitude' => 'numeric',
|
|
|
+ 'longitude' => 'numeric',
|
|
|
]);
|
|
|
+ $user = $this->user;
|
|
|
|
|
|
- $data = Schedule::with('schedulePeriod.timePeriod')->where('docter_id', $req['docter_id'])->where('schedule_day', '>=', date('Ymd'))->paginate($req['per_page']??15);
|
|
|
+ $data = Schedule::with(['schedulePeriod.timePeriod', 'schedulePeriod.organization'])->where('docter_id', $req['docter_id'])->where('schedule_day', '>=', date('Ymd'))->paginate($req['per_page']??15)->toArray();
|
|
|
+ if (!empty($data)) {
|
|
|
+ foreach ($data['data'] as $k => &$v) {
|
|
|
+ foreach ($v['schedule_period'] as $k1 => &$v1) {
|
|
|
+ if (!empty($v1['organization'])) {
|
|
|
+ $v1['organization']['distance'] = get_user_distance($user, $v1['organization']['latitude'], $v1['organization']['longitude']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return out($data);
|
|
|
}
|