123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- package com.ruoyi.system.service.impl;
- import cn.hutool.json.JSONUtil;
- import com.ruoyi.system.domain.*;
- import com.ruoyi.system.mapper.*;
- import com.ruoyi.system.service.SaveDataService;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- import java.util.Date;
- /**
- * classname: 站点信息
- * description 服务实现类
- */
- @Service
- @Slf4j
- public class SaveDataServiceImpl implements SaveDataService {
- @Resource
- private HeartBeatMapper heartBeatMapper;
- @Resource
- private SiteInfoMapper siteInfoMapper;
- @Resource
- private TaskNoticeMapper taskNoticeMapper;
- @Resource
- private TaskResultMapper taskResultMapper;
- @Resource
- private CarPositionMapper carPositionMapper;
- @Resource
- private MeasureUploadMapper measureUploadMapper;
- @Resource
- private WaterLevelMapper waterLevelMapper;
- @Override
- public void saveDate(String data, String topics) {
- String[] topicsList = topics.split("/");
- if (topicsList.length == 3) {
- String action = topicsList[2];
- switch (action) {
- case "heartbeat" ->
- //存入心跳
- heartbeat(data);
- case "startMeasure" ->
- //开始测流
- startMeasure(data);
- case "taskFault" ->
- //任务故障
- taskFault(data);
- case "positionUpdate" ->
- //小车位置
- positionUpdate(data);
- case "measureBegin" ->
- //停泊点开始测流
- measureBegin(data);
- case "measureUpload" ->
- //停泊点流速上报
- measureUpload(data);
- case "return" ->
- //小车开始返航
- xiaoReturn(data);
- case "taskend" ->
- //小车任务完成上报
- taskend(data);
- case "waterLevelUpload" ->
- //水位数据上报
- waterLevelUpload(data);
- case "resultUpload" ->
- //测流结果上报
- resultUpload(data);
- default -> log.error("topic 命令没找到:{}", topics);
- }
- } else {
- log.error("topic is error:{}",topics);
- }
- }
- public void heartbeat(String data){
- try {
- HeartBeat heartBeat = JSONUtil.toBean(data, HeartBeat.class);
- heartBeat.setHeartId(0L);
- heartBeat.setCreateTime(new Date());
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(heartBeat.getId());
- if (siteInfo == null){
- log.error("查询站点失败入库失败 站码:{}",heartBeat.getId());
- return;
- }
- heartBeat.setSiteId(siteInfo.getSiteId());
- heartBeatMapper.insert(heartBeat);
- log.info("insert heartbeat:{}",heartBeat);
- } catch (Exception e) {
- log.error("存入心跳 入库错误:",e);
- }
- }
- public void startMeasure(String data){
- try {
- TaskNotice taskNotice = JSONUtil.toBean(data, TaskNotice.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskNotice.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskNotice.getId());
- return;
- }
- taskNotice.setStartId(0L);
- if (taskNotice.getWorkmode() == 1) {
- taskNotice.setRemark("时间任务触发 开始测流任务");
- } else if (taskNotice.getWorkmode() == 2) {
- taskNotice.setRemark("变幅任务触发 开始测流任务");
- } else if (taskNotice.getWorkmode() == 3) {
- taskNotice.setRemark("手动任务触发 开始测流任务");
- }
- taskNotice.setCreateTime(new Date());
- taskNotice.setSiteId(siteInfo.getSiteId());
- taskNoticeMapper.insert(taskNotice);
- //新建结果报告 状态设置为测流中
- TaskResult taskResult = new TaskResult();
- taskResult.setResultId(0L);
- taskResult.setTaskid(taskNotice.getTaskid());
- taskResult.setStatus(0);
- taskResult.setSiteId(siteInfo.getSiteId());
- taskResult.setCreateTime(new Date());
- taskResultMapper.insert(taskResult);
- } catch (Exception e) {
- log.error("开始测流 入库错误:",e);
- }
- }
- public void taskFault(String data) {
- try {
- TaskNotice taskNotice = JSONUtil.toBean(data, TaskNotice.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskNotice.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskNotice.getId());
- return;
- }
- taskNotice.setStartId(0L);
- taskNotice.setRemark("任务故障");
- taskNotice.setCreateTime(new Date());
- taskNotice.setSiteId(siteInfo.getSiteId());
- taskNoticeMapper.insert(taskNotice);
- } catch (Exception e) {
- log.error("任务故障 入库错误:", e);
- }
- }
- public void positionUpdate(String data){
- try {
- CarPosition carPosition= JSONUtil.toBean(data, CarPosition.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(carPosition.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", carPosition.getId());
- return;
- }
- carPosition.setSiteId(siteInfo.getSiteId());
- carPosition.setCarId(0L);
- carPosition.setCreateTime(new Date());
- carPositionMapper.insert(carPosition);
- } catch (Exception e) {
- log.error("小车位置 入库错误:", e);
- }
- }
- public void measureBegin(String data){
- try {
- TaskNotice taskNotice = JSONUtil.toBean(data, TaskNotice.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskNotice.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskNotice.getId());
- return;
- }
- taskNotice.setStartId(0L);
- taskNotice.setRemark(taskNotice.getPn() + "号停泊点开始测流");
- taskNotice.setCreateTime(new Date());
- taskNotice.setSiteId(siteInfo.getSiteId());
- taskNoticeMapper.insert(taskNotice);
- } catch (Exception e) {
- log.error("停泊点开始测流 入库错误:", e);
- }
- }
- public void measureUpload(String data){
- try {
- MeasureUpload measureUpload= JSONUtil.toBean(data, MeasureUpload.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(measureUpload.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", measureUpload.getId());
- return;
- }
- measureUpload.setSiteId(siteInfo.getSiteId());
- measureUpload.setMeasureId(0L);
- measureUpload.setCreateTime(new Date());
- measureUploadMapper.insert(measureUpload);
- } catch (Exception e) {
- log.error("停泊点流速上报 入库错误:", e);
- }
- }
- public void taskend(String data){
- try {
- TaskNotice taskNotice = JSONUtil.toBean(data, TaskNotice.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskNotice.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskNotice.getId());
- return;
- }
- taskNotice.setStartId(0L);
- taskNotice.setRemark("小车任务完成");
- taskNotice.setCreateTime(new Date());
- taskNotice.setSiteId(siteInfo.getSiteId());
- taskNoticeMapper.insert(taskNotice);
- } catch (Exception e) {
- log.error("小车任务完成 入库错误:", e);
- }
- }
- public void waterLevelUpload(String data){
- try {
- WaterLevel waterLevel = JSONUtil.toBean(data, WaterLevel.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(waterLevel.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", waterLevel.getId());
- return;
- }
- waterLevel.setCreateTime(new Date());
- waterLevel.setWaterId(0L);
- waterLevel.setSiteId(siteInfo.getSiteId());
- waterLevelMapper.insert(waterLevel);
- } catch (Exception e) {
- log.error("小车任务完成 入库错误:", e);
- }
- }
- public void xiaoReturn(String data){
- try {
- TaskNotice taskNotice = JSONUtil.toBean(data, TaskNotice.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskNotice.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskNotice.getId());
- return;
- }
- taskNotice.setStartId(0L);
- taskNotice.setRemark("小车开始返航");
- taskNotice.setCreateTime(new Date());
- taskNotice.setSiteId(siteInfo.getSiteId());
- taskNoticeMapper.insert(taskNotice);
- } catch (Exception e) {
- log.error("小车返航 入库错误:", e);
- }
- }
- public void resultUpload(String data){
- try {
- TaskResult taskResult = JSONUtil.toBean(data, TaskResult.class);
- SiteInfo siteInfo = siteInfoMapper.queryBySiteCode(taskResult.getId());
- if (siteInfo == null) {
- log.error("查询站点失败入库失败 站码:{}", taskResult.getId());
- return;
- }
- TaskResult one = taskResultMapper.queryByTaskid(taskResult.getTaskid());
- if (one == null) {
- log.error("测流结果上报 数据更新失败 taskid {}", taskResult.getTaskid());
- return;
- }
- taskResult.setResultId(one.getResultId());
- taskResult.setStatus(2);
- taskResultMapper.update(taskResult);
- } catch (Exception e) {
- log.error("测流结果上报 入库错误:", e);
- }
- }
- }
|