From bffd7bd33ef26c64831bc488a6b3105cfe4877cb Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Sat, 1 Jan 2022 22:31:22 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B4=E6=98=8E=EF=BC=9A1=E3=80=81=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90api=E9=A2=84=E8=AD=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=9F=A5=E7=9C=8B=20=20=20=20=20=202=E3=80=81?= =?UTF-8?q?=E5=89=8D=E7=AB=AFapi=E9=A2=84=E8=AD=A6=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/business/warning/apiwarning.js | 28 +++ .../business/warning/apiwarning/index.vue | 222 ++++++++++++++++++ .../xjs/controller/ApiWarningController.java | 60 ++++- .../java/com/xjs/mapper/ApiRecordMapper.java | 29 ++- .../com/xjs/service/ApiWarningService.java | 34 ++- .../service/impl/ApiWarningServiceImpl.java | 46 +++- .../mapper/apiwarning/ApiEnglishMapper.xml | 43 ++++ 7 files changed, 453 insertions(+), 9 deletions(-) create mode 100644 ruoyi-ui/src/api/business/warning/apiwarning.js create mode 100644 ruoyi-ui/src/views/business/warning/apiwarning/index.vue diff --git a/ruoyi-ui/src/api/business/warning/apiwarning.js b/ruoyi-ui/src/api/business/warning/apiwarning.js new file mode 100644 index 00000000..42c2d7f6 --- /dev/null +++ b/ruoyi-ui/src/api/business/warning/apiwarning.js @@ -0,0 +1,28 @@ +import request from '@/utils/request' + +// 查询API预警列表 +export function listApiwarning(query) { + return request({ + url: '/warning/apiwarning/list', + method: 'get', + params: query + }) +} + +// 查询API预警详细 +export function getApiwarning(id) { + return request({ + url: '/warning/apiwarning/' + id, + method: 'get' + }) +} + +// 修改API预警 +export function updateApiwarning(data) { + return request({ + url: '/warning/apiwarning/edit', + method: 'put', + data: data + }) +} + diff --git a/ruoyi-ui/src/views/business/warning/apiwarning/index.vue b/ruoyi-ui/src/views/business/warning/apiwarning/index.vue new file mode 100644 index 00000000..5b7ecbdf --- /dev/null +++ b/ruoyi-ui/src/views/business/warning/apiwarning/index.vue @@ -0,0 +1,222 @@ + + + diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/controller/ApiWarningController.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/controller/ApiWarningController.java index 99e1448e..91523c08 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/controller/ApiWarningController.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/controller/ApiWarningController.java @@ -1,12 +1,19 @@ package com.xjs.controller; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.domain.ApiRecord; import com.xjs.service.ApiWarningService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -40,13 +47,62 @@ public class ApiWarningController extends BaseController { */ @PutMapping public R updateApiRecordForRPC(@RequestBody ApiRecord apiRecord) { - return apiWarningService.updateApiRecord(apiRecord) ? R.ok() : R.fail(); + return apiWarningService.updateApiRecordByUrl(apiRecord) ? R.ok() : R.fail(); } @GetMapping public R> selectApiRecordListForRPC(ApiRecord apiRecord) { - List apiRecords = apiWarningService.selectApiRecordList(apiRecord); + List apiRecords = apiWarningService.selectApiRecordListByUrl(apiRecord); return R.ok(apiRecords); } + //todo 实现前端页面cu接口 + + //-------------------------代码生成------------------------------------ + /** + * 查询API预警列表 + */ + @RequiresPermissions("warning:apiwarning:list") + @GetMapping("/list") + public TableDataInfo list(ApiRecord apiRecord) + { + startPage(); + List list = apiWarningService.selectApiRecordList(apiRecord); + return getDataTable(list); + } + + /** + * 导出API预警列表 + */ + @RequiresPermissions("warning:apiwarning:export") + @Log(title = "API预警", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ApiRecord apiRecord) + { + List list = apiWarningService.selectApiRecordList(apiRecord); + ExcelUtil util = new ExcelUtil(ApiRecord.class); + util.exportExcel(response, list, "API预警数据"); + } + + /** + * 获取API预警详细信息 + */ + @RequiresPermissions("warning:apiwarning:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return AjaxResult.success(apiWarningService.selectApiRecordById(id)); + } + + /** + * 修改API预警 + */ + @RequiresPermissions("warning:apiwarning:edit") + @Log(title = "API预警", businessType = BusinessType.UPDATE) + @PutMapping("edit") + public AjaxResult edit(@RequestBody ApiRecord apiRecord) + { + return toAjax(apiWarningService.updateApiRecord(apiRecord)); + } + } diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/mapper/ApiRecordMapper.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/mapper/ApiRecordMapper.java index 71e248d3..f284bc88 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/mapper/ApiRecordMapper.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/mapper/ApiRecordMapper.java @@ -3,12 +3,39 @@ package com.xjs.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.domain.ApiRecord; +import java.util.List; + /** * @author xiejs - * @desc api预警mapper + * @desc api预警mapper * @create 2021-12-31 */ public interface ApiRecordMapper extends BaseMapper { + //--------------------代码生成---------------------------- + + /** + * 查询API预警 + * + * @param id API预警主键 + * @return API预警 + */ + public ApiRecord selectApiRecordById(Long id); + + /** + * 查询API预警列表 + * + * @param apiRecord API预警 + * @return API预警集合 + */ + public List selectApiRecordList(ApiRecord apiRecord); + + /** + * 修改API预警 + * + * @param apiRecord API预警 + * @return 结果 + */ + public int updateApiRecord(ApiRecord apiRecord); } diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/ApiWarningService.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/ApiWarningService.java index 5eb6c880..34170432 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/ApiWarningService.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/ApiWarningService.java @@ -13,6 +13,7 @@ public interface ApiWarningService { /** * 保存apirecord 当存在相同api时,不允许保存 + * * @param apiRecord apiRecord * @return apiRecord */ @@ -21,15 +22,44 @@ public interface ApiWarningService { /** * 修改 根据url名称修改api调用次数 + * * @param apiRecord apiRecord * @return apiRecord */ - boolean updateApiRecord(ApiRecord apiRecord); + boolean updateApiRecordByUrl(ApiRecord apiRecord); /** * 根据 apiurl和name查询 + * * @param apiRecord * @return */ - List selectApiRecordList(ApiRecord apiRecord); + List selectApiRecordListByUrl(ApiRecord apiRecord); + + //---------------------代码生成--------------------------------- + + /** + * 查询API预警 + * + * @param id API预警主键 + * @return API预警 + */ + public ApiRecord selectApiRecordById(Long id); + + /** + * 查询API预警列表 + * + * @param apiRecord API预警 + * @return API预警集合 + */ + public List selectApiRecordList(ApiRecord apiRecord); + + + /** + * 修改API预警 + * + * @param apiRecord API预警 + * @return 结果 + */ + public int updateApiRecord(ApiRecord apiRecord); } diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/ApiWarningServiceImpl.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/ApiWarningServiceImpl.java index 131c5045..59e997b3 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/ApiWarningServiceImpl.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/ApiWarningServiceImpl.java @@ -1,6 +1,7 @@ package com.xjs.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.core.utils.DateUtils; import com.xjs.domain.ApiRecord; import com.xjs.exception.BusinessException; import com.xjs.mapper.ApiRecordMapper; @@ -36,17 +37,54 @@ public class ApiWarningServiceImpl implements ApiWarningService { } @Override - public boolean updateApiRecord(ApiRecord apiRecord) { + public boolean updateApiRecordByUrl(ApiRecord apiRecord) { int name = apiRecordMapper.update(apiRecord, new QueryWrapper() .eq("api_name", apiRecord.getApiName())); return name == 1; } @Override - public List selectApiRecordList(ApiRecord apiRecord) { + public List selectApiRecordListByUrl(ApiRecord apiRecord) { return apiRecordMapper - .selectList(new QueryWrapper().eq("api_name",apiRecord.getApiName()) - .eq("api_name",apiRecord.getApiName())); + .selectList(new QueryWrapper().eq("api_name", apiRecord.getApiName()) + .eq("api_name", apiRecord.getApiName())); + } + + + //------------------------代码生成------------------------------- + + /** + * 查询API预警 + * + * @param id API预警主键 + * @return API预警 + */ + @Override + public ApiRecord selectApiRecordById(Long id) { + return apiRecordMapper.selectApiRecordById(id); + } + + /** + * 查询API预警列表 + * + * @param apiRecord API预警 + * @return API预警 + */ + @Override + public List selectApiRecordList(ApiRecord apiRecord) { + return apiRecordMapper.selectApiRecordList(apiRecord); + } + + /** + * 修改API预警 + * + * @param apiRecord API预警 + * @return 结果 + */ + @Override + public int updateApiRecord(ApiRecord apiRecord) { + apiRecord.setUpdateTime(DateUtils.getNowDate()); + return apiRecordMapper.updateApiRecord(apiRecord); } diff --git a/xjs-business/xjs-business-warning/src/main/resources/mapper/apiwarning/ApiEnglishMapper.xml b/xjs-business/xjs-business-warning/src/main/resources/mapper/apiwarning/ApiEnglishMapper.xml index fc994eae..2d7c6409 100644 --- a/xjs-business/xjs-business-warning/src/main/resources/mapper/apiwarning/ApiEnglishMapper.xml +++ b/xjs-business/xjs-business-warning/src/main/resources/mapper/apiwarning/ApiEnglishMapper.xml @@ -4,5 +4,48 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + + + + + + + + + + + + + select id, api_name, api_url, total_count, limit_count, create_time, update_time,day_count,request_time + from api_record + + + + + + + + + update api_record + + api_name = #{apiName}, + api_url = #{apiUrl}, + total_count = #{totalCount}, + limit_count = #{limitCount}, + create_time = #{createTime}, + update_time = #{updateTime}, + + where id = #{id} + + \ No newline at end of file