diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnController.java index 1954d51..9f8601b 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/MntnController.java @@ -3,7 +3,11 @@ package com.shxy.xymanager_admin.controller; import com.shxy.xymanager_common.base.BaseController; import com.shxy.xymanager_common.base.ResponseReult; +import com.shxy.xymanager_common.exception.ApiException; +import com.shxy.xymanager_common.util.DingTalkPushUtil; import com.shxy.xymanager_common.util.HttpRequestUtil; +import com.shxy.xymanager_common.util.JSONUtil; +import com.shxy.xymanager_common.util.StringUtils; import com.shxy.xymanager_service.service.MntnService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -26,13 +30,27 @@ public class MntnController extends BaseController { @PostMapping("") @ApiOperation("上传心跳并返回命令") - public HashMap sync(@RequestBody HashMap data, - HttpServletRequest req, HttpServletResponse resp) throws Exception { - String ip = HttpRequestUtil.getRemoteIp(req); - String multi = req.getHeader("Accept-Cmds"); - HashMap result = service.sync(ip, multi, data); - resp.setHeader("ResSyncTime", String.valueOf(System.currentTimeMillis())); - return result; + public HashMap sync(@RequestBody String data, + HttpServletRequest req, HttpServletResponse resp) { + try { + String ip = HttpRequestUtil.getRemoteIp(req); + String multi = req.getHeader("Accept-Cmds"); + HashMap map = JSONUtil.json2Object(data, HashMap.class); + String cmdid = (String) map.get("id"); + if (StringUtils.isBlank(cmdid)) { + throw new ApiException("id不能为空"); + } + HashMap result = service.sync(cmdid, ip, multi, data); + resp.setHeader("ResSyncTime", String.valueOf(System.currentTimeMillis())); + return result; + } catch (Exception ex) { + String str = ex.getMessage() + ", 数据:" + data; + DingTalkPushUtil.pushText("运维心跳", str); + HashMap result = new HashMap<>(); + result.put("code", "400"); + result.put("msg", ex.getMessage()); + return result; + } } @GetMapping("status") diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java index c544430..8b7f318 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/CmdServiceImpl.java @@ -851,11 +851,10 @@ public class CmdServiceImpl implements CmdService { @Async @Override - public void addRawReport(Integer termId, String ip, HashMap data) { - String json = JSONUtil.object2Json(data); + public void addRawReport(Integer termId, String ip, String content) { MntnRawReports item = new MntnRawReports(); item.setTermId(termId); - item.setContent(json); + item.setContent(content); item.setIp(ip); item.setCreateTime(System.currentTimeMillis() / 1000); rawReportsMapper.insert(item); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnServiceImpl.java index 143d10a..297d007 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnServiceImpl.java @@ -38,8 +38,7 @@ public class MntnServiceImpl implements MntnService { CmdService cmdService; @Override - public HashMap sync(String ip, String multi, HashMap data) throws Exception { - String cmdid = (String) data.get("id"); + public HashMap sync(String cmdid, String ip, String multi, String data) throws Exception { Terminals term = terminalExtService.getByCmdid(cmdid); if (term == null) { throw new ApiException("该装置不存在"); diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CmdService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CmdService.java index f990034..27ce815 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CmdService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/CmdService.java @@ -6,8 +6,6 @@ import com.shxy.xymanager_common.entity.MntnCmdHistory; import com.shxy.xymanager_common.entity.MntnCmds; import com.shxy.xymanager_common.model.CmdModel; -import java.util.HashMap; - public interface CmdService { @@ -19,5 +17,5 @@ public interface CmdService { void send(CmdModel model) throws Exception; - void addRawReport(Integer termId, String ip, HashMap data); + void addRawReport(Integer termId, String ip, String content); } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnService.java index ac93cc1..b443e86 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnService.java @@ -4,7 +4,7 @@ import java.util.HashMap; public interface MntnService { - HashMap sync(String ip, String multi, HashMap data) throws Exception; + HashMap sync(String cmdid, String ip, String multi, String data) throws Exception; void result(Integer cid, Integer res, String content); }