From c62fd4fe148e081f7b87bcb6d4be876191edf91b Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 26 Aug 2024 10:02:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=90=84=E7=BA=BF=E8=B7=AF=E4=B8=8B=E7=9A=84=E4=B8=8A=E5=9B=BE?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MntnController.java | 6 +- .../controller/TerminalExtController.java | 17 ++--- .../shxy/xymanager_common/model/StatDay.java | 4 +- .../xymanager_common/model/StatMaintain.java | 3 +- .../xymanager_common/model/StatModel.java | 12 ++++ .../impl/MntnDayStatServiceImpl.java | 11 ++- .../impl/TerminalExtServiceImpl.java | 68 ++++++++----------- .../service/MntnDayStatService.java | 5 ++ .../service/TerminalExtService.java | 3 +- 9 files changed, 72 insertions(+), 57 deletions(-) create mode 100644 xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatModel.java 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 cb7c7ce..746d727 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 @@ -49,7 +49,11 @@ public class MntnController extends BaseController { } catch (Exception ex) { if (!ClearCacheTask.heartbeatMap.containsKey(ip)) { ClearCacheTask.heartbeatMap.put(ip, 1L); - log.error("上传心跳异常", ex); + if (ex instanceof ApiException) { + log.error("上传心跳异常, " + ex.getMessage()); + } else { + log.error("上传心跳异常.", ex); + } String str = ex.getMessage() + ", ip=" + ip + ", url=" + url + ", " + data; DingTalkPushUtil.pushText("运维心跳", str); } diff --git a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java index 04e4a7e..41f76d5 100644 --- a/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java +++ b/xymanager_admin/src/main/java/com/shxy/xymanager_admin/controller/TerminalExtController.java @@ -112,20 +112,17 @@ public class TerminalExtController extends BaseController { @GetMapping("statMaintain") @ApiOperation("运维统计") @Log(title = "运维统计", type = "统计") - public ResponseReult statMaintain(TerminalSelectVo vo) throws Exception { - if (vo.getStart() == null) { + public ResponseReult> statMaintain(StatModel model) throws Exception { + if (model.getStart() == null) { throw new ApiException("start不能为空"); } - if (vo.getEnd() == null) { + if (model.getEnd() == null) { throw new ApiException("end不能为空"); } - vo.setPageindex(1); - vo.setPagesize(10000); - long cost = System.currentTimeMillis(); - StatMaintain result = terminalExtService.statMaintain(vo); - result.setLineId(vo.getLineId()); - cost = System.currentTimeMillis() - cost; - log.info("statMaintain cost=" + cost); + if (model.getLineIds() == null) { + throw new ApiException("lineIds不能为空"); + } + List result = terminalExtService.statMaintain(model); return ResponseReult.success(result); } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatDay.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatDay.java index 916fea0..5a3e089 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatDay.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatDay.java @@ -1,13 +1,13 @@ package com.shxy.xymanager_common.model; +import com.shxy.xymanager_common.entity.MntnDayStat; import lombok.Data; -import java.util.ArrayList; import java.util.Date; import java.util.List; @Data public class StatDay { Date day; - List termList = new ArrayList<>(); + List termList; } diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatMaintain.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatMaintain.java index 2eb0d4e..02c261e 100644 --- a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatMaintain.java +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatMaintain.java @@ -1,5 +1,6 @@ package com.shxy.xymanager_common.model; +import com.shxy.xymanager_common.entity.Lines; import com.shxy.xymanager_common.entity.View_Dy_Line_Tower_Terminals; import com.shxy.xymanager_common.util.DateUtil; import lombok.Data; @@ -10,9 +11,9 @@ import java.util.List; @Data public class StatMaintain { + Lines line; List termList; List dayList = new ArrayList<>(); - int lineId; public void initDayList(Long d1, Long d2) throws Exception { Date start = new Date(d1 * 1000); diff --git a/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatModel.java b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatModel.java new file mode 100644 index 0000000..2fc85d6 --- /dev/null +++ b/xymanager_common/src/main/java/com/shxy/xymanager_common/model/StatModel.java @@ -0,0 +1,12 @@ +package com.shxy.xymanager_common.model; + +import lombok.Data; + +import java.util.List; + +@Data +public class StatModel { + List lineIds; + private Long start; + private Long end; +} diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnDayStatServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnDayStatServiceImpl.java index 94b9c0d..841f99c 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnDayStatServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/MntnDayStatServiceImpl.java @@ -3,7 +3,6 @@ package com.shxy.xymanager_service.impl; import com.github.pagehelper.PageHelper; import com.shxy.xymanager_common.entity.*; -import com.shxy.xymanager_common.model.StatTerm; import com.shxy.xymanager_dao.dao.MntnDayStatMapper; import com.shxy.xymanager_dao.dao.MntnRawReportsMapper; import com.shxy.xymanager_service.service.MntnDayStatService; @@ -66,4 +65,14 @@ public class MntnDayStatServiceImpl implements MntnDayStatService { } } } + + @Override + public List list(Date day, List termIds) { + MntnDayStatExample example = new MntnDayStatExample(); + MntnDayStatExample.Criteria criteria = example.createCriteria(); + criteria.andDateEqualTo(day); + criteria.andTermIdIn(termIds); + List list = dayStatMapper.selectByExample(example); + return list; + } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java index b936fac..fa9e59c 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/impl/TerminalExtServiceImpl.java @@ -6,12 +6,8 @@ import com.shxy.xymanager_common.bean.PermissionDetail; import com.shxy.xymanager_common.entity.*; import com.shxy.xymanager_common.enums.CommonStatus; import com.shxy.xymanager_common.exception.ApiException; -import com.shxy.xymanager_common.model.StatDay; -import com.shxy.xymanager_common.model.StatMaintain; -import com.shxy.xymanager_common.model.StatTerm; -import com.shxy.xymanager_common.model.UploadModel; +import com.shxy.xymanager_common.model.*; import com.shxy.xymanager_common.page.PageUtils; -import com.shxy.xymanager_common.util.DateUtil; import com.shxy.xymanager_common.util.xinyin.TerminalUtils; import com.shxy.xymanager_common.vo.TerminalSelectVo; import com.shxy.xymanager_dao.dao.*; @@ -54,6 +50,8 @@ public class TerminalExtServiceImpl implements TerminalExtService { NewCacheService newCacheService; @Resource TerminalChannelMapperDao channelMapperDao; + @Resource + MntnDayStatService mntnDayStatService; @Override @@ -289,49 +287,37 @@ public class TerminalExtServiceImpl implements TerminalExtService { } @Override - public StatMaintain statMaintain(TerminalSelectVo vo) throws Exception { + public List statMaintain(StatModel model) throws Exception { + List result = new ArrayList<>(); + for (Integer lineId : model.getLineIds()) { + StatMaintain stat = this.statOneLine(lineId, model.getStart(), model.getEnd()); + result.add(stat); + } + return result; + } + + private StatMaintain statOneLine(Integer lineId, Long start, Long end) throws Exception { + Lines line = newCacheService.getLine(lineId); StatMaintain stat = new StatMaintain(); - stat.initDayList(vo.getStart(), vo.getEnd()); + stat.initDayList(start, end); + stat.setLine(line); + TerminalSelectVo vo = new TerminalSelectVo(); + vo.setPageindex(1); + vo.setPagesize(10000); + vo.setLineId(lineId); PageInfo page = this.getTerminalList(vo); stat.setTermList(page.getList()); - if (!CollectionUtils.isEmpty(stat.getTermList())) { + List idList = new ArrayList<>(); + for (View_Dy_Line_Tower_Terminals term : stat.getTermList()) { + idList.add(term.getId()); + } + if (!CollectionUtils.isEmpty(idList)) { for (StatDay item : stat.getDayList()) { - this.statOneDay(item, stat.getTermList()); + List list = mntnDayStatService.list(item.getDay(), idList); + item.setTermList(list); } } return stat; } - - private void statOneDay(StatDay item, List list) throws Exception { - long today = DateUtil.getTodayZero().getTime() / 1000; - for (View_Dy_Line_Tower_Terminals term : list) { - Long start = item.getDay().getTime() / 1000; - if (start < today) { - StatTerm statTerm = newCacheService.getOneDayStat(term.getId(), start); - if (statTerm != null) { - item.getTermList().add(statTerm); - } - } else { - Long end = start + 60 * 60 * 24; - MntnRawReportsExample example = new MntnRawReportsExample(); - MntnRawReportsExample.Criteria criteria = example.createCriteria(); - criteria.andTermIdEqualTo(term.getId()); - criteria.andCreateTimeGreaterThanOrEqualTo(start); - criteria.andCreateTimeLessThan(end); - example.setOrderByClause("create_time desc"); - PageHelper.startPage(1, 1); - List reportsList = rawReportsMapper.selectByExample(example); - if (!CollectionUtils.isEmpty(reportsList)) { - MntnRawReports reports = reportsList.get(0); - reports.makeRawReport(); - - StatTerm statTerm = new StatTerm(); - statTerm.setTermId(term.getId()); - statTerm.setUploads(reports.getReportMap().get("uploads")); - item.getTermList().add(statTerm); - } - } - } - } } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnDayStatService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnDayStatService.java index 1da239d..dc10e97 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnDayStatService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/MntnDayStatService.java @@ -1,11 +1,16 @@ package com.shxy.xymanager_service.service; +import com.shxy.xymanager_common.entity.MntnDayStat; + import java.util.Date; +import java.util.List; public interface MntnDayStatService { long countTotal(); void storeOneDay(Date day, Integer termId); + + List list(Date day, List termIds); } diff --git a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalExtService.java b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalExtService.java index f03a3d6..291f168 100644 --- a/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalExtService.java +++ b/xymanager_service/src/main/java/com/shxy/xymanager_service/service/TerminalExtService.java @@ -3,6 +3,7 @@ package com.shxy.xymanager_service.service; import com.github.pagehelper.PageInfo; import com.shxy.xymanager_common.entity.*; import com.shxy.xymanager_common.model.StatMaintain; +import com.shxy.xymanager_common.model.StatModel; import com.shxy.xymanager_common.model.UploadModel; import com.shxy.xymanager_common.vo.*; @@ -23,5 +24,5 @@ public interface TerminalExtService { void importTerminal(UploadModel model); - StatMaintain statMaintain(TerminalSelectVo vo) throws Exception; + List statMaintain(StatModel model) throws Exception; }