Преглед на файлове

任务提交 加入删除策略时候发送mqtt

qinguocai преди 1 година
родител
ревизия
4c01ca28b0

+ 1 - 1
pom.xml

@@ -177,7 +177,7 @@
             <dependency>
                 <groupId>cn.hutool</groupId>
                 <artifactId>hutool-all</artifactId>
-                <version>5.8.8</version>
+                <version>5.8.25</version>
             </dependency>
 
             <!--mybatis plus-->

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/AchievementService.java

@@ -20,7 +20,7 @@ public interface AchievementService {
 
     Page<WaterLevelDTO> getWaterLevelList(WaterLevelQuery waterLevelQuery);
 
-    boolean downAchievement(Long result_id, HttpServletResponse response);
+    void downAchievement(Long result_id, HttpServletResponse response);
 
     List<TaskResultSortDTO> getScatterPlot(ScattperPlotQuery scattperPlotQuery);
 

+ 4 - 6
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AchievementServiceImpl.java

@@ -26,7 +26,6 @@ import com.ruoyi.system.service.SiteService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import reactor.core.publisher.Flux;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -60,6 +59,7 @@ public class AchievementServiceImpl implements AchievementService {
 
     @Resource
     private SiteService siteService;
+
     @Autowired
     private BerthingPointConfigMapper berthingPointConfigMapper;
 
@@ -95,8 +95,7 @@ public class AchievementServiceImpl implements AchievementService {
     }
 
     @Override
-    public boolean downAchievement(Long resultId, HttpServletResponse response) {
-
+    public void downAchievement(Long resultId, HttpServletResponse response) {
         ExcelWriter excelWriter = null;
         try {
             //查询resultId结果
@@ -147,11 +146,11 @@ public class AchievementServiceImpl implements AchievementService {
             map.put("acreagesum",taskResult.getAcreagesum());
             List<Double> WspeedsList = JSONUtil.parseArray(taskResult.getWspeeds()).toList(Double.class);
             double averageWspeed = WspeedsList.stream().mapToDouble(d -> d).average().orElse(Double.NaN);
-            BigDecimal averageWspeedBigDecimal = new BigDecimal(averageWspeed).setScale(2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal averageWspeedBigDecimal = new BigDecimal(averageWspeed).setScale(2, RoundingMode.HALF_UP);
             Double maxWspeed = WspeedsList.stream().max(Double::compareTo).orElse(Double.NaN);
             List<Double> waterlevelList = JSONUtil.parseArray(taskResult.getWaterlevels()).toList(Double.class);
             double averageWaterlevel = waterlevelList.stream().mapToDouble(d -> d).average().orElse(Double.NaN);
-            BigDecimal averageWaterlevelBigDecimal = new BigDecimal(averageWaterlevel).setScale(2, BigDecimal.ROUND_HALF_UP);
+            BigDecimal averageWaterlevelBigDecimal = new BigDecimal(averageWaterlevel).setScale(2, RoundingMode.HALF_UP);
             Double maxWaterlevel = waterlevelList.stream().max(Double::compareTo).orElse(Double.NaN);
             map.put("agWaterlevels",averageWaterlevelBigDecimal.toString());
             map.put("maxWaterlevels",String.valueOf(maxWaterlevel));
@@ -268,7 +267,6 @@ public class AchievementServiceImpl implements AchievementService {
             response.setCharacterEncoding("utf-8");
             String fileName = URLEncoder.encode("质检任务", StandardCharsets.UTF_8).replaceAll("\\+", "%20");
             response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
-            return true;
         } catch (Exception e) {
             log.error("下载失败", e);
             throw new BaseException(e.getMessage());

+ 48 - 6
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BerthingServiceImpl.java

@@ -307,8 +307,22 @@ public class BerthingServiceImpl implements BerthingService {
 
     @Override
     public Boolean deleteStopPointsById(Long id) {
-        berthingPointConfigMapper.deleteById(id);
-        return true;
+        BerthingPointConfig berthingPointConfig = berthingPointConfigMapper.queryById(id);
+        boolean res = berthingPointConfigMapper.deleteById(id) > 0;
+        if (berthingPointConfig != null) {
+            SiteInfo siteInfo = siteInfoMapper.queryById(berthingPointConfig.getSiteId());
+            //TODO 下发配置
+            String topic = "down/" + siteInfo.getDeviceId() + "/removePlan";
+            HashMap<String, Object> requestMap = new HashMap<>();
+            requestMap.put("id", siteInfo.getId());
+            requestMap.put("type",0);
+            requestMap.put("planid", berthingPointConfig.getPlanid());
+            requestMap.put("plantype", 0); //策略类型,0: 垂线停泊点;1: 时间计划;2: 水位变幅
+            String data = JSONUtil.toJsonStr(requestMap);
+            log.info("mqtt发送数据:topic:{} data:{}", topic, data);
+            mqttGateWayService.sendMessageToMqtt(data, topic);
+        }
+        return res;
     }
 
     @Override
@@ -398,8 +412,22 @@ public class BerthingServiceImpl implements BerthingService {
 
     @Override
     public boolean deleteStopTimeById(Long id) {
-        berthingTimeConfigMapper.deleteById(id);
-        return true;
+        BerthingTimeConfig berthingTimeConfig = berthingTimeConfigMapper.queryById(id);
+        boolean res = berthingTimeConfigMapper.deleteById(id) > 0;
+        if (berthingTimeConfig != null) {
+            SiteInfo siteInfo = siteInfoMapper.queryById(berthingTimeConfig.getSiteId());
+            //TODO 下发配置
+            String topic = "down/" + siteInfo.getDeviceId() + "/removePlan";
+            HashMap<String, Object> requestMap = new HashMap<>();
+            requestMap.put("id", siteInfo.getId());
+            requestMap.put("type", berthingTimeConfig.getType());
+            requestMap.put("planid", berthingTimeConfig.getPlanid());
+            requestMap.put("plantype", 1); //策略类型,0: 垂线停泊点;1: 时间计划;2: 水位变幅
+            String data = JSONUtil.toJsonStr(requestMap);
+            log.info("mqtt发送数据:topic:{} data:{}", topic, data);
+            mqttGateWayService.sendMessageToMqtt(data, topic);
+        }
+        return res;
     }
 
     @Override
@@ -490,8 +518,22 @@ public class BerthingServiceImpl implements BerthingService {
 
     @Override
     public boolean deleteStopWaterById(Long id) {
-        berthingFloatConfigMapper.deleteById(id);
-        return true;
+        BerthingFloatConfig berthingFloat = berthingFloatConfigMapper.queryById(id);
+        boolean res = berthingFloatConfigMapper.deleteById(id) > 0;
+        if (berthingFloat != null) {
+            SiteInfo siteInfo = siteInfoMapper.queryById(berthingFloat.getSiteId());
+            //TODO 下发配置
+            String topic = "down/" + siteInfo.getDeviceId() + "/removePlan";
+            HashMap<String, Object> requestMap = new HashMap<>();
+            requestMap.put("id", siteInfo.getId());
+            requestMap.put("type", berthingFloat.getType());
+            requestMap.put("planid", berthingFloat.getPlanid());
+            requestMap.put("plantype", 2); //策略类型,0: 垂线停泊点;1: 时间计划;2: 水位变幅
+            String data = JSONUtil.toJsonStr(requestMap);
+            log.info("mqtt发送数据:topic:{} data:{}", topic, data);
+            mqttGateWayService.sendMessageToMqtt(data, topic);
+        }
+        return res;
     }
 
 }

+ 1 - 10
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SiteServiceImpl.java

@@ -146,16 +146,7 @@ public class SiteServiceImpl implements SiteService {
     @Override
     public SiteConfig queryConfig(Long SiteId) {
         try {
-            SiteConfig siteConfig = siteConfigMapper.queryBySiteId(SiteId);
-            // 测试后需要删除
-//            SiteInfo siteInfo = siteInfoMapper.queryById(SiteId);
-//            String topic = "down/" + siteInfo.getDeviceId() + "/settings";
-//            SiteConfigMqttDTO siteConfigMqttDTO = new SiteConfigMqttDTO();
-//            BeanUtils.copyProperties(siteConfig, siteConfigMqttDTO);
-//            String data = JSONUtil.toJsonStr(siteConfigMqttDTO);
-//            log.info("mqtt发送数据:topic:{} data:{}",topic,data);
-//            mqttGateWayService.sendMessageToMqtt(data, topic);
-            return siteConfig;
+            return siteConfigMapper.queryBySiteId(SiteId);
         } catch (Exception e){
             log.error("查询站点信息错误", e);
             throw new BaseException("查询站点信息错误");

+ 1 - 1
ruoyi-system/src/main/resources/mapper/BerthingPointConfigMapper.xml

@@ -22,7 +22,7 @@
         select
             stop_id, id, site_id, planid, berthing_id, positions, create_time, status, is_del, wlevel, factors
         from berthing_point_config
-        where stop_id = #{stopId} and is_del = 0
+        where stop_id = #{stopId}
     </select>
 
     <!--查询单个-->

+ 1 - 1
ruoyi-system/src/main/resources/mapper/BerthingPointMapper.xml

@@ -20,7 +20,7 @@
         select
             berthing_id, id, site_id, berthing_name, positions, create_time, status, is_del, factors
         from berthing_point
-        where berthing_id = #{berthingId} and is_del = 0
+        where berthing_id = #{berthingId}
     </select>
 
     <!--查询单个-->

+ 1 - 1
ruoyi-system/src/main/resources/mapper/SiteInfoMapper.xml

@@ -29,7 +29,7 @@
         select
             site_id, id, site_name, site_type, lon, lat, site_time, admin_region, manage_unit, affiliated_unit, contact_name, contact_phone, creat_time, is_del, device_id, video_url, video_user, video_pwd, video_port
         from site_info
-        where site_id = #{siteId} and is_del = 0
+        where site_id = #{siteId}
     </select>
 
     <!--查询单个-->