优化查看脚本执行结果、mtragent管理初版

This commit is contained in:
gaoyutao
2025-11-18 18:21:04 +08:00
parent bd65b27605
commit c91504912b
42 changed files with 2975 additions and 0 deletions
@@ -2,12 +2,17 @@ package com.ruoyi.rocketmq.controller;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageDomain;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.rocketmq.domain.RmResourceRemote;
import com.ruoyi.rocketmq.service.IRmResourceRemoteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 资源远程管理Controller
*
@@ -32,5 +37,20 @@ public class RmResourceRemoteController extends BaseController
return success(rmResourceRemoteService.getScriptResultBySn(rmResourceRemote));
}
/**
* 获取资源远程管理详细信息 -- 分页
*/
@RequiresPermissions("rocketmq:remote:query")
@PostMapping(value = "/getScriptResultByScriptId")
public TableDataInfo getScriptResultByScriptId(@RequestBody RmResourceRemote rmResourceRemote)
{
PageDomain pageDomain = new PageDomain();
pageDomain.setPageNum(rmResourceRemote.getPageNum());
pageDomain.setPageSize(rmResourceRemote.getPageSize());
startPage(pageDomain);
List<Map<String, Object>> list = rmResourceRemoteService.getScriptResultByScriptId(rmResourceRemote);
return getDataTable(list);
}
}
@@ -61,5 +61,7 @@ public class RmNetworkInterface extends BaseEntity
private String bindIp;
/** 是否为新信息 */
private Integer newFlag;
/** 服务器clientId集合 */
private String clientIds;
}
@@ -62,4 +62,11 @@ public interface IRmResourceRemoteService
public int deleteRmResourceRemoteById(Long id);
Map<String,Object> getScriptResultBySn(RmResourceRemote rmResourceRemote);
/**
* 根据脚本策略id查询执行结果
* @param rmResourceRemote
* @return
*/
List<Map<String, Object>> getScriptResultByScriptId(RmResourceRemote rmResourceRemote);
}
@@ -137,4 +137,30 @@ public class RmResourceRemoteServiceImpl implements IRmResourceRemoteService
resultMap.put("scriptResult", scriptList);
return resultMap;
}
@Override
public List<Map<String, Object>> getScriptResultByScriptId(RmResourceRemote rmResourceRemote) {
// 脚本执行结果构建
List<Map<String, Object>> scriptList = new ArrayList<>();
List<RmResourceRemote> reslutList = rmResourceRemoteMapper.selectRmResourceRemoteList(rmResourceRemote);
for (RmResourceRemote resourceRemote : reslutList) {
// 脚本执行返回结果
JSONObject jsonObject = JSONObject.parseObject(resourceRemote.getDescription());
String command = jsonObject.getString("command");
String resOut = jsonObject.getString("resOut");
String sucOrFail = (!"".equals(resOut) && !"脚本执行失败".equals(resOut)) ? "\n执行成功,\n":"\n执行失败,\n";
StringBuilder resultSb = new StringBuilder();
resultSb.append("").append(resourceRemote.getClientId()).append("】脚本执行命令:\n")
.append(command).append(sucOrFail).append("执行结果如下:\n").append(resOut);
Map<String,Object> map = new HashMap<>();
Date createTime = resourceRemote.getCreateTime();
String createTimeStr = DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", createTime);
map.put("createTime", createTimeStr);
map.put("content", resultSb);
map.put("clientId", resourceRemote.getClientId());
map.put("resultFlag", resourceRemote.getResultFlag());
scriptList.add(map);
}
return scriptList;
}
}