123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- <?php
- namespace app\monitor\controller;
- use think\Controller;
- use think\Validate;
- use think\Db;
- use app\common\service\HelperService;
- /**
- * api接口
- * Class RequestApi
- */
- class Requestapi extends Controller
- {
- private function getInput(){
- $params = file_get_contents("php://input");
- return @json_decode($params,true);
- }
- public function getProjectCodes(){
-
- $params = $this->getInput();
-
- $rule = [
- 'startTime|开始时间' => 'require|number',
- 'companyCode|公司编号' => 'require',
- ];
- $validate = new Validate($rule);
- if(!$validate->check($params)){
- HelperService::returnJson(['code'=>'400','msg'=>$validate->getError(),'data'=>[]]);
- }
-
- $date = date('Ymd', $params['startTime']);
- $list = Db::connect('monitor')->table("api_request_$date")
- ->where(['company_code'=>"{$params['companyCode']}"])->distinct('project_code')->field('project_code')->select();
-
- $list = !empty($list)?array_column($list, 'project_code'):[];
- HelperService::returnJson(['code'=>200,'data'=>['count'=>count($list),'list'=>$list]]);
- }
-
- public function getARProjectCodes(){
-
- $params = $this->getInput();
-
- $rule = [
- 'startTime|开始时间' => 'require',
- 'companyCode|公司编号' => 'require',
- ];
- $validate = new Validate($rule);
- if(!$validate->check($params)){
- helperService::returnJson(['code'=>'400','msg'=>$validate->getError(),'data'=>[]]);
- }
-
- if(empty($params['startTime'])){
- $params['startTime'] = date('Y-m-d H:i:s');
- }
-
- $date = date('Ymd', strtotime($params['startTime']));
- $list = Db::connect('monitor')->table("abnormal_request_$date")
- ->where(['company_code'=>"{$params['companyCode']}"])->distinct('project_code')->field('project_code')->select();
-
- $list = !empty($list)?array_column($list, 'project_code'):[];
- HelperService::returnJson(['code'=>200,'data'=>['count'=>count($list),'list'=>$list]]);
- }
-
- public function getApiRequestList(){
-
- $params = $this->getInput();
-
- $rule = [
- 'page|页码' => 'number',
- 'pageSize|分页大小' => 'number|between:10,100',
- 'startTime|开始时间'=>'require|number',
- 'endTime|结束时间'=>'require|number',
- 'requestUrl|请求url'=>'max:1000',
- 'requestParam|请求参数'=>'max:1000',
- 'returnCode|返回状态码'=>'max:1000',
- 'returnMsg|返回消息'=>'max:1000',
- 'returnData|返回数据'=>'max:1000',
- 'projectCode|项目code'=>'require|max:100'
- ];
- $validate = new Validate($rule);
- if(!$validate->check($params)){
- helperService::returnJson(['code'=>'400','msg'=>$validate->getError(),'data'=>[]]);
- }
- $where = [];
-
- if(!empty($params['projectCode']) || $params['projectCode'] === "0"){
- $where['project_code'] = "{$params['projectCode']}";
- }
-
- $where['insert_time'] = ['between',[date('Y-m-d H:i:s',$params['startTime']),date('Y-m-d H:i:s',$params['endTime'])]];
-
- if(!empty($params['returnCode']) || $params['returnCode'] === "0"){
- $where['return_code'] = ['like',"%{$params['returnCode']}%"];
- }
-
- if(!empty($params['returnMsg']) || $params['returnMsg'] === "0"){
- $where['return_msg'] = ['like',"%{$params['returnMsg']}%"];
- }
-
- if(!empty($params['returnData']) || $params['returnData'] === "0"){
- $where['return_data'] = ['like',"%{$params['returnData']}%"];
- }
-
- if(!empty($params['requestUrl']) || $params['requestUrl'] === "0"){
- $where['request_url'] = ['like',"%{$params['requestUrl']}%"];
- }
-
- if(!empty($params['requestParam']) || $params['requestParam'] === "0"){
- $where['request_param'] = ['like',"%{$params['requestParam']}%"];
- }
-
- $date = date('Ymd', $params['startTime']);
- $count = Db::connect('monitor')->table("api_request_$date")
- ->where($where)->count();
-
- $pageCount = ceil($count/$params['pageSize']);
- $page = $params['page']>$pageCount?$pageCount:($params['page']<1?1:$params['page']);
-
- $list = Db::connect('monitor')->table("api_request_$date")
- ->where($where)->page($page,$params['pageSize'])->order("id desc")->select();
-
- foreach($list as &$item){
- $item['return_data'] = htmlentities($item['return_data']);
- }
-
- $list = HelperService::convertUnderline($list);
- HelperService::returnJson(['code'=>200,'data'=>['count'=>$count,'list'=>$list]]);
- }
-
-
- public function getAbnormalRequestList(){
-
- $params = $this->getInput();
-
- $rule = [
- 'page|页码' => 'number',
- 'pageSize|分页大小' => 'number|between:10,100',
- 'startTime|开始时间'=>'number',
- 'endTime|结束时间'=>'number',
- 'requestUrl|请求url'=>'max:1000',
- 'requestParam|请求参数'=>'max:1000',
- 'msg|返回消息'=>'max:1000',
- 'path|路径'=>'max:1000',
- 'isSend|是否发送'=>'max:100',
- 'projectCode|项目code'=>'require|max:100'
- ];
- $validate = new Validate($rule);
- if(!$validate->check($params)){
- helperService::returnJson(['code'=>'400','msg'=>$validate->getError(),'data'=>[]]);
- }
-
- if(!empty($params['startTime'])){
- $params['startTime'] = strtotime(date('Y-m-d'));
- }
- if(!empty($params['endTime'])){
- $params['endTime'] = strtotime(date('Y-m-d 23:59:59'));
- }
-
- $where = [];
-
- if(!empty($params['projectCode']) || $params['projectCode'] === "0"){
- $where['project_code'] = "{$params['projectCode']}";
- }
-
- $where['insert_time'] = ['between',[date('Y-m-d H:i:s',$params['startTime']),date('Y-m-d H:i:s',$params['endTime'])]];
-
- if(!is_null($params['isSend']) && is_numeric($params['isSend'])){
- $where['is_send'] = $params['isSend'];
- }
-
- if(!empty($params['path']) || $params['path'] === "0"){
- $where['path'] = ['like',"%{$params['path']}%"];
- }
-
- if(!empty($params['msg']) || $params['msg'] === "0"){
- $where['msg'] = ['like',"%{$params['msg']}%"];
- }
-
- if(!empty($params['requestUrl']) || $params['requestUrl'] === "0"){
- $where['request_url'] = ['like',"%{$params['requestUrl']}%"];
- }
-
- if(!empty($params['requestParam']) || $params['requestParam'] === "0"){
- $where['request_param'] = ['like',"%{$params['requestParam']}%"];
- }
-
- $date = date('Ymd', $params['startTime']);
- $count = Db::connect('monitor')->table("abnormal_request_$date")
- ->where($where)->count();
-
- $pageCount = ceil($count/$params['pageSize']);
- $page = $params['page']>$pageCount?$pageCount:($params['page']<1?1:$params['page']);
-
- $list = Db::connect('monitor')->table("abnormal_request_$date")
- ->where($where)->page($page,$params['pageSize'])->order("id desc")->select();
-
- $list = HelperService::convertUnderline($list);
-
- HelperService::returnJson(['code'=>200,'data'=>['count'=>$count,'list'=>$list]]);
- }
- }
|