补足判断code已使用的逻辑

This commit is contained in:
qinzongqing 2023-04-11 10:58:25 +08:00
parent 5c565a1a50
commit f60aa5235b

View File

@ -23,7 +23,7 @@ class Oauth2Controller extends ControllerBase{
$post_arr = array(); $post_arr = array();
$post_arr['appid'] = "0e355010-67b9-4aa6-a53f-c92c972094a7"; $post_arr['appid'] = "0e355010-67b9-4aa6-a53f-c92c972094a7";
$post_arr['appsecrect'] = "b82015bd-8d4c-4df8-87a8-c25477a8976f"; $post_arr['appsecrect'] = "b82015bd-8d4c-4df8-87a8-c25477a8976f";
$post_arr['code'] = "0db13957334c4244b03267b9ce9ccd7b"; $post_arr['code'] = "j2407ptyalr6is31fc8ogez9quvxhmwd";
$post_json = json_encode($post_arr); $post_json = json_encode($post_arr);
$result = $this->__http_post_request($url, $post_json, true); $result = $this->__http_post_request($url, $post_json, true);
print_r($result); die; print_r($result); die;
@ -324,6 +324,23 @@ class Oauth2Controller extends ControllerBase{
$rs['data'] = null; $rs['data'] = null;
} }
//如果code未使用过 //如果code未使用过
else{
//开启事务
$this->db->begin();
//准备更新临时code
$TempCode->LastModifiedTime = $current_datetime;
//其他字段
$TempCode->IsUsed = 1;
//如果保存失败
if(!($TempCode->save())){
//回滚事务
$this->db->rollback();
//告知用户系统繁忙,请稍候再试
$rs['errmsg'] = "系统繁忙,请稍候再试";
$rs['errcode'] = -1;
$rs['data'] = null;
}
//如果保存成功
else{ else{
//查询当前接口过去是否有生成过access_token //查询当前接口过去是否有生成过access_token
$AccessToken = AccessToken::findFirst("AppId = '$appid'"); $AccessToken = AccessToken::findFirst("AppId = '$appid'");
@ -348,6 +365,8 @@ class Oauth2Controller extends ControllerBase{
$AccessToken->ExpireTime = date("Y-m-d H:i:s", $current_time+14400); $AccessToken->ExpireTime = date("Y-m-d H:i:s", $current_time+14400);
//如果保存失败 //如果保存失败
if(!($AccessToken->save())){ if(!($AccessToken->save())){
//回滚事务
$this->db->rollback();
//告知用户系统繁忙,请稍候再试 //告知用户系统繁忙,请稍候再试
$rs['errmsg'] = "系统繁忙,请稍候再试"; $rs['errmsg'] = "系统繁忙,请稍候再试";
$rs['errcode'] = -1; $rs['errcode'] = -1;
@ -355,6 +374,8 @@ class Oauth2Controller extends ControllerBase{
} }
//如果保存成功 //如果保存成功
else{ else{
//执行事务
$this->db->commit();
//告知用户ok //告知用户ok
$rs['errmsg'] = "ok"; $rs['errmsg'] = "ok";
$rs['errcode'] = 0; $rs['errcode'] = 0;
@ -371,6 +392,7 @@ class Oauth2Controller extends ControllerBase{
} }
} }
} }
}
echo json_encode($rs, JSON_UNESCAPED_UNICODE); echo json_encode($rs, JSON_UNESCAPED_UNICODE);
} }