diff options
| author | wangkuan <[email protected]> | 2020-09-30 15:49:51 +0800 |
|---|---|---|
| committer | wangkuan <[email protected]> | 2020-09-30 15:49:51 +0800 |
| commit | 7612071ac6cd7555f0a52cbcab45c3d341a3fc2e (patch) | |
| tree | b0a7d8eeeb9a79d790798127522e8790678e4567 /src/main | |
| parent | 466f97d47151b9b57e6fa6345f3b905b0be8ecca (diff) | |
新增监控接口/monitor
Diffstat (limited to 'src/main')
6 files changed, 137 insertions, 1 deletions
diff --git a/src/main/java/com/mesa/reportservice/bean/MonitorEntity.java b/src/main/java/com/mesa/reportservice/bean/MonitorEntity.java new file mode 100644 index 0000000..54c7d84 --- /dev/null +++ b/src/main/java/com/mesa/reportservice/bean/MonitorEntity.java @@ -0,0 +1,62 @@ +package com.mesa.reportservice.bean; + +import java.util.Map; + +/** + * Created by wk1 on 2019/5/15. + */ +public class MonitorEntity { + + private Long queueJobNum; + private Long excuteingJobNum; + private Long todaySuccessJobNum; + private Long todayErrorJobNum; + + private Map<String,JobEntity> joblist ; + + + + public MonitorEntity() { + + } + + public Long getQueueJobNum() { + return queueJobNum; + } + + public void setQueueJobNum(Long queueJobNum) { + this.queueJobNum = queueJobNum; + } + + public Long getExcuteingJobNum() { + return excuteingJobNum; + } + + public void setExcuteingJobNum(Long excuteingJobNum) { + this.excuteingJobNum = excuteingJobNum; + } + + public Long getTodaySuccessJobNum() { + return todaySuccessJobNum; + } + + public void setTodaySuccessJobNum(Long todaySuccessJobNum) { + this.todaySuccessJobNum = todaySuccessJobNum; + } + + public Long getTodayErrorJobNum() { + return todayErrorJobNum; + } + + public void setTodayErrorJobNum(Long todayErrorJobNum) { + this.todayErrorJobNum = todayErrorJobNum; + } + + public Map<String, JobEntity> getJoblist() { + return joblist; + } + + public void setJoblist(Map<String, JobEntity> joblist) { + this.joblist = joblist; + } +} diff --git a/src/main/java/com/mesa/reportservice/controller/MonitorController.java b/src/main/java/com/mesa/reportservice/controller/MonitorController.java new file mode 100644 index 0000000..01f55a5 --- /dev/null +++ b/src/main/java/com/mesa/reportservice/controller/MonitorController.java @@ -0,0 +1,50 @@ +package com.mesa.reportservice.controller; + +import com.alibaba.fastjson.JSONArray; +import com.mesa.reportservice.bean.MonitorEntity; +import com.mesa.reportservice.configuration.GlobelConfig; +import com.mesa.reportservice.service.MysqlService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * Created by wk on 2020/4/16. + */ +@RestController +@Component +public class MonitorController { + + private final org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(this.getClass()); + @Autowired + private MysqlService mysqlService; + + + @GetMapping(value = "/monitor") + public String getReportStatus() { + + + String json=""; + try { + MonitorEntity me = new MonitorEntity(); + Map<String,Long> numMap = mysqlService.getJobCount(); + me.setQueueJobNum(numMap.get("queueNum")); + me.setExcuteingJobNum(numMap.get("excuteingNum")); + me.setTodaySuccessJobNum(numMap.get("todaySuccessNum")); + me.setTodayErrorJobNum(numMap.get("todayErrorNum")); + me.setJoblist(GlobelConfig.mapresult); + GlobelConfig.mapresult.size(); + Object obj = JSONArray.toJSON(me); + json = obj.toString(); + } catch (Exception e) { + logger.error(e.toString()); + } + + return json; + } + + +} diff --git a/src/main/java/com/mesa/reportservice/mapper/ReportResultMapper.java b/src/main/java/com/mesa/reportservice/mapper/ReportResultMapper.java index 37f52de..d0b845c 100644 --- a/src/main/java/com/mesa/reportservice/mapper/ReportResultMapper.java +++ b/src/main/java/com/mesa/reportservice/mapper/ReportResultMapper.java @@ -17,4 +17,7 @@ public interface ReportResultMapper { int updateProcesses(JobEntity job); int updateStatue(JobEntity job); + + Map<String,Long> getJobCount(Map<String, Object> map); + }
\ No newline at end of file diff --git a/src/main/java/com/mesa/reportservice/service/MysqlService.java b/src/main/java/com/mesa/reportservice/service/MysqlService.java index e1402cf..f6d9dca 100644 --- a/src/main/java/com/mesa/reportservice/service/MysqlService.java +++ b/src/main/java/com/mesa/reportservice/service/MysqlService.java @@ -4,6 +4,7 @@ package com.mesa.reportservice.service; import com.mesa.reportservice.bean.JobEntity; import java.util.List; +import java.util.Map; public interface MysqlService { @@ -19,5 +20,6 @@ public interface MysqlService { int updateStatue(JobEntity job); + Map<String,Long> getJobCount() throws Exception; -} + } diff --git a/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java b/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java index efee435..534a90e 100644 --- a/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java +++ b/src/main/java/com/mesa/reportservice/service/impl/MysqlServiceImpl.java @@ -13,6 +13,7 @@ import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * Created by wk1 on 2020/1/2. @@ -76,4 +77,15 @@ public class MysqlServiceImpl implements MysqlService { return 0; } } + + @Override + public Map<String,Long> getJobCount() throws Exception { + String current_time = DateUtil.getDate(); + String today_time = DateUtil.getCurrentDate(); + HashMap map = new HashMap(); + map.put("endtime", current_time); + map.put("optime", today_time); + return rrm.getJobCount(map); + } + }
\ No newline at end of file diff --git a/src/main/resources/mappers/ReportResultMapper.xml b/src/main/resources/mappers/ReportResultMapper.xml index aa6281a..a425efc 100644 --- a/src/main/resources/mappers/ReportResultMapper.xml +++ b/src/main/resources/mappers/ReportResultMapper.xml @@ -87,4 +87,11 @@ where result_id = #{resultId,jdbcType=INTEGER} </update> + + <select id="getJobCount" resultType="map" parameterType="hashmap"> + SELECT (SELECT COUNT(1) FROM report_result where status = 0 and is_valid = 1 and end_time < #{endtime}) as queueNum, + (SELECT COUNT(1) FROM report_result where status = 1 and is_valid = 1 ) as excuteingNum, + (SELECT COUNT(1) FROM report_result where status = 2 and op_time > #{optime} ) as todaySuccessNum, + (SELECT COUNT(1) FROM report_result where status > 2 and op_time > #{optime} ) as todayErrorNum + </select> </mapper>
\ No newline at end of file |
