erp_old/app/api/logic/shop/ShopLogic.php

40 lines
1.5 KiB
PHP

<?php
namespace app\api\logic\shop;
use app\api\service\UserTokenService;
use app\common\logic\BaseLogic;
use app\common\model\user\UserSession;
use think\facade\Db;
class ShopLogic extends BaseLogic
{
public static function auth($token,$jg_register_id='')
{
list(, $base64UrlPayload,) = explode('.', $token);
$payload = base64UrlDecode($base64UrlPayload);
$data = json_decode($payload, true);
if($data){
if($data['exp'] < time()){
return false;
}
$user=Db::name('user_auth_shop')->where('shop_uid',$data['jti'][0])->where('apply_status',1)->find();
if($user){
$userSession = UserSession::where([['user_id', '=', $user['user_id']], ['terminal', '=', 6]])->find();
if($userSession){
UserTokenService::overtimeToken($userSession['token']);
return $userSession['token'];
}
$userInfo = UserTokenService::setToken($user['user_id'], 6);
if($jg_register_id){
//清除其他账号绑定的相同的极光id
Db::name('user_auth_shop')->where('jg_register_id',$jg_register_id)->update(['jg_register_id'=>'']);
Db::name('user_auth_shop')->where('id',$user['id'])->update(['jg_register_id'=>$jg_register_id,'update_time'=>time()]);
}
return $userInfo['token'];
}
}
return false;
}
}