package com.tongran.rocketmq.controller; import com.tongran.common.core.utils.poi.ExcelUtil; import com.tongran.common.core.web.controller.BaseController; import com.tongran.common.core.web.domain.AjaxResult; import com.tongran.common.core.web.page.PageDomain; import com.tongran.common.core.web.page.TableDataInfo; import com.tongran.common.log.annotation.Log; import com.tongran.common.log.enums.BusinessType; import com.tongran.common.security.annotation.RequiresPermissions; import com.tongran.rocketmq.domain.InitialDiskInfo; import com.tongran.rocketmq.service.IInitialDiskInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Map; /** * 磁盘监控信息Controller * * @author gyt * @date 2025-08-25 */ @RestController @RequestMapping("/diskInfo") public class InitialDiskInfoController extends BaseController { @Autowired private IInitialDiskInfoService initialDiskInfoService; /** * 查询磁盘监控信息列表 */ @RequiresPermissions("rocketmq:diskInfo:list") @PostMapping("/list") public TableDataInfo list(@RequestBody InitialDiskInfo initialDiskInfo) { PageDomain pageDomain = new PageDomain(); pageDomain.setPageNum(initialDiskInfo.getPageNum()); pageDomain.setPageSize(initialDiskInfo.getPageSize()); startPage(pageDomain); List list = initialDiskInfoService.selectInitialDiskInfoList(initialDiskInfo); return getDataTable(list); } /** * 导出磁盘监控信息列表 */ @RequiresPermissions("rocketmq:diskInfo:export") @Log(title = "磁盘监控信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, InitialDiskInfo initialDiskInfo) { List list = initialDiskInfoService.selectInitialDiskInfoList(initialDiskInfo); ExcelUtil util = new ExcelUtil(InitialDiskInfo.class); util.exportExcel(response, list, "磁盘监控信息数据"); } /** * 获取磁盘监控信息详细信息 */ @RequiresPermissions("rocketmq:diskInfo:query") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(initialDiskInfoService.selectInitialDiskInfoById(id)); } /** * 新增磁盘监控信息 */ @RequiresPermissions("rocketmq:diskInfo:add") @Log(title = "磁盘监控信息", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody InitialDiskInfo initialDiskInfo) { return toAjax(initialDiskInfoService.insertInitialDiskInfo(initialDiskInfo)); } /** * 修改磁盘监控信息 */ @RequiresPermissions("rocketmq:diskInfo:edit") @Log(title = "磁盘监控信息", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody InitialDiskInfo initialDiskInfo) { return toAjax(initialDiskInfoService.updateInitialDiskInfo(initialDiskInfo)); } /** * 删除磁盘监控信息 */ @RequiresPermissions("rocketmq:diskInfo:remove") @Log(title = "磁盘监控信息", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(initialDiskInfoService.deleteInitialDiskInfoByIds(ids)); } /** * 磁盘设备/dev/sda基础信息 * @param initialDiskInfo * @return */ @RequiresPermissions("rocketmq:distInfo:list") @PostMapping("/getDistDetailsMsg") public AjaxResult distDetailsMsg(@RequestBody InitialDiskInfo initialDiskInfo){ return success(initialDiskInfoService.getDistDetailsMsg(initialDiskInfo)); } /** * /dev/sda读写速率(KB/s) * @param initialDiskInfo * @return */ @RequiresPermissions("rocketmq:distInfo:list") @PostMapping("/rwSpeedEcharts") public AjaxResult rwSpeedEcharts(@RequestBody InitialDiskInfo initialDiskInfo){ Map echartsData = initialDiskInfoService.rwSpeedEcharts(initialDiskInfo); return success(echartsData); } /** * /dev/sda读写次数 * @param initialDiskInfo * @return */ @RequiresPermissions("rocketmq:distInfo:list") @PostMapping("/rwTimesEcharts") public AjaxResult rwTimesEcharts(@RequestBody InitialDiskInfo initialDiskInfo){ Map echartsData = initialDiskInfoService.rwTimesEcharts(initialDiskInfo); return success(echartsData); } /** * /dev/sda读写字节 * @param initialDiskInfo * @return */ @RequiresPermissions("rocketmq:distInfo:list") @PostMapping("/rwBytesEcharts") public AjaxResult rwBytesEcharts(@RequestBody InitialDiskInfo initialDiskInfo){ Map echartsData = initialDiskInfoService.rwBytesEcharts(initialDiskInfo); return success(echartsData); } /** * 获取指定服务器的磁盘名称 * @param initialDiskInfo * @return */ @RequiresPermissions("rocketmq:mountPointInfo:list") @PostMapping("/getAllDistName") public AjaxResult getAllDistName(@RequestBody InitialDiskInfo initialDiskInfo){ List list = initialDiskInfoService.getAllDistName(initialDiskInfo); return success(list); } }