Kaynağa Gözat

web 消息已读

sunhh 2 yıl önce
ebeveyn
işleme
f9afa8c56e

+ 70 - 0
business-service/src/main/java/com/ozs/service/entity/MsgWebPush.java

@@ -0,0 +1,70 @@
+package com.ozs.service.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ozs.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/15 14:31
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@ApiModel("Web推送报警信息记录表")
+public class MsgWebPush extends BaseEntity {
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 报警唯一标识
+     */
+    private String alarmId;
+
+    /**
+     * 接收人
+     */
+    private String receiveBy;
+
+    /**
+     * 状态:0未读;1已读
+     */
+    private Integer status;
+
+    /**
+     * 创建人
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    /**
+     * 修改人
+     */
+    private String updateBy;
+
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+}

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

@@ -0,0 +1,13 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.MsgWebPush;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/15 14:35
+ */
+@Mapper
+public interface MsgWebPushMapper extends BaseMapper<MsgWebPush> {
+}

+ 13 - 0
business-service/src/main/java/com/ozs/service/service/MsgWebPushService.java

@@ -0,0 +1,13 @@
+package com.ozs.service.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.service.entity.MsgAppPush;
+import com.ozs.service.entity.MsgWebPush;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/15 14:33
+ */
+public interface MsgWebPushService extends IService<MsgWebPush>  {
+    int read(MsgWebPush msgWebPush);
+}

+ 25 - 0
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -0,0 +1,25 @@
+package com.ozs.service.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.service.entity.MsgWebPush;
+import com.ozs.service.mapper.MsgWebPushMapper;
+import com.ozs.service.service.MsgWebPushService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/15 14:34
+ */
+@Service
+public class MsgWebPushServiceImpl extends ServiceImpl<MsgWebPushMapper, MsgWebPush> implements MsgWebPushService {
+    @Autowired
+    private MsgWebPushMapper msgWebPushMapper;
+
+    @Override
+    public int read(MsgWebPush msgWebPush) {
+        // 状态:1未读;2已读
+        msgWebPush.setStatus(2);
+        return msgWebPushMapper.updateById(msgWebPush);
+    }
+}

+ 29 - 0
business-service/src/main/java/com/ozs/service/utils/StringUtils.java

@@ -0,0 +1,29 @@
+//package com.ozs.service.utils;
+//
+///**
+// * @Author : sunhh
+// * @create 2023/3/15 14:41
+// */
+//public class StringUtils {
+//    //为null,为"",为 "   "
+//    public static boolean isEmpty(final Object obj) {
+//        int strLen;
+//        if (obj == null) {
+//            return true;
+//        } else {
+//            CharSequence cs = obj.toString().trim();
+//            if ((strLen = cs.length()) == 0) {
+//                return true;
+//            } else if (obj.toString().trim().toLowerCase().equals("null")) {
+//                return true;
+//            } else {
+//                for (int i = 0; i < strLen; i++) {
+//                    if (Character.isWhitespace(cs.charAt(i)) == false) {
+//                        return false;
+//                    }
+//                }
+//            }
+//        }
+//        return true;
+//    }
+//}

