sunhh пре 2 година
родитељ
комит
bd59d769d5

+ 1 - 1
business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java

@@ -18,7 +18,7 @@ import java.util.Map;
 public interface MsgWebPushMapper extends BaseMapper<MsgWebPush> {
     Integer webAlarmNum(@Param("userIds") List<String> userIds);
 
-    List<MsgWebPush> webAlarm(@Param("userIds") List<String> userIds);
+    List<MsgAlarm> webAlarm(@Param("userIds") List<String> userIds);
 
     List<MsgAlarm> messageMore(MsgAlarmVo msgAlarmVo);
 

+ 32 - 2
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.StringUtils;
@@ -12,12 +13,14 @@ import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgWebPush;
+import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.entity.vo.MsgAlarmVo;
 import com.ozs.service.mapper.MsgWebPushMapper;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
 import com.ozs.service.service.MsgAlarmFrequencyService;
 import com.ozs.service.service.MsgWebPushService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -51,9 +54,36 @@ public class MsgWebPushServiceImpl extends ServiceImpl<MsgWebPushMapper, MsgWebP
         List<String> userIds = baseCameraManagementService.getUserIds(userId);
         Map<String, Object> webAlarmMap = new HashMap<>();
         Integer webAlarmNum = msgWebPushMapper.webAlarmNum(userIds);
-        List<MsgWebPush> webAlarm = msgWebPushMapper.webAlarm(userIds);
+        List<MsgAlarm> webAlarm = msgWebPushMapper.webAlarm(userIds);
+        List<MsgAlarmResp> msgAlarmRespList = new ArrayList<>();
+        if (!StringUtils.isEmpty(webAlarm) && webAlarm.size() > 0) {
+            for (MsgAlarm msgAlarm : webAlarm) {
+                LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+                if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
+                    lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
+                }
+                BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
+                LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
+                    wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
+                }
+                BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
+                MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+                BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
+                msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
+                msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
+                String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+                String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+                String endMile = begin + "-" + end;
+                msgAlarmResp.setBeginMile(endMile);
+                String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+                msgAlarmResp.setAlarmMile(mile);
+                msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
+                msgAlarmRespList.add(msgAlarmResp);
+            }
+        }
         webAlarmMap.put("webAlarmNum", webAlarmNum);
-        webAlarmMap.put("webAlarm", webAlarm);
+        webAlarmMap.put("webAlarm", msgAlarmRespList);
         return webAlarmMap;
     }
 

+ 9 - 5
business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml

@@ -9,11 +9,15 @@
         </foreach>
     </select>
 
-    <select id="webAlarm" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgWebPush">
-        select * from msg_web_push where status = 1 and receive_by in
-        <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
-            #{item}
-        </foreach>
+    <select id="webAlarm" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgAlarm">
+        select b.* from (
+            select alarm_id from msg_web_push where status = 1 and receive_by in
+            <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
+                #{item}
+            </foreach>
+        ) a left join (
+            select * from msg_alarm
+        ) b on a.alarm_id = b.alarm_id
     </select>
 
     <select id="messageMoreByUserIds" parameterType="java.util.List" resultType="java.lang.String">

+ 0 - 1
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -1,6 +1,5 @@
 package com.ozs.web.controller.accountmanagment;
 
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;