补足判断code已使用的逻辑
This commit is contained in:
parent
5c565a1a50
commit
f60aa5235b
@ -23,7 +23,7 @@ class Oauth2Controller extends ControllerBase{
|
||||
$post_arr = array();
|
||||
$post_arr['appid'] = "0e355010-67b9-4aa6-a53f-c92c972094a7";
|
||||
$post_arr['appsecrect'] = "b82015bd-8d4c-4df8-87a8-c25477a8976f";
|
||||
$post_arr['code'] = "0db13957334c4244b03267b9ce9ccd7b";
|
||||
$post_arr['code'] = "j2407ptyalr6is31fc8ogez9quvxhmwd";
|
||||
$post_json = json_encode($post_arr);
|
||||
$result = $this->__http_post_request($url, $post_json, true);
|
||||
print_r($result); die;
|
||||
@ -325,29 +325,16 @@ class Oauth2Controller extends ControllerBase{
|
||||
}
|
||||
//如果code未使用过
|
||||
else{
|
||||
//查询当前接口过去是否有生成过access_token
|
||||
$AccessToken = AccessToken::findFirst("AppId = '$appid'");
|
||||
//如果当前接口过去未生成过access_token
|
||||
if(empty($AccessToken)){
|
||||
//准备新增AccessToken
|
||||
$AccessToken = new AccessToken();
|
||||
$AccessToken->Id = $this->_get_act_code(32);
|
||||
$AccessToken->AppId = $appid;
|
||||
$AccessToken->PrevAccessToken = null;
|
||||
$AccessToken->CreateTime = $current_datetime;
|
||||
$AccessToken->LastModifiedTime = $current_datetime;
|
||||
}
|
||||
//如果当前接口过去有生成过access_token
|
||||
else{
|
||||
//准备更新AccessToken
|
||||
$AccessToken->PrevAccessToken = $AccessToken->AccessToken;
|
||||
$AccessToken->LastModifiedTime = $current_datetime;
|
||||
}
|
||||
//开启事务
|
||||
$this->db->begin();
|
||||
//准备更新临时code
|
||||
$TempCode->LastModifiedTime = $current_datetime;
|
||||
//其他字段
|
||||
$AccessToken->AccessToken = $access_token = $this->_get_act_code(32);
|
||||
$AccessToken->ExpireTime = date("Y-m-d H:i:s", $current_time+14400);
|
||||
$TempCode->IsUsed = 1;
|
||||
//如果保存失败
|
||||
if(!($AccessToken->save())){
|
||||
if(!($TempCode->save())){
|
||||
//回滚事务
|
||||
$this->db->rollback();
|
||||
//告知用户系统繁忙,请稍候再试
|
||||
$rs['errmsg'] = "系统繁忙,请稍候再试";
|
||||
$rs['errcode'] = -1;
|
||||
@ -355,12 +342,47 @@ class Oauth2Controller extends ControllerBase{
|
||||
}
|
||||
//如果保存成功
|
||||
else{
|
||||
//告知用户ok
|
||||
$rs['errmsg'] = "ok";
|
||||
$rs['errcode'] = 0;
|
||||
$rs['data']['access_token'] = $access_token;
|
||||
$rs['data']['expire_in'] = 14400;
|
||||
$rs['data']['refresh_token'] = null;
|
||||
//查询当前接口过去是否有生成过access_token
|
||||
$AccessToken = AccessToken::findFirst("AppId = '$appid'");
|
||||
//如果当前接口过去未生成过access_token
|
||||
if(empty($AccessToken)){
|
||||
//准备新增AccessToken
|
||||
$AccessToken = new AccessToken();
|
||||
$AccessToken->Id = $this->_get_act_code(32);
|
||||
$AccessToken->AppId = $appid;
|
||||
$AccessToken->PrevAccessToken = null;
|
||||
$AccessToken->CreateTime = $current_datetime;
|
||||
$AccessToken->LastModifiedTime = $current_datetime;
|
||||
}
|
||||
//如果当前接口过去有生成过access_token
|
||||
else{
|
||||
//准备更新AccessToken
|
||||
$AccessToken->PrevAccessToken = $AccessToken->AccessToken;
|
||||
$AccessToken->LastModifiedTime = $current_datetime;
|
||||
}
|
||||
//其他字段
|
||||
$AccessToken->AccessToken = $access_token = $this->_get_act_code(32);
|
||||
$AccessToken->ExpireTime = date("Y-m-d H:i:s", $current_time+14400);
|
||||
//如果保存失败
|
||||
if(!($AccessToken->save())){
|
||||
//回滚事务
|
||||
$this->db->rollback();
|
||||
//告知用户系统繁忙,请稍候再试
|
||||
$rs['errmsg'] = "系统繁忙,请稍候再试";
|
||||
$rs['errcode'] = -1;
|
||||
$rs['data'] = null;
|
||||
}
|
||||
//如果保存成功
|
||||
else{
|
||||
//执行事务
|
||||
$this->db->commit();
|
||||
//告知用户ok
|
||||
$rs['errmsg'] = "ok";
|
||||
$rs['errcode'] = 0;
|
||||
$rs['data']['access_token'] = $access_token;
|
||||
$rs['data']['expire_in'] = 14400;
|
||||
$rs['data']['refresh_token'] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user