+ 19 - 42
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -7,29 +7,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 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.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
-import com.ozs.service.entity.BaseCameraManagement;
-import com.ozs.service.entity.BaseRailwayManagement;
-import com.ozs.service.entity.MsgAlarm;
-import com.ozs.service.entity.MsgAlarmFrequency;
+import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.MsgAlarmMapper;
-import com.ozs.service.service.BaseCameraManagementService;
-import com.ozs.service.service.BaseRailwayManagementService;
-import com.ozs.service.service.MsgAlarmFrequencyService;
-import com.ozs.service.service.MsgAlarmService;
+import com.ozs.service.service.*;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFRow;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.ss.util.CellRangeAddress;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -45,11 +32,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -79,25 +62,19 @@ public class MsgAlarmController extends BaseController {
     BaseRailwayManagementService baseRailwayManagementService;
     @Value("${base.imgUrl:http://124.71.171.71:18801/picbucket}")
     private String imgUrl;
-
+    @Autowired
+    private MsgWebPushService msgWebPushService;
 
     /**
-     * 测试消息推送
+     * web消息已读
      */
-    @PostMapping("/push")
+    @PostMapping("/read")
     @ApiOperation(value = "预报警信息分页")
-    public AjaxResult insertDate(String[] args) {
-        // 模拟需要推送的用户群
-        ArrayList<String> ids = new ArrayList<>();
-        ids.add("001");
-        ids.add("002");
-        ids.add("003");
-        ids.add("004");
-        ids.add("005");
-//
-//        WebSocketService webSocketService = new WebSocketService();
-//        webSocketService.sendMsgToUsers(ids);
-        return AjaxResult.success("推送成功");
+    public AjaxResult read(@RequestBody MsgWebPush msgWebPush) {
+        if (StringUtils.isEmpty(msgWebPush) || StringUtils.isEmpty(msgWebPush.getId())) {
+            return AjaxResult.error("主键ID不能为空!");
+        }
+        return toAjax(msgWebPushService.read(msgWebPush));
     }
 
     /**
@@ -109,7 +86,7 @@ public class MsgAlarmController extends BaseController {
     @ApiOperation(value = "报警信息分页")
     @PostMapping("/list")
     public AjaxResult selectMsgAlarm(@RequestBody MsgAlarmVo msgAlarmVo) {
-        List<BaseCameraManagement> baseCameraManagementList=new ArrayList<>();
+        List<BaseCameraManagement> baseCameraManagementList = new ArrayList<>();
         LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
         if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode())) {
             wrapper.eq(BaseCameraManagement::getRailwayCode, msgAlarmVo.getRailwayCode());
@@ -120,7 +97,7 @@ public class MsgAlarmController extends BaseController {
         if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
             wrapper.le(BaseCameraManagement::getEndMile, msgAlarmVo.getEndMile());
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode())||!ObjectUtils.isEmpty(msgAlarmVo.getBeginMile())||!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode()) || !ObjectUtils.isEmpty(msgAlarmVo.getBeginMile()) || !ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
             baseCameraManagementList = baseCameraManagementService.list(wrapper);
         }
         List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
@@ -131,14 +108,14 @@ public class MsgAlarmController extends BaseController {
         if (!ObjectUtils.isEmpty(msgAlarmVo.getLineDir())) {
             lw.eq(MsgAlarm::getLineDir, msgAlarmVo.getLineDir());
         }
-        if (baseCameraManagementList.size()>0) {
+        if (baseCameraManagementList.size() > 0) {
             List<String> collect = baseCameraManagementList.stream().map(BaseCameraManagement::getCameraCode).collect(Collectors.toList());
             lw.in(MsgAlarm::getCameraCode, collect);
         }
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmType())) {
             lw.eq(MsgAlarm::getAlarmType, msgAlarmVo.getAlarmType());
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())&& msgAlarmVo.getAlarmMile() != 0) {
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile()) && msgAlarmVo.getAlarmMile() != 0) {
             lw.eq(MsgAlarm::getAlarmMile, msgAlarmVo.getAlarmMile());
         }
         if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginAlarmTime())) {
@@ -151,7 +128,7 @@ public class MsgAlarmController extends BaseController {
             lw.eq(MsgAlarm::getIsLock, msgAlarmVo.getIsLock());
         }
         IPage<MsgAlarm> page = msgAlarmService.page(new Page<>(msgAlarmVo.getPageNum(), msgAlarmVo.getPageSize()), lw);
-        if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<MsgAlarm> dto1 = page.getRecords().stream().map(o -> {
                 ArrayList<String> objects = new ArrayList<>();
                 String[] split = o.getImageUrl().split(";");
@@ -178,7 +155,7 @@ public class MsgAlarmController extends BaseController {
                 o.setEndMile(end);
                 String begin = AppendUtils.stringAppend(cameraManagement.getBeginMile());
                 o.setBeginMile(begin);
-                o.setAlarmCount((int) msgAlarmFrequencyService.count()+1);
+                o.setAlarmCount((int) msgAlarmFrequencyService.count() + 1);
                 return o;
             }).collect(Collectors.toList());
             page.setRecords(dto1);
@@ -206,11 +183,11 @@ public class MsgAlarmController extends BaseController {
         msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
         String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
         String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-        String endMile=begin+"-"+end;
+        String endMile = begin + "-" + end;
         msgAlarmResp.setBeginMile(endMile);
         String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
         msgAlarmResp.setAlarmMile(mile);
-        msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
+        msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
         ArrayList<String> objects = new ArrayList<>();
         String[] split = msgAlarm.getImageUrl().split(";");
         for (String s : split) {

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

@@ -74,11 +74,11 @@ public class WebSocketConteoller extends BaseController {
         // alias.add("sunhh");
         Date alarmTime = msgAlarm.getAlarmTime();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String formatDate = sdf.format(alarmTime);
+        String formatDate = sdf.format(alarmTime != null ? alarmTime : new Date());
         JPushUtil.sendToRegistrationId(
                 alias,
                 "报警通知!", cameraName,
-                formatDate + "     " + ("1".equals(msgAlarmResp.getAlarmType()) ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + mile + "     " + endMile,
+                formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + mile + "     " + endMile,
                 "");
         HashMap<String, Object> map = new HashMap<>();
         map.put("code", 200);