61 lines
2.3 KiB
PHP
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("服务器休息,请稍后再试");
|
|
}
|
|
}
|
|
}
|