Przeglądaj źródła

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

wyyay 2 lat temu
rodzic
commit
d846edf601

+ 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> {
+}

+ 5 - 0
business-service/src/main/java/com/ozs/service/mapper/UserRegistrationidMapper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.SvcAddress;
 import com.ozs.service.entity.UserRegistrationid;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @Author : sunhh
@@ -14,4 +17,6 @@ public interface UserRegistrationidMapper extends BaseMapper<UserRegistrationid>
     int updateRegistrationID(UserRegistrationid userRegistrationid);
 
     int addRegistrationID(UserRegistrationid userRegistrationid);
+
+    List<String> selectRegistrationID(@Param("userIdList") List<String> userIdList);
 }

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

+ 4 - 0
business-service/src/main/java/com/ozs/service/service/UserRegistrationidService.java

@@ -3,10 +3,14 @@ package com.ozs.service.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.UserRegistrationid;
 
+import java.util.List;
+
 /**
  * @Author : sunhh
  * @create 2023/3/14 17:07
  */
 public interface UserRegistrationidService extends IService<UserRegistrationid> {
     Integer addRegistrationID(UserRegistrationid userRegistrationid);
+
+    List<String> selectRegistrationID(List<String> userIdList);
 }

+ 4 - 2
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ozs.service.service.impl;
 
+import com.ozs.common.utils.AppendUtils;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.ozs.service.entity.CameraTree;
 import com.ozs.service.entity.vo.BaseCameraManagementDto;
@@ -59,9 +60,10 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                 }
 
                 // 里程
+                String mils = AppendUtils.stringAppend(o.getInstallMile());
                 CameraTree build1 = CameraTree.builder()
-                        .code(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
-                        .name(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
+                        .code(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
+                        .name(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
                         .flay(true)
                         .children(new ArrayList<>())
                         .build();

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

+ 5 - 0
business-service/src/main/java/com/ozs/service/service/impl/UserRegistrationidServiceImpl.java

@@ -35,4 +35,9 @@ public class UserRegistrationidServiceImpl extends ServiceImpl<UserRegistrationi
         }
         return add;
     }
+
+    @Override
+    public List<String> selectRegistrationID(List<String> userIdList) {
+        return userRegistrationidMapper.selectRegistrationID(userIdList);
+    }
 }

+ 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;
+//    }
+//}

+ 7 - 0
business-service/src/main/resources/mapper/service/UserRegistrationidMapper.xml

@@ -11,4 +11,11 @@
         </set>
         where user_id = #{userId}
     </update>
+
+    <select id="selectRegistrationID" resultType="java.lang.String" parameterType="java.util.List">
+        select registration_id from user_registrationid where user_id in
+        <foreach item="item" collection="userIdList" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

+ 15 - 1
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -20,6 +20,7 @@ import com.ozs.framework.config.ServerConfig;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
+import com.ozs.service.entity.CameraTree;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.BaseCameraManagementVo;
 import com.ozs.service.entity.vo.BaseCameraResVo;
@@ -417,7 +418,20 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation("视频服务树形结构")
     @GetMapping("/cameraTree")
     public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
-        return success(baseDeviceDynamicManagementService.cameraTree(name));
+        CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
+        List<CameraTree> children = cameraTree.getChildren();
+        for (CameraTree child : children) {
+            List<CameraTree> children1 = child.getChildren();
+            for (CameraTree tree : children1) {
+                List<CameraTree> children2 = tree.getChildren();
+                if (children2.size() < 2) {
+                    String code = children2.get(0).getName();
+                    tree.setCode(code);
+                    children2.remove(0);
+                }
+            }
+        }
+        return success(cameraTree);
     }
 
     @ApiOperation("关闭视频录制")

+ 6 - 6
hazard-admin/src/main/java/com/ozs/web/controller/common/CaptchaController.java

@@ -46,12 +46,12 @@ public class CaptchaController
     public AjaxResult getCode(HttpServletResponse response) throws IOException
     {
         AjaxResult ajax = AjaxResult.success();
-        boolean captchaEnabled = configService.selectCaptchaEnabled();
-        ajax.put("captchaEnabled", captchaEnabled);
-        if (!captchaEnabled)
-        {
-            return ajax;
-        }
+//        boolean captchaEnabled = configService.selectCaptchaEnabled();
+//        ajax.put("captchaEnabled", captchaEnabled);
+//        if (!captchaEnabled)
+//        {
+//            return ajax;
+//        }
 
         // 保存验证码信息
         String uuid = IdUtils.simpleUUID();

+ 9 - 0
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -53,6 +53,7 @@ import com.ozs.system.service.ISysUserService;
 @RequestMapping("/system/user")
 @Slf4j
 public class SysUserController extends BaseController {
+    public static final String PW_PATTERN = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,20}$";
     @Autowired
     private ISysUserService userService;
 
@@ -181,6 +182,10 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping("/add")
     public AjaxResult add(@Validated @RequestBody SysUser user) {
+        boolean matches = user.getPassword().matches(PW_PATTERN);
+        if (!matches) {
+            return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
+        }
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         } else if (StringUtils.isNotEmpty(user.getPhoneNum())
@@ -199,6 +204,10 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @RequestMapping(value ="/edit",method = RequestMethod.PUT)
     public AjaxResult edit(@Validated @RequestBody SysUser user) {
+        boolean matches = user.getPassword().matches(PW_PATTERN);
+        if (!matches) {
+            return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
+        }
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(user.getId());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {

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

@@ -10,6 +10,7 @@ import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
 import com.ozs.service.service.BaseUserService;
+import com.ozs.service.service.UserRegistrationidService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -17,6 +18,7 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -36,6 +38,8 @@ public class WebSocketConteoller extends BaseController {
     private BaseRailwayManagementService baseRailwayManagementService;
     @Autowired
     private BaseCameraManagementService baseCameraManagementService;
+    @Autowired
+    private UserRegistrationidService userRegistrationidService;
 
     @ResponseBody
     @PostMapping("/publish")
@@ -64,9 +68,18 @@ public class WebSocketConteoller extends BaseController {
         webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
 
         // app 消息推送
-        List<String> alias = new ArrayList<String>();
-        alias.add("sunhh");
-        JPushUtil.sendToRegistrationId(alias, "中奖通知!!!!", "中奖通知!!!!!", "恭喜你中了100000000个亿!!!!", "https://www.baidu.com");
+        List<String> userIdList = new ArrayList<>(set);
+        List<String> alias = userRegistrationidService.selectRegistrationID(userIdList);
+        // List<String> alias = new ArrayList<String>();
+        // alias.add("sunhh");
+        Date alarmTime = msgAlarm.getAlarmTime();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String formatDate = sdf.format(alarmTime != null ? alarmTime : new Date());
+        JPushUtil.sendToRegistrationId(
+                alias,
+                "报警通知!", cameraName,
+                formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + mile + "     " + endMile,
+                "");
         HashMap<String, Object> map = new HashMap<>();
         map.put("code", 200);
         return map;

BIN
hazard-admin/src/main/resources/template/baseCameraManagement.xlsx