Selaa lähdekoodia

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

gao.qiang 2 vuotta sitten
vanhempi
commit
6a8582db5d

+ 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);
 

+ 31 - 5
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.utils.AppendUtils;
 import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.StringUtils;
@@ -12,17 +11,17 @@ 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;
 
-import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -51,9 +50,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;
     }
 

+ 5 - 2
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -21,6 +21,7 @@
         <association property="baseCameraManagement" javaType="com.ozs.service.entity.BaseCameraManagement">
             <id column="id" property="id"/>
             <result column="railway_code" property="railwayCode"/>
+            <result column="railwayName" property="railwayName"/>
             <result column="channel" property="channel"/>
             <result column="install_mile" property="installMile"/>
             <result column="begin_mile" property="beginMile"/>
@@ -51,11 +52,13 @@
         b.begin_mile AS begin_mile,
         b.end_mile AS end_mile,
         b.install_longitude AS install_longitude,
-        b.install_latitude AS install_latitude
+        b.install_latitude AS install_latitude,
+        c.railway_name AS railwayName
         FROM
         msg_alarm AS a left join
         base_camera_management AS b on a.camera_code=b.camera_code left join
-        msg_web_push m on a.alarm_id = m.alarm_id
+        msg_web_push m on a.alarm_id = m.alarm_id left join
+        base_railway_management c on b.railway_code=c.railway_code
 
         <where>
             <if test="railwayCode != null and railwayCode != ''">

+ 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">

+ 12 - 5
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;
@@ -8,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
@@ -284,8 +285,9 @@ public class MsgAlarmController extends BaseController {
     public AjaxResult dataStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
         Integer pageNum = alarmStatisticResVo.getPageNum().intValue();
         Integer pageSize = alarmStatisticResVo.getPageSize().intValue();
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         IPage<AlarmStatisticVo> page = msgAlarmService.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
@@ -308,8 +310,10 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public AjaxResult alarmMonthStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        ;
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         List<AlarmStatisticMonthDto> list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
@@ -333,8 +337,9 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public void exportDataStatistic(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         try {
@@ -347,6 +352,7 @@ public class MsgAlarmController extends BaseController {
                 String lineDir = l.getLineDir();
                 String lineDirValue = dictDataService.selectDictLabel("sys_line_dir", lineDir);
                 l.setLineDirValue(lineDirValue);
+
             });
             ExcelUtil<AlarmStatisticDto> util = new ExcelUtil<>(AlarmStatisticDto.class);
             util.exportExcel(response, list, "报警数据详情");
@@ -371,8 +377,9 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public void exportDataStatisticMonth(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         try {

+ 4 - 1
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -84,7 +84,10 @@ public class WebSocketConteoller extends BaseController {
         // 推送消息reqMsgAlarmVo
         webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
         // app 消息推送
-        List<String> alias = userRegistrationidService.selectRegistrationID(userIdList);
+        List<String> alias = new ArrayList<>();
+        if (!StringUtils.isEmpty(userIdList) || userIdList.size() > 0) {
+            alias = userRegistrationidService.selectRegistrationID(userIdList);
+        }
         // List<String> alias = new ArrayList<String>();
         // alias.add("sunhh");
         if (!StringUtils.isEmpty(alias) || alias.size() > 0) {