get(); return Yo::echo([ 'list' => $list ]); } public function info(Request $request) { $id = $request->post('id'); $latitude = $request->post('latitude'); $longitude = $request->post('longitude'); $info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude', DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude) - radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance')) ->setBindings([$latitude, $longitude, $latitude]) ->where('id', $id) ->where('status', 1) ->where('del', 2) ->first(); if (!$info) { $info = Hospital::select('id', 'address', 'logo', 'name', 'phone', 'latitude', 'longitude', DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude) - radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance')) ->setBindings([$latitude, $longitude, $latitude]) ->where('dev', 2) ->where('status', 1) ->where('del', 2) ->first(); } return Yo::echo([ 'info' => $info ]); } public function count() { Login::user(); $query = Hospital::where('status', 1)->where('del', 2); if (Login::$info->dev != 1) $query->where('dev', 2); $count = $query->count(); return Yo::echo([ 'count' => $count ]); } public function mp_list(Request $request) { Login::user(); $latitude = $request->post('latitude'); $longitude = $request->post('longitude'); $query = Hospital::select('id', 'address', 'logo', 'name', 'phone', DB::raw('(ROUND(6371 * acos(cos(radians(?)) * cos(radians(latitude)) * cos(radians(longitude) - radians(?)) + sin(radians(?)) * sin(radians(latitude))), 2)) AS distance')) ->setBindings([$latitude, $longitude, $latitude]) ->where('status', 1)->where('del', 2); if (Login::$info->dev != 1) $query->where('dev', 2); $list = $query->orderBy('distance', 'asc')->get(); return Yo::echo([ 'list' => $list ]); } public function select_list() { Login::admin(); $list = Hospital::where('del', 2)->get(); return Yo::echo([ 'list' => $list ]); } public function delete(Request $request) { Login::admin([11]); $id = $request->post('id'); $hospital = Hospital::where('id', $id)->where('del', 2)->first(); if (!$hospital) Yo::error_echo(100000, ['机构/医院']); $hospital->del = 1; $hospital->save(); return Yo::delete_echo($hospital->id); } public function update(EditHospitalInput $request) { Login::admin([11]); $id = $request->post('id'); $name = $request->post('name'); $code = $request->post('code'); $address = $request->post('address'); $longitude = $request->post('longitude'); $latitude = $request->post('latitude'); $logo = $request->post('logo'); $dev = $request->post('dev'); $phone = $request->post('phone'); $status = $request->post('status'); $hospital = Hospital::where('id', $id)->where('del', 2)->first(); if (!$hospital) Yo::error_echo(100000, ['机构/医院']); $hospital->name = $name; $hospital->code = $code; $hospital->address = $address; $hospital->longitude = $longitude; $hospital->latitude = $latitude; $hospital->logo = $logo; $hospital->dev = $dev; $hospital->phone = $phone; $hospital->status = $status; $hospital->save(); return Yo::update_echo($hospital->id); } public function create(EditHospitalInput $request) { Login::admin([11]); $name = $request->post('name'); $code = $request->post('code'); $address = $request->post('address'); $longitude = $request->post('longitude'); $latitude = $request->post('latitude'); $logo = $request->post('logo'); $dev = $request->post('dev'); $phone = $request->post('phone'); $status = $request->post('status'); $hospital = new Hospital(); $hospital->name = $name; $hospital->code = $code; $hospital->address = $address; $hospital->longitude = $longitude; $hospital->latitude = $latitude; $hospital->logo = $logo; $hospital->dev = $dev; $hospital->phone = $phone; $hospital->status = $status; $hospital->save(); return Yo::create_echo($hospital->id); } public function hospital_info(Request $request) { Login::admin([22]); if (Login::$info->hospital == -1) Yo::error_echo(100000, ['机构/医院']); if (Login::$info->hospital == 0) { return Yo::echo([ 'info' => [ 'id' => 0 ] ]); } $info = Hospital::where('id', Login::$info->hospital) ->where('status', 1) ->where('del', 2) ->first(); if (!$info) Yo::error_echo(100000, ['机构/医院']); return Yo::echo([ 'info' => $info ]); } public function hospital_update(EditHospitalInput $request) { Login::admin([22]); $id = $request->post('id'); if (Login::$info->hospital != $id) Yo::error_echo(100000, ['机构/医院']); $name = $request->post('name'); $address = $request->post('address'); $longitude = $request->post('longitude'); $latitude = $request->post('latitude'); $logo = $request->post('logo'); $phone = $request->post('phone'); $hospital = Hospital::where('id', $id)->where('del', 2)->first(); if (!$hospital) Yo::error_echo(100000, ['机构/医院']); $hospital->name = $name; $hospital->address = $address; $hospital->longitude = $longitude; $hospital->latitude = $latitude; $hospital->logo = $logo; $hospital->phone = $phone; $hospital->save(); return Yo::update_echo($hospital->id); } }