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.domain.ApiWarning; 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; /** * @author xiejs * @desc api预警控制器 * @create 2021-12-31 */ @RestController @RequestMapping("apiwarning") public class ApiWarningController extends BaseController { @Autowired private ApiWarningService apiWarningService; /** * 保存 apiRecord * * @param apiRecord api记录 * @return apiRecord */ @PostMapping public R saveApiRecordForRPC(@RequestBody ApiRecord apiRecord) { return apiWarningService.saveApiRecord(apiRecord) ? R.ok() : R.fail(); } /** * 修改 * * @param apiRecord api记录 * @return ApiRecord */ @PutMapping public R updateApiRecordForRPC(@RequestBody ApiRecord apiRecord) { return apiWarningService.updateApiRecordByUrl(apiRecord) ? R.ok() : R.fail(); } /** * 远程查询api记录信息 * @param apiRecord * @return R> */ @GetMapping public R> selectApiRecordListForRPC(ApiRecord apiRecord) { List apiRecords = apiWarningService.selectApiRecordListByUrl(apiRecord); return R.ok(apiRecords); } /** * 远程保存api预警信息 * @param apiWarning 预警实体类 * @return R */ @PostMapping("saveApiwarningForRPC") public R saveApiWarningForRPC(@RequestBody ApiWarning apiWarning) { boolean save = apiWarningService.save(apiWarning); return save? R.ok():R.fail(); } //-------------------------代码生成------------------------------------ /** * 查询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)); } }