love_php/app/Http/Controllers/Mobile/GroupController.php
2026-04-02 09:20:51 +08:00

61 lines
2.3 KiB
PHP

<?php
namespace App\Http\Controllers\Mobile;
use App\Http\Response\ResponseJson;
use App\Models\CityGroup;
use App\Models\CityGroupMember;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class GroupController extends Controller
{
use ResponseJson;
/**
* 授权城市群
* @return \Illuminate\Foundation\Application|\Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
*/
public function authCityGroup()
{
try {
return redirect(config('app.url').'/h5/#/communityIndex');
} catch (\Exception $e) {
$this->getError($e);
return $this->failure("服务器休息,请稍后再试");
}
}
public function isAuthWechat()
{
$user = session('wechat.oauth_user.new');
$is_auth_wechat = empty($user)?0:1;
return $this->success('ok', ["is_auth_wechat"=>$is_auth_wechat, 'redirect_url'=>config('app.url').'/auth/city/group']);
}
public function nearCityGroup(Request $request)
{
try {
$longitude = $request->longitude;
$latitude = $request->latitude;
if (empty($longitude) || empty($latitude)) return $this->failure("请先授权地理位置");
$result = \CommonUtilsService::positionGetAddress($longitude, $latitude);
if (empty($result) || empty($result['province']) || empty($result['city'])) return $this->failure("您所在的城市暂未城市群");
$group = CityGroup::where('province', $result['province'])->where('city', $result['city'])->first();
if (empty($group)) {
$group = CityGroup::where('province', $result['province'])->where('city', '不限')->first();
}
if (empty($group)) return $this->failure("您所在的城市暂未城市群");
//增加群成员记录
$user = session('wechat.oauth_user.new');
if ($user) {
CityGroupMember::updateOrCreate(['openid'=>$user->getId(), 'g_id'=>$group->id], ['longitude'=>$longitude, 'latitude'=>$latitude]);
}
return $this->success('ok', $group);
}catch (\Exception $e) {
$this->getError($e);
return $this->failure("服务器休息,请稍后再试");
}
}
}