From 34dbd8cf5ee345e8201ee1f3c6207f32270bd8cf Mon Sep 17 00:00:00 2001 From: qinzongqing Date: Mon, 17 Apr 2023 17:37:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3bug=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=80=BB=E8=BE=91=EF=BC=8C=E5=8E=9F=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AF=B7=E6=B1=82=E6=AC=A1=E6=95=B0=E9=99=90?= =?UTF-8?q?=E5=88=B6=E4=BB=85=E4=BD=9C=E7=94=A8=E4=BA=8E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/ControllerBase.php | 67 ++----------- app/controllers/Oauth2Controller.php | 139 +++++++++++++++++++-------- app/controllers/SmsController.php | 24 ++--- app/controllers/UrlsController.php | 8 +- 4 files changed, 120 insertions(+), 118 deletions(-) diff --git a/app/controllers/ControllerBase.php b/app/controllers/ControllerBase.php index 9604cc2..7630a80 100644 --- a/app/controllers/ControllerBase.php +++ b/app/controllers/ControllerBase.php @@ -212,9 +212,9 @@ class ControllerBase extends Phalcon\Mvc\Controller{ } /** - * 更新接口请求次数 + * 校验所传appid是否有效 */ - function __update_app_info($appid=""){ + function __check_appid($appid=""){ //查询接口信息 $AppInfo = AppInfo::findFirst("AppId = '$appid' AND Enable = 0"); //如果未查询到接口信息 @@ -226,65 +226,10 @@ class ControllerBase extends Phalcon\Mvc\Controller{ } //如果有查询到接口信息 else{ - //获取上次请求日期 - $last_req_time = $AppInfo->LastReqTime; - $last_req_date = date("Y-m-d", strtotime($last_req_time)); - //获取上次请求日期所在日的请求次数 - $today_req_times = $AppInfo->TodayReqTimes; - //获取接口请求次数限制 - $day_max_req_times = $AppInfo->DayMaxReqTimes; - //如果上次请求日期是当天日期 - if($last_req_date==$this->current_date){ - //如果当天请求次数已达到接口请求次数限制 - if($today_req_times>=$day_max_req_times){ - //告知用户"request today reached the request limit,err detail:超过请求上限限制" - $rs['errmsg'] = "request today reached the request limit,err detail:超过请求上限限制"; - $rs['errcode'] = 80102; - $rs['data'] = null; - } - //如果当天请求次数尚未达到接口请求次数限制 - else{ - //当天请求次数加一 - $today_req_times = $today_req_times+1; - } - } - //如果上次请求日期不是当天日期 - else{ - //如果接口请求次数限制不大于0 - if($day_max_req_times<=0){ - //告知用户"request today reached the request limit,err detail:超过请求上限限制" - $rs['errmsg'] = "request today reached the request limit,err detail:超过请求上限限制"; - $rs['errcode'] = 80102; - $rs['data'] = null; - } - //如果接口请求次数限制大于0 - else{ - //初始当天请求次数 - $today_req_times = 1; - } - } - //如果以上判断都通过 - if(empty($rs['errcode'])){ - //准备更新当天请求次数 - $AppInfo->LastModifiedTime = $this->current_datetime; - //其他字段 - $AppInfo->TodayReqTimes = $today_req_times; - $AppInfo->LastReqTime = $this->current_date; - //如果更新失败 - if(!($AppInfo->save())){ - //告知用户"系统繁忙,请稍候再试" - $rs['errmsg'] = "系统繁忙,请稍候再试"; - $rs['errcode'] = -1; - $rs['data'] = null; - } - //如果更新成功 - else{ - //告知用户"ok" - $rs['errmsg'] = "ok"; - $rs['errcode'] = 0; - $rs['data']['AppInfo'] = $AppInfo; - } - } + //告知用户"ok" + $rs['errmsg'] = "ok"; + $rs['errcode'] = 0; + $rs['data']['AppInfo'] = $AppInfo; } //返回结果 return $rs; diff --git a/app/controllers/Oauth2Controller.php b/app/controllers/Oauth2Controller.php index 6cd0289..af54a2a 100644 --- a/app/controllers/Oauth2Controller.php +++ b/app/controllers/Oauth2Controller.php @@ -19,12 +19,12 @@ class Oauth2Controller extends ControllerBase{ function testAction(){ //$url = "http://wxapp.wemediacn.com/smsoauth2_qa/api/oauth2/code"; //$url = "http://127.0.0.1/tiffany/api/oauth2/code?qaz=wsx"; - //$url = "http://wxapp.wemediacn.com/smsoauth2_qa/api/oauth2/accesstoken"; - $url = "http://127.0.0.1/tiffany/api/oauth2/accesstoken?qaz=wsx"; + $url = "http://wxapp.wemediacn.com/smsoauth2_qa/api/oauth2/accesstoken"; + //$url = "http://127.0.0.1/tiffany/api/oauth2/accesstoken?qaz=wsx"; $post_arr = array(); $post_arr['appid'] = "0e355010-67b9-4aa6-a53f-c92c972094a7"; $post_arr['appsecrect'] = "b82015bd-8d4c-4df8-87a8-c25477a8976f"; - $post_arr['code'] = "b877e2d843ef2c21fc28e7126423d217"; + $post_arr['code'] = "6a1df95b00d0414d8cc545425afac40c"; $post_json = json_encode($post_arr); $result = $this->__http_post_request($url, $post_json, true); print_r($result); die; @@ -48,45 +48,102 @@ class Oauth2Controller extends ControllerBase{ $rs = $this->__check_params_arr($request_arr, $params_arr); //如果基本参数都不为空 if(empty($rs['errcode'])){ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ - //查询当前接口过去是否有生成过code - $TempCode = TempCode::findFirst("AppId = '$appid'"); - //如果当前接口过去未生成过code - if(empty($TempCode)){ - //准备新增临时code - $TempCode = new TempCode(); - $TempCode->AppId = $appid; - $TempCode->CreateTime = $this->current_datetime; - $TempCode->LastModifiedTime = $this->current_datetime; + //获取接口信息 + $AppInfo = $rs['data']['AppInfo']; + //获取上次请求code日期 + $last_req_time = $AppInfo->LastReqTime; + $last_req_date = date("Y-m-d", strtotime($last_req_time)); + //获取上次请求code日期所在日的请求code次数 + $today_req_times = $AppInfo->TodayReqTimes; + //获取接口请求code次数限制 + $day_max_req_times = $AppInfo->DayMaxReqTimes; + //如果上次请求code日期是当天日期 + if($last_req_date==$this->current_date){ + //如果当天请求code次数已达到接口请求code次数限制 + if($today_req_times>=$day_max_req_times){ + //告知用户"request today reached the request limit,err detail:超过请求上限限制" + $rs['errmsg'] = "request today reached the request limit,err detail:超过请求上限限制"; + $rs['errcode'] = 80102; + $rs['data'] = null; + } + //如果当天请求code次数尚未达到接口请求code次数限制 + else{ + //当天请求code次数加一 + $today_req_times = $today_req_times+1; + } } - //如果当前接口过去有生成过code + //如果上次请求code日期不是当天日期 else{ - //准备更新临时code - $TempCode->LastModifiedTime = $this->current_datetime; + //如果接口请求code次数限制不大于0 + if($day_max_req_times<=0){ + //告知用户"request today reached the request limit,err detail:超过请求上限限制" + $rs['errmsg'] = "request today reached the request limit,err detail:超过请求上限限制"; + $rs['errcode'] = 80102; + $rs['data'] = null; + } + //如果接口请求code次数限制大于0 + else{ + //初始当天请求code次数 + $today_req_times = 1; + } } - //其他字段 - $TempCode->Code = $code = md5(uniqid(mt_rand(), true)); - $TempCode->IsUsed = 0; - $TempCode->ExpireTime = date("Y-m-d H:i:s", $this->current_time+300); - //如果保存失败 - if(!($TempCode->save())){ - //告知用户"系统繁忙,请稍候再试" - $rs['errmsg'] = "系统繁忙,请稍候再试"; - $rs['errcode'] = -1; - $rs['data'] = null; - } - //如果保存成功 - else{ - //告知用户"ok" - $rs['errmsg'] = "ok"; - $rs['errcode'] = 0; - $rs['data'] = array(); - $rs['data']['code'] = $code; + //如果以上判断都通过 + if(empty($rs['errcode'])){ + //准备更新当天请求code次数 + $AppInfo->LastModifiedTime = $this->current_datetime; + //其他字段 + $AppInfo->TodayReqTimes = $today_req_times; + $AppInfo->LastReqTime = $this->current_date; + //如果更新失败 + if(!($AppInfo->save())){ + //告知用户"系统繁忙,请稍候再试" + $rs['errmsg'] = "系统繁忙,请稍候再试"; + $rs['errcode'] = -1; + $rs['data'] = null; + } + //如果更新成功 + else{ + //查询当前接口过去是否有生成过code + $TempCode = TempCode::findFirst("AppId = '$appid'"); + //如果当前接口过去未生成过code + if(empty($TempCode)){ + //准备新增临时code + $TempCode = new TempCode(); + $TempCode->AppId = $appid; + $TempCode->CreateTime = $this->current_datetime; + $TempCode->LastModifiedTime = $this->current_datetime; + } + //如果当前接口过去有生成过code + else{ + //准备更新临时code + $TempCode->LastModifiedTime = $this->current_datetime; + } + //其他字段 + $TempCode->Code = $code = md5(uniqid(mt_rand(), true)); + $TempCode->IsUsed = 0; + $TempCode->ExpireTime = date("Y-m-d H:i:s", $this->current_time+300); + //如果保存失败 + if(!($TempCode->save())){ + //告知用户"系统繁忙,请稍候再试" + $rs['errmsg'] = "系统繁忙,请稍候再试"; + $rs['errcode'] = -1; + $rs['data'] = null; + } + //如果保存成功 + else{ + //告知用户"ok" + $rs['errmsg'] = "ok"; + $rs['errcode'] = 0; + $rs['data'] = array(); + $rs['data']['code'] = $code; + } + } } } } @@ -119,11 +176,11 @@ class Oauth2Controller extends ControllerBase{ $rs = $this->__check_params_arr($request_arr, $params_arr); //如果基本参数都不为空 if(empty($rs['errcode'])){ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ //获取接口信息 $AppInfo = $rs['data']['AppInfo']; diff --git a/app/controllers/SmsController.php b/app/controllers/SmsController.php index a1a7b67..d5ffd63 100644 --- a/app/controllers/SmsController.php +++ b/app/controllers/SmsController.php @@ -95,11 +95,11 @@ class SmsController extends ControllerBase{ $rs = $this->__check_params_arr($request_arr, $params_arr); //如果基本参数都不为空 if(empty($rs['errcode'])){ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ //获取接口信息 $AppInfo = $rs['data']['AppInfo']; @@ -220,11 +220,11 @@ class SmsController extends ControllerBase{ } //如果所传验证码类型是1或2 else{ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ //获取接口信息 $AppInfo = $rs['data']['AppInfo']; @@ -400,11 +400,11 @@ class SmsController extends ControllerBase{ $rs = $this->__check_params_arr($request_arr, $params_arr); //如果基本参数都不为空 if(empty($rs['errcode'])){ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ //获取接口信息 $AppInfo = $rs['data']['AppInfo']; diff --git a/app/controllers/UrlsController.php b/app/controllers/UrlsController.php index 6af5076..bca5ec4 100644 --- a/app/controllers/UrlsController.php +++ b/app/controllers/UrlsController.php @@ -56,11 +56,11 @@ class UrlsController extends ControllerBase{ $rs = $this->__check_params_arr($request_arr, $params_arr); //如果基本参数都不为空 if(empty($rs['errcode'])){ - //准备更新接口请求次数 + //准备校验所传appid是否有效 $appid = $request_arr['appid']; - //更新接口请求次数 - $rs = $this->__update_app_info($appid); - //如果接口请求次数更新成功 + //校验所传appid是否有效 + $rs = $this->__check_appid($appid); + //如果所传appid有效 if(empty($rs['errcode'])){ //获取接口信息 $AppInfo = $rs['data']['AppInfo'];