‘liusuyi’
2023-07-21 b0cac5f13a8af64e9c50f2e0d73a6626bec92252
增加app一键报警业务
优化全局报警包名
已添加12个文件
已重命名40个文件
已修改14个文件
1674 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/access/controller/ArdAlarmAccessController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/access/domain/ArdAlarmAccess.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/access/mapper/ArdAlarmAccessMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/access/service/IArdAlarmAccessService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/access/service/impl/ArdAlarmAccessServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/apponekey/controller/ArdAlarmApponekeyController.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/apponekey/domain/ArdAlarmApponekey.java 168 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/apponekey/service/IArdAlarmApponekeyService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/camera/controller/ArdAlarmCameraController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/camera/domain/ArdAlarmCamera.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/camera/mapper/ArdAlarmCameraMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/camera/service/IArdAlarmCameraService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/camera/service/impl/ArdAlarmCameraServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/external/controller/ArdAlarmExternalController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/external/domain/ArdAlarmExternal.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/external/mapper/ArdAlarmExternalMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/external/service/IArdAlarmExternalService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/external/service/impl/ArdAlarmExternalServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/controller/GlobalAlarmController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GlobalAlarmCondition.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GlobalAlarmData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePriorityQueue.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/IGlobalAlarmService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueManager.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadar.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/RadarAlarmData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/steal/controller/ardAlarmStealElecController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/steal/domain/ArdAlarmStealelec.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/steal/mapper/ArdAlarmStealelecMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/steal/service/IStealElecAlarmService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tube/controller/ArdAlarmTubeController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tube/domain/ArdAlarmTube.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tube/mapper/ArdAlarmTubeMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tube/service/IArdAlarmTubeService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tube/service/impl/ArdAlarmTubeServiceImpl.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/controller/ArdWallController.java 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/domain/ArdWall.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/mapper/ArdWallMapper.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/service/IArdWallService.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/service/impl/ArdWallServiceImpl.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/constant/CamPriority.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmAccessMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmApponekeyMapper.xml 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmExternalMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmStealelecMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/access/controller/ArdAlarmAccessController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/accessAlarm/controller/ArdAlarmAccessController.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.ruoyi.alarm.accessAlarm.controller;
package com.ruoyi.alarm.access.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.accessAlarm.service.IArdAlarmAccessService;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import com.ruoyi.alarm.access.service.IArdAlarmAccessService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
ard-work/src/main/java/com/ruoyi/alarm/access/domain/ArdAlarmAccess.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/accessAlarm/domain/ArdAlarmAccess.java ÐÞ¸Ä
@@ -1,10 +1,8 @@
package com.ruoyi.alarm.accessAlarm.domain;
package com.ruoyi.alarm.access.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
ard-work/src/main/java/com/ruoyi/alarm/access/mapper/ArdAlarmAccessMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/accessAlarm/mapper/ArdAlarmAccessMapper.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.ruoyi.alarm.accessAlarm.mapper;
package com.ruoyi.alarm.access.mapper;
import java.util.List;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import org.apache.ibatis.annotations.Param;
ard-work/src/main/java/com/ruoyi/alarm/access/service/IArdAlarmAccessService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/accessAlarm/service/IArdAlarmAccessService.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.ruoyi.alarm.accessAlarm.service;
package com.ruoyi.alarm.access.service;
import java.util.List;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
/**
ard-work/src/main/java/com/ruoyi/alarm/access/service/impl/ArdAlarmAccessServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/accessAlarm/service/impl/ArdAlarmAccessServiceImpl.java ÐÞ¸Ä
@@ -1,10 +1,10 @@
package com.ruoyi.alarm.accessAlarm.service.impl;
package com.ruoyi.alarm.access.service.impl;
import java.util.List;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.accessAlarm.mapper.ArdAlarmAccessMapper;
import com.ruoyi.alarm.accessAlarm.service.IArdAlarmAccessService;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper;
import com.ruoyi.alarm.access.service.IArdAlarmAccessService;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
ard-work/src/main/java/com/ruoyi/alarm/apponekey/controller/ArdAlarmApponekeyController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
package com.ruoyi.alarm.apponekey.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
import com.ruoyi.alarm.apponekey.service.IArdAlarmApponekeyService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * app一键报警Controller
 *
 * @author ard
 * @date 2023-07-21
 */
@RestController
@RequestMapping("/alarm/apponekey")
public class ArdAlarmApponekeyController extends BaseController
{
    @Autowired
    private IArdAlarmApponekeyService ardAlarmApponekeyService;
    /**
     * æŸ¥è¯¢app一键报警列表
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdAlarmApponekey ardAlarmApponekey)
    {
        startPage();
        List<ArdAlarmApponekey> list = ardAlarmApponekeyService.selectArdAlarmApponekeyList(ardAlarmApponekey);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºapp一键报警列表
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:export')")
    @Log(title = "app一键报警", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdAlarmApponekey ardAlarmApponekey)
    {
        List<ArdAlarmApponekey> list = ardAlarmApponekeyService.selectArdAlarmApponekeyList(ardAlarmApponekey);
        ExcelUtil<ArdAlarmApponekey> util = new ExcelUtil<ArdAlarmApponekey>(ArdAlarmApponekey.class);
        util.exportExcel(response, list, "app一键报警数据");
    }
    /**
     * èŽ·å–app一键报警详细信息
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
        return success(ardAlarmApponekeyService.selectArdAlarmApponekeyById(id));
    }
    /**
     * æ–°å¢žapp一键报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:add')")
    @Log(title = "app一键报警", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdAlarmApponekey ardAlarmApponekey)
    {
        return toAjax(ardAlarmApponekeyService.insertArdAlarmApponekey(ardAlarmApponekey));
    }
    /**
     * ä¿®æ”¹app一键报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:edit')")
    @Log(title = "app一键报警", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdAlarmApponekey ardAlarmApponekey)
    {
        return toAjax(ardAlarmApponekeyService.updateArdAlarmApponekey(ardAlarmApponekey));
    }
    /**
     * åˆ é™¤app一键报警
     */
    @PreAuthorize("@ss.hasPermi('alarm:apponekey:remove')")
    @Log(title = "app一键报警", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(ardAlarmApponekeyService.deleteArdAlarmApponekeyByIds(ids));
    }
}
ard-work/src/main/java/com/ruoyi/alarm/apponekey/domain/ArdAlarmApponekey.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,168 @@
package com.ruoyi.alarm.apponekey.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
/**
 * app一键报警对象 ard_alarm_apponekey
 *
 * @author ard
 * @date 2023-07-21
 */
public class ArdAlarmApponekey extends BaseEntity {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    private String id;
    /**
     * app用户ID
     */
    @Excel(name = "app用户ID")
    private String userId;
    /**
     * app用户姓名
     */
    @Excel(name = "app用户姓名")
    private String name;
    /**
     * ç»åº¦
     */
    @Excel(name = "经度")
    private Double longitude;
    /**
     * çº¬åº¦
     */
    @Excel(name = "纬度")
    private Double latitude;
    /**
     * é«˜å±‚
     */
    @Excel(name = "高层")
    private Double altitude;
    /**
     * å½•像url
     */
    @Excel(name = "录像url")
    private String recordUrl;
    /**
     * æŸ¥çœ‹æ—¶é—´
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "查看时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date viewTime;
    /**
     * æŠ¥è­¦æ€»æ•°
     */
    private Integer total;
    /**
     * æœªè¯»æŠ¥è­¦æ•°é‡
     */
    private Integer count;
    public Date getViewTime() {
        return viewTime;
    }
    public void setViewTime(Date viewTime) {
        this.viewTime = viewTime;
    }
    public Integer getTotal() {
        return total;
    }
    public void setTotal(Integer total) {
        this.total = total;
    }
    public Integer getCount() {
        return count;
    }
    public void setCount(Integer count) {
        this.count = count;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getId() {
        return id;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUserId() {
        return userId;
    }
    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }
    public Double getLongitude() {
        return longitude;
    }
    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }
    public Double getLatitude() {
        return latitude;
    }
    public void setAltitude(Double altitude) {
        this.altitude = altitude;
    }
    public Double getAltitude() {
        return altitude;
    }
    public void setRecordUrl(String recordUrl) {
        this.recordUrl = recordUrl;
    }
    public String getRecordUrl() {
        return recordUrl;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("userId", getUserId())
                .append("longitude", getLongitude())
                .append("latitude", getLatitude())
                .append("altitude", getAltitude())
                .append("recordUrl", getRecordUrl())
                .append("createTime", getCreateTime())
                .toString();
    }
}
ard-work/src/main/java/com/ruoyi/alarm/apponekey/mapper/ArdAlarmApponekeyMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,70 @@
package com.ruoyi.alarm.apponekey.mapper;
import java.util.List;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
import org.apache.ibatis.annotations.Param;
/**
 * app一键报警Mapper接口
 *
 * @author ard
 * @date 2023-07-21
 */
public interface ArdAlarmApponekeyMapper
{
    /**
     * æŸ¥è¯¢app一键报警
     *
     * @param id app一键报警主键
     * @return app一键报警
     */
    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id);
    /**
     * æŸ¥è¯¢app一键报警列表
     *
     * @param ardAlarmApponekey app一键报警
     * @return app一键报警集合
     */
    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * æ–°å¢žapp一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    public int insertArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * ä¿®æ”¹app一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * åˆ é™¤app一键报警
     *
     * @param id app一键报警主键
     * @return ç»“æžœ
     */
    public int deleteArdAlarmApponekeyById(String id);
    /**
     * æ‰¹é‡åˆ é™¤app一键报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdAlarmApponekeyByIds(String[] ids);
    int selectCountByAlarmTime(@Param("refreshTime") String refreshTime);
    public List<ArdAlarmApponekey> selectListAllByCommand(@Param("refreshTime") String refreshTime);
    public int updateViewTimeByUserId(@Param("userId")String userId,@Param("createTime") String createTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/java/com/ruoyi/alarm/apponekey/service/IArdAlarmApponekeyService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.alarm.apponekey.service;
import java.util.List;
import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
/**
 * app一键报警Service接口
 *
 * @author ard
 * @date 2023-07-21
 */
public interface IArdAlarmApponekeyService
{
    /**
     * æŸ¥è¯¢app一键报警
     *
     * @param id app一键报警主键
     * @return app一键报警
     */
    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id);
    /**
     * æŸ¥è¯¢app一键报警列表
     *
     * @param ardAlarmApponekey app一键报警
     * @return app一键报警集合
     */
    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * æ–°å¢žapp一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    public int insertArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * ä¿®æ”¹app一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey);
    /**
     * æ‰¹é‡åˆ é™¤app一键报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„app一键报警主键集合
     * @return ç»“æžœ
     */
    public int deleteArdAlarmApponekeyByIds(String[] ids);
    /**
     * åˆ é™¤app一键报警信息
     *
     * @param id app一键报警主键
     * @return ç»“æžœ
     */
    public int deleteArdAlarmApponekeyById(String id);
}
ard-work/src/main/java/com/ruoyi/alarm/apponekey/service/impl/ArdAlarmApponekeyServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,89 @@
package com.ruoyi.alarm.apponekey.service.impl;
import java.util.List;
        import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper;
import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
import com.ruoyi.alarm.apponekey.service.IArdAlarmApponekeyService;
/**
 * app一键报警Service业务层处理
 *
 * @author ard
 * @date 2023-07-21
 */
@Service
public class ArdAlarmApponekeyServiceImpl implements IArdAlarmApponekeyService {
    @Autowired
    private ArdAlarmApponekeyMapper ardAlarmApponekeyMapper;
    /**
     * æŸ¥è¯¢app一键报警
     *
     * @param id app一键报警主键
     * @return app一键报警
     */
    @Override
    public ArdAlarmApponekey selectArdAlarmApponekeyById(String id) {
        return ardAlarmApponekeyMapper.selectArdAlarmApponekeyById(id);
    }
    /**
     * æŸ¥è¯¢app一键报警列表
     *
     * @param ardAlarmApponekey app一键报警
     * @return app一键报警
     */
    @Override
    public List<ArdAlarmApponekey> selectArdAlarmApponekeyList(ArdAlarmApponekey ardAlarmApponekey) {
        return ardAlarmApponekeyMapper.selectArdAlarmApponekeyList(ardAlarmApponekey);
    }
    /**
     * æ–°å¢žapp一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    @Override
    public int insertArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey) {
            return ardAlarmApponekeyMapper.insertArdAlarmApponekey(ardAlarmApponekey);
    }
    /**
     * ä¿®æ”¹app一键报警
     *
     * @param ardAlarmApponekey app一键报警
     * @return ç»“æžœ
     */
    @Override
    public int updateArdAlarmApponekey(ArdAlarmApponekey ardAlarmApponekey) {
        return ardAlarmApponekeyMapper.updateArdAlarmApponekey(ardAlarmApponekey);
    }
    /**
     * æ‰¹é‡åˆ é™¤app一键报警
     *
     * @param ids éœ€è¦åˆ é™¤çš„app一键报警主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdAlarmApponekeyByIds(String[] ids) {
        return ardAlarmApponekeyMapper.deleteArdAlarmApponekeyByIds(ids);
    }
    /**
     * åˆ é™¤app一键报警信息
     *
     * @param id app一键报警主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdAlarmApponekeyById(String id) {
        return ardAlarmApponekeyMapper.deleteArdAlarmApponekeyById(id);
    }
}
ard-work/src/main/java/com/ruoyi/alarm/camera/controller/ArdAlarmCameraController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/cameraAlarm/controller/ArdAlarmCameraController.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.ruoyi.alarm.cameraAlarm.controller;
package com.ruoyi.alarm.camera.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera;
import com.ruoyi.alarm.cameraAlarm.service.IArdAlarmCameraService;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
import com.ruoyi.alarm.camera.service.IArdAlarmCameraService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
ard-work/src/main/java/com/ruoyi/alarm/camera/domain/ArdAlarmCamera.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/cameraAlarm/domain/ArdAlarmCamera.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.cameraAlarm.domain;
package com.ruoyi.alarm.camera.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
ard-work/src/main/java/com/ruoyi/alarm/camera/mapper/ArdAlarmCameraMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/cameraAlarm/mapper/ArdAlarmCameraMapper.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.ruoyi.alarm.cameraAlarm.mapper;
package com.ruoyi.alarm.camera.mapper;
import java.util.List;
import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
import org.apache.ibatis.annotations.Param;
ard-work/src/main/java/com/ruoyi/alarm/camera/service/IArdAlarmCameraService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/cameraAlarm/service/IArdAlarmCameraService.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.ruoyi.alarm.cameraAlarm.service;
package com.ruoyi.alarm.camera.service;
import java.util.List;
import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
/**
 * é€šç”¨å…‰ç”µæŠ¥è­¦Service接口
 * 
ard-work/src/main/java/com/ruoyi/alarm/camera/service/impl/ArdAlarmCameraServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/cameraAlarm/service/impl/ArdAlarmCameraServiceImpl.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.ruoyi.alarm.cameraAlarm.service.impl;
package com.ruoyi.alarm.camera.service.impl;
import java.util.List;
import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera;
import com.ruoyi.alarm.cameraAlarm.mapper.ArdAlarmCameraMapper;
import com.ruoyi.alarm.cameraAlarm.service.IArdAlarmCameraService;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
import com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper;
import com.ruoyi.alarm.camera.service.IArdAlarmCameraService;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
ard-work/src/main/java/com/ruoyi/alarm/external/controller/ArdAlarmExternalController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/externalAlarm/controller/ArdAlarmExternalController.java ÐÞ¸Ä
@@ -1,10 +1,10 @@
package com.ruoyi.alarm.externalAlarm.controller;
package com.ruoyi.alarm.external.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.externalAlarm.service.IArdAlarmExternalService;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.service.IArdAlarmExternalService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
ard-work/src/main/java/com/ruoyi/alarm/external/domain/ArdAlarmExternal.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/externalAlarm/domain/ArdAlarmExternal.java ÐÞ¸Ä
@@ -1,11 +1,9 @@
package com.ruoyi.alarm.externalAlarm.domain;
package com.ruoyi.alarm.external.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
ard-work/src/main/java/com/ruoyi/alarm/external/mapper/ArdAlarmExternalMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/externalAlarm/mapper/ArdAlarmExternalMapper.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.ruoyi.alarm.externalAlarm.mapper;
package com.ruoyi.alarm.external.mapper;
import java.util.List;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import org.apache.ibatis.annotations.Param;
/**
ard-work/src/main/java/com/ruoyi/alarm/external/service/IArdAlarmExternalService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/externalAlarm/service/IArdAlarmExternalService.java ÐÞ¸Ä
@@ -1,7 +1,7 @@
package com.ruoyi.alarm.externalAlarm.service;
package com.ruoyi.alarm.external.service;
import java.util.List;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
/**
ard-work/src/main/java/com/ruoyi/alarm/external/service/impl/ArdAlarmExternalServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/externalAlarm/service/impl/ArdAlarmExternalServiceImpl.java ÐÞ¸Ä
@@ -1,9 +1,9 @@
package com.ruoyi.alarm.externalAlarm.service.impl;
package com.ruoyi.alarm.external.service.impl;
import java.util.List;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.externalAlarm.mapper.ArdAlarmExternalMapper;
import com.ruoyi.alarm.externalAlarm.service.IArdAlarmExternalService;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper;
import com.ruoyi.alarm.external.service.IArdAlarmExternalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
ard-work/src/main/java/com/ruoyi/alarm/global/controller/GlobalAlarmController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java ÐÞ¸Ä
@@ -1,12 +1,12 @@
package com.ruoyi.alarm.globalAlarm.controller;
package com.ruoyi.alarm.global.controller;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService;
import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.global.domain.GlobalAlarmData;
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.alarm.global.service.IGlobalAlarmService;
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GlobalAlarmCondition.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GlobalAlarmCondition.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.globalAlarm.domain;
package com.ruoyi.alarm.global.domain;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GlobalAlarmData.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GlobalAlarmData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.globalAlarm.domain;
package com.ruoyi.alarm.global.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuidePriorityQueue.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuidePriorityQueue.java ÐÞ¸Ä
@@ -1,11 +1,7 @@
package com.ruoyi.alarm.globalAlarm.domain;
package com.ruoyi.alarm.global.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.PriorityBlockingQueue;
ard-work/src/main/java/com/ruoyi/alarm/global/domain/GuideTask.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/domain/GuideTask.java ÐÞ¸Ä
@@ -1,10 +1,8 @@
package com.ruoyi.alarm.globalAlarm.domain;
package com.ruoyi.alarm.global.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
 * @Description: å¼•导任务
ard-work/src/main/java/com/ruoyi/alarm/global/service/IGlobalAlarmService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java ÐÞ¸Ä
@@ -1,9 +1,8 @@
package com.ruoyi.alarm.globalAlarm.service;
package com.ruoyi.alarm.global.service;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.global.domain.GlobalAlarmData;
import java.util.Date;
import java.util.List;
import java.util.Map;
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java ÐÞ¸Ä
@@ -1,24 +1,26 @@
package com.ruoyi.alarm.globalAlarm.service.impl;
package com.ruoyi.alarm.global.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.accessAlarm.mapper.ArdAlarmAccessMapper;
import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera;
import com.ruoyi.alarm.cameraAlarm.mapper.ArdAlarmCameraMapper;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.externalAlarm.mapper.ArdAlarmExternalMapper;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radarAlarm.domain.RadarAlarmData;
import com.ruoyi.alarm.radarAlarm.mapper.ArdAlarmRadarMapper;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.stealAlarm.mapper.ArdAlarmStealelecMapper;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tubeAlarm.mapper.ArdAlarmTubeMapper;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper;
import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
import com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper;
import com.ruoyi.alarm.camera.domain.ArdAlarmCamera;
import com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper;
import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.global.domain.GlobalAlarmData;
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.alarm.global.service.IGlobalAlarmService;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.domain.RadarAlarmData;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper;
import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper;
import com.ruoyi.alarmpoints.tube.domain.ArdTubes;
import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails;
import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper;
@@ -63,6 +65,8 @@
@Slf4j(topic = "mqtt")
public class GlobalAlarmServiceImpl implements IGlobalAlarmService {
    //region ä¾èµ–注入
    @Resource
    private ArdAlarmApponekeyMapper ardAlarmApponekeyMapper;
    @Resource
    private ArdEquipExternalMapper ardEquipExternalMapper;
    @Resource
@@ -120,6 +124,8 @@
        countMap.put("1005", count1005);
        int count1006 = ardAlarmAccessMapper.selectCountByAlarmTime(refreshTime);
        countMap.put("1006", count1006);
        int count1009 = ardAlarmApponekeyMapper.selectCountByAlarmTime(refreshTime);
        countMap.put("1009", count1009);
        int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime);
        countMap.put("1014", count1014);
        map.put("20000", countMap);
@@ -237,6 +243,20 @@
                                    .setTotal(ardAlarmRadar.getTotal());
                            return globalAlarmData;
                        }).collect(Collectors.toList());
            case 1009:
                List<ArdAlarmApponekey> ardAlarmApponekeys = ardAlarmApponekeyMapper.selectListAllByCommand(refreshTime);
                return ardAlarmApponekeys.stream()
                        .map(ardAlarmApponekey -> {
                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                    .setId(ardAlarmApponekey.getId())
                                    .setName(ardAlarmApponekey.getName())
                                    .setAlarmTime(ardAlarmApponekey.getCreateTime())
                                    .setLongitude(ardAlarmApponekey.getLongitude())
                                    .setLatitude(ardAlarmApponekey.getLatitude())
                                    .setCount(ardAlarmApponekey.getCount())
                                    .setTotal(ardAlarmApponekey.getTotal());
                            return globalAlarmData;
                        }).collect(Collectors.toList());
            case 1014:
                List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime);
                return ardAlarmTubes.stream()
@@ -318,6 +338,12 @@
                aaa.setPageSize(pageSize);
                aaa.setAlarmType("防区报警");
                return ardAlarmAccessMapper.selectArdAlarmAccessList(aaa);
            case 1009:
                ArdAlarmApponekey aaak = new ArdAlarmApponekey();
                aaak.setParams(params);
                aaak.setPageNum(pageNum);
                aaak.setPageSize(pageSize);
                return ardAlarmApponekeyMapper.selectArdAlarmApponekeyList(aaak);
            case 1014:
                ArdAlarmTube aat = new ArdAlarmTube();
                aat.setParams(params);
@@ -383,6 +409,14 @@
                    String alarmTime = fmt.format(ardAlarmAccess.getAlarmTime());
                    ardAlarmAccessMapper.updateViewTimeByAcsId(acsId, alarmTime, DateUtils.getTime());
                    return ardAlarmAccess;
                }
            case 1009:
                ArdAlarmApponekey ardAlarmApponekey = ardAlarmApponekeyMapper.selectArdAlarmApponekeyById(condition.getId());
                if (StringUtils.isNotNull(ardAlarmApponekey)) {
                    String userId = ardAlarmApponekey.getUserId();
                    String alarmTime = fmt.format(ardAlarmApponekey.getCreateTime());
                    ardAlarmApponekeyMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime());
                    return ardAlarmApponekey;
                }
            case 1014:
                ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId());
@@ -622,6 +656,15 @@
                    }
                    //endregion
                    break;
                case "apponekey":
                    //region app一键报警
                    ArdAlarmApponekey ardAlarmApponekey = JSONObject.parseObject(message, ArdAlarmApponekey.class);
                    int aaak = ardAlarmApponekeyMapper.insertArdAlarmApponekey(ardAlarmApponekey);
                    if (aaak > 0) {
                        log.debug("apponekey入库成功:" + ardAlarmApponekey);
                    }
                    //endregion
                    break;
            }
        } catch (Exception ex) {
            log.error("接收报警异常:" + ex.getMessage());
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueManager.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java ÐÞ¸Ä
@@ -1,19 +1,15 @@
package com.ruoyi.alarm.globalAlarm.service.impl;
package com.ruoyi.alarm.global.service.impl;
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.tomcat.util.threads.TaskThread;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.PriorityBlockingQueue;
import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
/**
 * @ClassName QueueManager
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueTaskExecutor.java ÐÞ¸Ä
@@ -1,14 +1,14 @@
package com.ruoyi.alarm.globalAlarm.service.impl;
package com.ruoyi.alarm.global.service.impl;
import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess;
import com.ruoyi.alarm.accessAlarm.service.IArdAlarmAccessService;
import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal;
import com.ruoyi.alarm.externalAlarm.service.IArdAlarmExternalService;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radarAlarm.service.IArdAlarmRadarService;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tubeAlarm.service.IArdAlarmTubeService;
import com.ruoyi.alarm.access.domain.ArdAlarmAccess;
import com.ruoyi.alarm.access.service.IArdAlarmAccessService;
import com.ruoyi.alarm.external.domain.ArdAlarmExternal;
import com.ruoyi.alarm.external.service.IArdAlarmExternalService;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.service.IArdAlarmRadarService;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.service.IArdAlarmTubeService;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.device.camera.domain.CameraCmd;
import com.ruoyi.device.hiksdk.service.IHikClientService;
ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/controller/ArdAlarmRadarController.java ÐÞ¸Ä
@@ -1,10 +1,10 @@
package com.ruoyi.alarm.radarAlarm.controller;
package com.ruoyi.alarm.radar.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radarAlarm.service.IArdAlarmRadarService;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.service.IArdAlarmRadarService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadar.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/domain/ArdAlarmRadar.java ÐÞ¸Ä
@@ -1,7 +1,6 @@
package com.ruoyi.alarm.radarAlarm.domain;
package com.ruoyi.alarm.radar.domain;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/RadarAlarmData.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/domain/RadarAlarmData.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.radarAlarm.domain;
package com.ruoyi.alarm.radar.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/mapper/ArdAlarmRadarMapper.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.ruoyi.alarm.radarAlarm.mapper;
package com.ruoyi.alarm.radar.mapper;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/service/IArdAlarmRadarService.java ÐÞ¸Ä
@@ -1,6 +1,6 @@
package com.ruoyi.alarm.radarAlarm.service;
package com.ruoyi.alarm.radar.service;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import java.util.List;
ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/radarAlarm/service/impl/ArdAlarmRadarServiceImpl.java ÐÞ¸Ä
@@ -1,10 +1,10 @@
package com.ruoyi.alarm.radarAlarm.service.impl;
package com.ruoyi.alarm.radar.service.impl;
import java.util.List;
import com.ruoyi.alarm.radarAlarm.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radarAlarm.mapper.ArdAlarmRadarMapper;
import com.ruoyi.alarm.radarAlarm.service.IArdAlarmRadarService;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper;
import com.ruoyi.alarm.radar.service.IArdAlarmRadarService;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
ard-work/src/main/java/com/ruoyi/alarm/steal/controller/ardAlarmStealElecController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/controller/ardAlarmStealElecController.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.stealAlarm.controller;
package com.ruoyi.alarm.steal.controller;
import com.ruoyi.common.annotation.Anonymous;
import org.springframework.web.bind.annotation.RestController;
ard-work/src/main/java/com/ruoyi/alarm/steal/domain/ArdAlarmStealelec.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/domain/ArdAlarmStealelec.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.alarm.stealAlarm.domain;
package com.ruoyi.alarm.steal.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
ard-work/src/main/java/com/ruoyi/alarm/steal/mapper/ArdAlarmStealelecMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java ÐÞ¸Ä
@@ -1,11 +1,8 @@
package com.ruoyi.alarm.stealAlarm.mapper;
package com.ruoyi.alarm.steal.mapper;
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.global.domain.GlobalAlarmCondition;
import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
ard-work/src/main/java/com/ruoyi/alarm/steal/service/IStealElecAlarmService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/service/IStealElecAlarmService.java ÐÞ¸Ä
@@ -1,8 +1,7 @@
package com.ruoyi.alarm.stealAlarm.service;
package com.ruoyi.alarm.steal.service;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
import java.util.Date;
import java.util.List;
ard-work/src/main/java/com/ruoyi/alarm/steal/service/impl/IStealElecAlarmServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/service/impl/IStealElecAlarmServiceImpl.java ÐÞ¸Ä
@@ -1,13 +1,13 @@
package com.ruoyi.alarm.stealAlarm.service.impl;
package com.ruoyi.alarm.steal.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.stealAlarm.service.IStealElecAlarmService;
import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.steal.service.IStealElecAlarmService;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.alarm.stealAlarm.mapper.ArdAlarmStealelecMapper;
import com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper;
import com.ruoyi.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
ard-work/src/main/java/com/ruoyi/alarm/tube/controller/ArdAlarmTubeController.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/controller/ArdAlarmTubeController.java ÐÞ¸Ä
@@ -1,11 +1,10 @@
package com.ruoyi.alarm.tubeAlarm.controller;
package com.ruoyi.alarm.tube.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tubeAlarm.service.IArdAlarmTubeService;
import io.swagger.annotations.ApiOperation;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.service.IArdAlarmTubeService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
ard-work/src/main/java/com/ruoyi/alarm/tube/domain/ArdAlarmTube.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/domain/ArdAlarmTube.java ÐÞ¸Ä
@@ -1,12 +1,10 @@
package com.ruoyi.alarm.tubeAlarm.domain;
package com.ruoyi.alarm.tube.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
ard-work/src/main/java/com/ruoyi/alarm/tube/mapper/ArdAlarmTubeMapper.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java ÐÞ¸Ä
@@ -1,9 +1,8 @@
package com.ruoyi.alarm.tubeAlarm.mapper;
package com.ruoyi.alarm.tube.mapper;
import java.util.List;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import org.apache.ibatis.annotations.Param;
ard-work/src/main/java/com/ruoyi/alarm/tube/service/IArdAlarmTubeService.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/service/IArdAlarmTubeService.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.ruoyi.alarm.tubeAlarm.service;
package com.ruoyi.alarm.tube.service;
import java.util.List;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
/**
 * ç®¡çº¿æ³„露报警Service接口
ard-work/src/main/java/com/ruoyi/alarm/tube/service/impl/ArdAlarmTubeServiceImpl.java
ÎļþÃû´Ó ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/service/impl/ArdAlarmTubeServiceImpl.java ÐÞ¸Ä
@@ -1,8 +1,8 @@
package com.ruoyi.alarm.tubeAlarm.service.impl;
package com.ruoyi.alarm.tube.service.impl;
import com.ruoyi.alarm.tubeAlarm.domain.ArdAlarmTube;
import com.ruoyi.alarm.tubeAlarm.mapper.ArdAlarmTubeMapper;
import com.ruoyi.alarm.tubeAlarm.service.IArdAlarmTubeService;
import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
import com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper;
import com.ruoyi.alarm.tube.service.IArdAlarmTubeService;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/controller/ArdWallController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,104 @@
package com.ruoyi.alarmpoints.elecwall.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.alarmpoints.elecwall.domain.ArdWall;
import com.ruoyi.alarmpoints.elecwall.service.IArdWallService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
 * ç”µå­å›´æ ç®¡ç†Controller
 *
 * @author ard
 * @date 2023-07-20
 */
@RestController
@RequestMapping("/alarmpoints/wall")
public class ArdWallController extends BaseController
{
    @Autowired
    private IArdWallService ardWallService;
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:list')")
    @GetMapping("/list")
    public TableDataInfo list(ArdWall ardWall)
    {
        startPage();
        List<ArdWall> list = ardWallService.selectArdWallList(ardWall);
        return getDataTable(list);
    }
    /**
     * å¯¼å‡ºç”µå­å›´æ ç®¡ç†åˆ—表
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:export')")
    @Log(title = "电子围栏管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ArdWall ardWall)
    {
        List<ArdWall> list = ardWallService.selectArdWallList(ardWall);
        ExcelUtil<ArdWall> util = new ExcelUtil<ArdWall>(ArdWall.class);
        util.exportExcel(response, list, "电子围栏管理数据");
    }
    /**
     * èŽ·å–ç”µå­å›´æ ç®¡ç†è¯¦ç»†ä¿¡æ¯
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
        return success(ardWallService.selectArdWallById(id));
    }
    /**
     * æ–°å¢žç”µå­å›´æ ç®¡ç†
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:add')")
    @Log(title = "电子围栏管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ArdWall ardWall)
    {
        return toAjax(ardWallService.insertArdWall(ardWall));
    }
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç®¡ç†
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:edit')")
    @Log(title = "电子围栏管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ArdWall ardWall)
    {
        return toAjax(ardWallService.updateArdWall(ardWall));
    }
    /**
     * åˆ é™¤ç”µå­å›´æ ç®¡ç†
     */
    @PreAuthorize("@ss.hasPermi('alarmpoints:wall:remove')")
    @Log(title = "电子围栏管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
        return toAjax(ardWallService.deleteArdWallByIds(ids));
    }
}
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/domain/ArdWall.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,125 @@
package com.ruoyi.alarmpoints.elecwall.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
 * ç”µå­å›´æ ç®¡ç†å¯¹è±¡ ard_wall
 *
 * @author ard
 * @date 2023-07-20
 */
public class ArdWall extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** ID */
    private String id;
    /** åç§° */
    @Excel(name = "名称")
    private String wallName;
    /** èŒƒå›´ */
    @Excel(name = "范围")
    private String wallPoi;
    /** ç±»åž‹ */
    @Excel(name = "类型")
    private String type;
    /** é¢œè‰² */
    @Excel(name = "颜色")
    private String color;
    /** æ‰€å±žéƒ¨é—¨ */
    @Excel(name = "所属部门")
    private Integer deptId;
    /** æ‰€å±žç”¨æˆ· */
    @Excel(name = "所属用户")
    private String userId;
    public void setId(String id)
    {
        this.id = id;
    }
    public String getId()
    {
        return id;
    }
    public void setWallName(String wallName)
    {
        this.wallName = wallName;
    }
    public String getWallName()
    {
        return wallName;
    }
    public void setWallPoi(String wallPoi)
    {
        this.wallPoi = wallPoi;
    }
    public String getWallPoi()
    {
        return wallPoi;
    }
    public void setType(String type)
    {
        this.type = type;
    }
    public String getType()
    {
        return type;
    }
    public void setColor(String color)
    {
        this.color = color;
    }
    public String getColor()
    {
        return color;
    }
    public void setDeptId(Integer deptId)
    {
        this.deptId = deptId;
    }
    public Integer getDeptId()
    {
        return deptId;
    }
    public void setUserId(String userId)
    {
        this.userId = userId;
    }
    public String getUserId()
    {
        return userId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("wallName", getWallName())
            .append("wallPoi", getWallPoi())
            .append("type", getType())
            .append("color", getColor())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/mapper/ArdWallMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.alarmpoints.elecwall.mapper;
import java.util.List;
import com.ruoyi.alarmpoints.elecwall.domain.ArdWall;
/**
 * ç”µå­å›´æ ç®¡ç†Mapper接口
 *
 * @author ard
 * @date 2023-07-20
 */
public interface ArdWallMapper
{
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç”µå­å›´æ ç®¡ç†
     */
    public ArdWall selectArdWallById(String id);
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†åˆ—表
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç”µå­å›´æ ç®¡ç†é›†åˆ
     */
    public List<ArdWall> selectArdWallList(ArdWall ardWall);
    /**
     * æ–°å¢žç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    public int insertArdWall(ArdWall ardWall);
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    public int updateArdWall(ArdWall ardWall);
    /**
     * åˆ é™¤ç”µå­å›´æ ç®¡ç†
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdWallById(String id);
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç®¡ç†
     *
     * @param ids éœ€è¦åˆ é™¤çš„æ•°æ®ä¸»é”®é›†åˆ
     * @return ç»“æžœ
     */
    public int deleteArdWallByIds(String[] ids);
}
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/service/IArdWallService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
package com.ruoyi.alarmpoints.elecwall.service;
import java.util.List;
import com.ruoyi.alarmpoints.elecwall.domain.ArdWall;
/**
 * ç”µå­å›´æ ç®¡ç†Service接口
 *
 * @author ard
 * @date 2023-07-20
 */
public interface IArdWallService
{
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç”µå­å›´æ ç®¡ç†
     */
    public ArdWall selectArdWallById(String id);
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†åˆ—表
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç”µå­å›´æ ç®¡ç†é›†åˆ
     */
    public List<ArdWall> selectArdWallList(ArdWall ardWall);
    /**
     * æ–°å¢žç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    public int insertArdWall(ArdWall ardWall);
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    public int updateArdWall(ArdWall ardWall);
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç®¡ç†
     *
     * @param ids éœ€è¦åˆ é™¤çš„电子围栏管理主键集合
     * @return ç»“æžœ
     */
    public int deleteArdWallByIds(String[] ids);
    /**
     * åˆ é™¤ç”µå­å›´æ ç®¡ç†ä¿¡æ¯
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç»“æžœ
     */
    public int deleteArdWallById(String id);
}
ard-work/src/main/java/com/ruoyi/alarmpoints/elecwall/service/impl/ArdWallServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
package com.ruoyi.alarmpoints.elecwall.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.stereotype.Service;
import com.ruoyi.alarmpoints.elecwall.mapper.ArdWallMapper;
import com.ruoyi.alarmpoints.elecwall.domain.ArdWall;
import com.ruoyi.alarmpoints.elecwall.service.IArdWallService;
import javax.annotation.Resource;
/**
 * ç”µå­å›´æ ç®¡ç†Service业务层处理
 *
 * @author ard
 * @date 2023-07-20
 */
@Service
public class ArdWallServiceImpl implements IArdWallService {
    @Resource
    private ArdWallMapper ardWallMapper;
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç”µå­å›´æ ç®¡ç†
     */
    @Override
    public ArdWall selectArdWallById(String id) {
        return ardWallMapper.selectArdWallById(id);
    }
    /**
     * æŸ¥è¯¢ç”µå­å›´æ ç®¡ç†åˆ—表
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç”µå­å›´æ ç®¡ç†
     */
    @Override
    public List<ArdWall> selectArdWallList(ArdWall ardWall) {
        return ardWallMapper.selectArdWallList(ardWall);
    }
    /**
     * æ–°å¢žç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    @Override
    public int insertArdWall(ArdWall ardWall) {
        ardWall.setId(IdUtils.simpleUUID());
                ardWall.setCreateBy(SecurityUtils.getUsername());
                ardWall.setCreateTime(DateUtils.getNowDate());
            return ardWallMapper.insertArdWall(ardWall);
    }
    /**
     * ä¿®æ”¹ç”µå­å›´æ ç®¡ç†
     *
     * @param ardWall ç”µå­å›´æ ç®¡ç†
     * @return ç»“æžœ
     */
    @Override
    public int updateArdWall(ArdWall ardWall) {
                ardWall.setUpdateBy(SecurityUtils.getUsername());
                ardWall.setUpdateTime(DateUtils.getNowDate());
        return ardWallMapper.updateArdWall(ardWall);
    }
    /**
     * æ‰¹é‡åˆ é™¤ç”µå­å›´æ ç®¡ç†
     *
     * @param ids éœ€è¦åˆ é™¤çš„电子围栏管理主键
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdWallByIds(String[] ids) {
        return ardWallMapper.deleteArdWallByIds(ids);
    }
    /**
     * åˆ é™¤ç”µå­å›´æ ç®¡ç†ä¿¡æ¯
     *
     * @param id ç”µå­å›´æ ç®¡ç†ä¸»é”®
     * @return ç»“æžœ
     */
    @Override
    public int deleteArdWallById(String id) {
        return ardWallMapper.deleteArdWallById(id);
    }
}
ard-work/src/main/java/com/ruoyi/constant/CamPriority.java
@@ -23,6 +23,7 @@
        priorityMap.put("sys_radar_pumpshutdown", 800);//雷达抽油机停机
        priorityMap.put("sys_external", 700);//外联报警
        priorityMap.put("sys_access_control", 600);//门禁报警
        priorityMap.put("sys_app_onekey", 500);//app一键报警
        priorityMap.put("sys_patrol_inspect", 1);//巡检
    }
}
ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/LoginResultCallBack.java
@@ -1,19 +1,15 @@
package com.ruoyi.device.hiksdk.util.hikSdkUtil;
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.device.camera.domain.ArdCameras;
import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.device.hiksdk.common.GlobalVariable;
import com.sun.jna.Pointer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.concurrent.PriorityBlockingQueue;
/**
ard-work/src/main/java/com/ruoyi/media/service/impl/MediaService.java
@@ -6,32 +6,63 @@
import com.ruoyi.media.service.IMediaService;
import com.ruoyi.utils.forest.MediaClient;
import com.ruoyi.utils.tools.ArdTool;
import com.sun.jna.Platform;
import io.minio.messages.Item;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @Description:
 * @Description: æµåª’体业务
 * @ClassName: MediaService
 * @Author: åˆ˜è‹ä¹‰
 * @Date: 2023å¹´07月13日9:28
 * @Version: 1.0
 **/
@Service
@Slf4j
public class MediaService implements IMediaService {
    @Resource
    MediaClient mediaClient;
    @Value("${mediamtx.host}")
    String mediamtxHost;
    @Async
    @PostConstruct
    public void initMediaMtx() {
        if (Platform.isWindows()) {
            String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.exe";
            try {
                // æž„建启动命令,使用cmd /c start命令来启动可执行程序并显示命令提示符窗口
                String[] cmd = {"cmd", "/c", "start", exePath};
                ProcessBuilder processBuilder = new ProcessBuilder(cmd);
                processBuilder.redirectErrorStream(true); // å°†é”™è¯¯è¾“出重定向到标准输出
                Process process = processBuilder.start();
                // å¦‚果你想等待程序完成
                int exitCode = process.waitFor();
                System.out.println("程序退出代码: " + exitCode);
            } catch (IOException | InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    public String addPath(String name, String rtspPath,String mode) {
    public String addPath(String name, String rtspPath, String mode) {
        String rtspUrl = "rtsp://" + mediamtxHost + ":8554/";
        Conf mediaInfo = new Conf();
        //-vcodec libx264 //指定视频编码器为 libx264,使用 H.264 ç¼–码格式进行视频压缩
@@ -46,14 +77,12 @@
        //GPU硬解码编码 -hwaccel cuvid -c:v h264_cuvid  ä½¿ç”¨cuda解码   -c:v h264_nvenc ä½¿ç”¨cuda编码
        //String cmd = "ffmpeg -hwaccel cuvid -c:v h264_cuvid  -rtsp_transport udp  -i \"" + rtspPath + "\" -c:v h264_nvenc  -r 25 -threads 4  -b:v 4096k -f rtsp rtsp://localhost:$RTSP_PORT/$MTX_PATH";
        if(mode.equals("1"))
        {
        if (mode.equals("1")) {
            mediaInfo.setRunondemand(cmd);
            mediaInfo.setRunondemandrestart(true);
        }
       else{
           mediaInfo.setRunoninit(cmd);
           mediaInfo.setRunoninitrestart(true);
        } else {
            mediaInfo.setRunoninit(cmd);
            mediaInfo.setRunoninitrestart(true);
        }
        mediaClient.addPath(name, mediaInfo);
        return rtspUrl + name;
@@ -67,13 +96,10 @@
        info.setName(name);
        String runoninit;
        String runondemand = item.getConf().getRunondemand();
        if (StringUtils.isNotEmpty(runondemand))
        {
            runoninit= item.getConf().getRunondemand();
        if (StringUtils.isNotEmpty(runondemand)) {
            runoninit = item.getConf().getRunondemand();
            info.setMode("1");
        }
        else
        {
        } else {
            runoninit = item.getConf().getRunoninit();
            info.setMode("2");
        }
@@ -89,8 +115,7 @@
    @Override
    public void removePath(String[] names) {
        for(String name:names)
        {
        for (String name : names) {
            mediaClient.removePath(name);
        }
    }
@@ -109,13 +134,10 @@
            info.setName(name);
            String runoninit;
            String runondemand = item.getConf().getRunondemand();
            if (StringUtils.isNotEmpty(runondemand))
            {
                runoninit= item.getConf().getRunondemand();
            if (StringUtils.isNotEmpty(runondemand)) {
                runoninit = item.getConf().getRunondemand();
                info.setMode("1");
            }
            else
            {
            } else {
                runoninit = item.getConf().getRunoninit();
                info.setMode("2");
            }
@@ -208,8 +230,7 @@
            String rtspUrl = "rtsp://" + mediamtxHost + ":8554/" + name;
            info.setRtspUrl(rtspUrl);
            Source source = item.getSource();
            if(source==null)
            {
            if (source == null) {
                continue;
            }
            RtspSession rtspSession = getRtspSessionById(source.getId());
@@ -228,13 +249,10 @@
            //RTSP源地址
            String runondemand = item.getConf().getRunondemand();
            String runoninit;
            if(StringUtils.isNotEmpty(runondemand))
            {
                 runoninit = item.getConf().getRunondemand();
            }
            else
            {
                 runoninit = item.getConf().getRunoninit();
            if (StringUtils.isNotEmpty(runondemand)) {
                runoninit = item.getConf().getRunondemand();
            } else {
                runoninit = item.getConf().getRunoninit();
            }
            String regex = "rtsp://[^\\s\"]+";
            Pattern pattern = Pattern.compile(regex);
ard-work/src/main/java/com/ruoyi/rongcloud/controller/RongCloudController.java
@@ -2,6 +2,7 @@
import com.ruoyi.common.annotation.Anonymous;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.device.hiksdk.config.MinioClientSingleton;
import com.ruoyi.device.hiksdk.util.minio.MinioUtils;
import com.ruoyi.rongcloud.service.RongCloudService;
ard-work/src/main/java/com/ruoyi/utils/mqtt/MqttConsumerCallback.java
@@ -1,6 +1,6 @@
package com.ruoyi.utils.mqtt;
import com.ruoyi.alarm.globalAlarm.service.impl.GlobalAlarmServiceImpl;
import com.ruoyi.alarm.global.service.impl.GlobalAlarmServiceImpl;
import com.ruoyi.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import org.eclipse.paho.client.mqttv3.*;
ard-work/src/main/resources/mapper/alarm/ArdAlarmAccessMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.accessAlarm.mapper.ArdAlarmAccessMapper">
<mapper namespace="com.ruoyi.alarm.access.mapper.ArdAlarmAccessMapper">
    
    <resultMap type="ArdAlarmAccess" id="ArdAlarmAccessResult">
        <result property="id"    column="id"    />
ard-work/src/main/resources/mapper/alarm/ArdAlarmApponekeyMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.apponekey.mapper.ArdAlarmApponekeyMapper">
    <resultMap type="ArdAlarmApponekey" id="ArdAlarmApponekeyResult">
        <result property="id"    column="id"    />
        <result property="userId"    column="user_id"    />
        <result property="name"    column="name"    />
        <result property="longitude"    column="longitude"    />
        <result property="latitude"    column="latitude"    />
        <result property="altitude"    column="altitude"    />
        <result property="recordUrl"    column="record_url"    />
        <result property="createTime"    column="create_time"    />
        <result property="viewTime"    column="view_time"    />
    </resultMap>
    <sql id="selectArdAlarmApponekeyVo">
        select id, user_id,name, longitude, latitude, altitude, record_url, create_time,view_time from ard_alarm_apponekey
    </sql>
    <select id="selectArdAlarmApponekeyList" parameterType="ArdAlarmApponekey" resultMap="ArdAlarmApponekeyResult">
        <include refid="selectArdAlarmApponekeyVo"/>
        <where>
        </where>
    </select>
    <select id="selectArdAlarmApponekeyById" parameterType="String" resultMap="ArdAlarmApponekeyResult">
        <include refid="selectArdAlarmApponekeyVo"/>
        where id = #{id}
    </select>
    <insert id="insertArdAlarmApponekey" parameterType="ArdAlarmApponekey">
        insert into ard_alarm_apponekey
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="userId != null">user_id,</if>
            <if test="name != null">name,</if>
            <if test="longitude != null">longitude,</if>
            <if test="latitude != null">latitude,</if>
            <if test="altitude != null">altitude,</if>
            <if test="recordUrl != null">record_url,</if>
            <if test="createTime != null">create_time,</if>
            <if test="viewTime != null">view_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="userId != null">#{userId},</if>
            <if test="name != null">#{name},</if>
            <if test="longitude != null">#{longitude},</if>
            <if test="latitude != null">#{latitude},</if>
            <if test="altitude != null">#{altitude},</if>
            <if test="recordUrl != null">#{recordUrl},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="viewTime != null">#{viewTime},</if>
         </trim>
    </insert>
    <update id="updateArdAlarmApponekey" parameterType="ArdAlarmApponekey">
        update ard_alarm_apponekey
        <trim prefix="SET" suffixOverrides=",">
            <if test="userId != null">user_id = #{userId},</if>
            <if test="name != null">name = #{name},</if>
            <if test="longitude != null">longitude = #{longitude},</if>
            <if test="latitude != null">latitude = #{latitude},</if>
            <if test="altitude != null">altitude = #{altitude},</if>
            <if test="recordUrl != null">record_url = #{recordUrl},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="viewTime != null">view_time = #{viewTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdAlarmApponekeyById" parameterType="String">
        delete from ard_alarm_apponekey where id = #{id}
    </delete>
    <delete id="deleteArdAlarmApponekeyByIds" parameterType="String">
        delete from ard_alarm_apponekey where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <select id="selectCountByAlarmTime" resultType="Integer">
        SELECT COUNT(DISTINCT aaak.user_id)
        FROM ard_alarm_apponekey aaak
        WHERE aaak.create_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
          and aaak.view_time is null
    </select>
    <select id="selectListAllByCommand" resultMap="ArdAlarmApponekeyResult">
        SELECT T.*
        FROM
            (
                SELECT
                    aaa.ID,
                    aaa.user_id,
                    aaa.NAME,
                    aaa.create_time,
                    aaa.longitude,
                    aaa.latitude,
                    aaa.altitude,
                    aaa.record_url,
                    ROW_NUMBER () OVER ( PARTITION BY aaa.NAME ORDER BY aaa.create_time DESC ) AS rn,
                        COUNT ( CASE WHEN aaa.view_time IS NULL THEN 1 END ) OVER ( PARTITION BY aaa.NAME ) AS COUNT,
        COUNT ( aaa.create_time ) OVER ( PARTITION BY aaa.NAME ) AS total
                FROM
                    ard_alarm_apponekey aaa
                WHERE
                    aaa.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
                ORDER BY
                    aaa.create_time DESC
            ) T
        WHERE
            T.rn = 1
    </select>
    <update id="updateViewTimeByUserId" parameterType="String">
        update ard_alarm_apponekey
        set view_time=#{viewTime}
        where user_id = #{userId}
          and create_time &lt;= #{createTime}
          and view_time is null
    </update>
</mapper>
ard-work/src/main/resources/mapper/alarm/ArdAlarmCameraMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.cameraAlarm.mapper.ArdAlarmCameraMapper">
<mapper namespace="com.ruoyi.alarm.camera.mapper.ArdAlarmCameraMapper">
    
    <resultMap type="ArdAlarmCamera" id="ArdAlarmCameraResult">
        <result property="id"    column="id"    />
ard-work/src/main/resources/mapper/alarm/ArdAlarmExternalMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.externalAlarm.mapper.ArdAlarmExternalMapper">
<mapper namespace="com.ruoyi.alarm.external.mapper.ArdAlarmExternalMapper">
    <resultMap type="ArdAlarmExternal" id="ArdAlarmExternalResult">
        <result property="id"    column="id"    />
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.radarAlarm.mapper.ArdAlarmRadarMapper">
<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper">
    <resultMap type="ArdAlarmRadar" id="ArdAlarmRadarResult">
        <result property="id" column="id"/>
        <result property="name" column="name"/>
ard-work/src/main/resources/mapper/alarm/ArdAlarmStealelecMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.stealAlarm.mapper.ArdAlarmStealelecMapper">
<mapper namespace="com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper">
    <resultMap id="BaseResultMap" type="ArdAlarmStealelec">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarm.tubeAlarm.mapper.ArdAlarmTubeMapper">
<mapper namespace="com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper">
    <resultMap type="ArdAlarmTube" id="ArdAlarmTubeResult">
        <result property="id" column="id"/>
ard-work/src/main/resources/mapper/alarmpoints/ArdWallMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.alarmpoints.elecwall.mapper.ArdWallMapper">
    <resultMap type="ArdWall" id="ArdWallResult">
        <result property="id"    column="id"    />
        <result property="wallName"    column="wall_name"    />
        <result property="wallPoi"    column="wall_poi"    />
        <result property="type"    column="type"    />
        <result property="color"    column="color"    />
        <result property="deptId"    column="dept_id"    />
        <result property="userId"    column="user_id"    />
        <result property="createBy"    column="create_by"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateBy"    column="update_by"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <sql id="selectArdWallVo">
        select id, wall_name, wall_poi, type, color, dept_id, user_id, create_by, create_time, update_by, update_time from ard_wall
    </sql>
    <select id="selectArdWallList" parameterType="ArdWall" resultMap="ArdWallResult">
        <include refid="selectArdWallVo"/>
        <where>
            <if test="wallName != null  and wallName != ''"> and wall_name like '%'||#{wallName}||'%'</if>
            <if test="wallPoi != null  and wallPoi != ''"> and wall_poi = #{wallPoi}</if>
            <if test="type != null  and type != ''"> and type = #{type}</if>
            <if test="color != null  and color != ''"> and color = #{color}</if>
            <if test="deptId != null "> and dept_id = #{deptId}</if>
            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
        </where>
    </select>
    <select id="selectArdWallById" parameterType="String" resultMap="ArdWallResult">
        <include refid="selectArdWallVo"/>
        where id = #{id}
    </select>
    <insert id="insertArdWall" parameterType="ArdWall">
        insert into ard_wall
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="wallName != null">wall_name,</if>
            <if test="wallPoi != null">wall_poi,</if>
            <if test="type != null">type,</if>
            <if test="color != null">color,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="userId != null">user_id,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateBy != null">update_by,</if>
            <if test="updateTime != null">update_time,</if>
         </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id},</if>
            <if test="wallName != null">#{wallName},</if>
            <if test="wallPoi != null">#{wallPoi},</if>
            <if test="type != null">#{type},</if>
            <if test="color != null">#{color},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="userId != null">#{userId},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateBy != null">#{updateBy},</if>
            <if test="updateTime != null">#{updateTime},</if>
         </trim>
    </insert>
    <update id="updateArdWall" parameterType="ArdWall">
        update ard_wall
        <trim prefix="SET" suffixOverrides=",">
            <if test="wallName != null">wall_name = #{wallName},</if>
            <if test="wallPoi != null">wall_poi = #{wallPoi},</if>
            <if test="type != null">type = #{type},</if>
            <if test="color != null">color = #{color},</if>
            <if test="deptId != null">dept_id = #{deptId},</if>
            <if test="userId != null">user_id = #{userId},</if>
            <if test="createBy != null">create_by = #{createBy},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateBy != null">update_by = #{updateBy},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteArdWallById" parameterType="String">
        delete from ard_wall where id = #{id}
    </delete>
    <delete id="deleteArdWallByIds" parameterType="String">
        delete from ard_wall where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
</mapper>
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -6,9 +6,7 @@
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.*;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -41,14 +39,13 @@
/**
 * ç”¨æˆ·ä¿¡æ¯
 *
 *
 * @author ruoyi
 */
@Api(tags = "用户信息")
@RestController
@RequestMapping("/system/user")
@Api(tags = "用户信息")
public class SysUserController extends BaseController
{
public class SysUserController extends BaseController {
    @Autowired
    private ISysUserService userService;
@@ -64,12 +61,9 @@
    /**
     * èŽ·å–ç”¨æˆ·åˆ—è¡¨
     */
    @ApiOperationSupport(includeParameters={"user.userId"})
    @PreAuthorize("@ss.hasPermi('system:user:list')")
    @GetMapping("/list")
    public TableDataInfo list(SysUser user)
    {
    public TableDataInfo list(SysUser user) {
        startPage();
        List<SysUser> list = userService.selectUserList(user);
        return getDataTable(list);
@@ -78,8 +72,7 @@
    @Log(title = "用户管理", businessType = BusinessType.EXPORT)
    @PreAuthorize("@ss.hasPermi('system:user:export')")
    @PostMapping("/export")
    public void export(HttpServletResponse response, SysUser user)
    {
    public void export(HttpServletResponse response, SysUser user) {
        List<SysUser> list = userService.selectUserList(user);
        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
        util.exportExcel(response, list, "用户数据");
@@ -88,8 +81,7 @@
    @Log(title = "用户管理", businessType = BusinessType.IMPORT)
    @PreAuthorize("@ss.hasPermi('system:user:import')")
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
    {
    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
        List<SysUser> userList = util.importExcel(file.getInputStream());
        String operName = getUsername();
@@ -98,8 +90,7 @@
    }
    @PostMapping("/importTemplate")
    public void importTemplate(HttpServletResponse response)
    {
    public void importTemplate(HttpServletResponse response) {
        ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
        util.importTemplateExcel(response, "用户数据");
    }
@@ -108,16 +99,14 @@
     * æ ¹æ®ç”¨æˆ·ç¼–号获取详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:user:query')")
    @GetMapping(value = { "/", "/{userId}" })
    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) String userId)
    {
    @GetMapping(value = {"/", "/{userId}"})
    public AjaxResult getInfo(@PathVariable(value = "userId", required = false) String userId) {
        userService.checkUserDataScope(userId);
        AjaxResult ajax = AjaxResult.success();
        List<SysRole> roles = roleService.selectRoleAll();
        ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
        ajax.put("posts", postService.selectPostAll());
        if (StringUtils.isNotNull(userId))
        {
        if (StringUtils.isNotNull(userId)) {
            SysUser sysUser = userService.selectUserById(userId);
            ajax.put(AjaxResult.DATA_TAG, sysUser);
            ajax.put("postIds", postService.selectPostListByUserId(userId));
@@ -133,20 +122,14 @@
    @PreAuthorize("@ss.hasPermi('system:user:add')")
    @Log(title = "用户管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@Validated @RequestBody SysUser user)
    {
        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
        {
    public AjaxResult add(@Validated @RequestBody SysUser user) {
        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
            return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
        }
        else if (StringUtils.isNotEmpty(user.getPhonenumber())
                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
        {
        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
            return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
        }
        else if (StringUtils.isNotEmpty(user.getEmail())
                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
        {
        } else if (StringUtils.isNotEmpty(user.getEmail())
                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
            return error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
        }
        user.setCreateBy(getUsername());
@@ -161,22 +144,16 @@
    @PreAuthorize("@ss.hasPermi('system:user:edit')")
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@Validated @RequestBody SysUser user)
    {
    public AjaxResult edit(@Validated @RequestBody SysUser user) {
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user)))
        {
        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
        }
        else if (StringUtils.isNotEmpty(user.getPhonenumber())
                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
        {
        } else if (StringUtils.isNotEmpty(user.getPhonenumber())
                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
        }
        else if (StringUtils.isNotEmpty(user.getEmail())
                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
        {
        } else if (StringUtils.isNotEmpty(user.getEmail())
                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
        }
        user.setUpdateBy(getUsername());
@@ -189,10 +166,8 @@
    @PreAuthorize("@ss.hasPermi('system:user:remove')")
    @Log(title = "用户管理", businessType = BusinessType.DELETE)
    @DeleteMapping("/{userIds}")
    public AjaxResult remove(@PathVariable String[] userIds)
    {
        if (ArrayUtils.contains(userIds, getUserId()))
        {
    public AjaxResult remove(@PathVariable String[] userIds) {
        if (ArrayUtils.contains(userIds, getUserId())) {
            return error("当前用户不能删除");
        }
        return toAjax(userService.deleteUserByIds(userIds));
@@ -204,8 +179,7 @@
    @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/resetPwd")
    public AjaxResult resetPwd(@RequestBody SysUser user)
    {
    public AjaxResult resetPwd(@RequestBody SysUser user) {
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -219,8 +193,7 @@
    @PreAuthorize("@ss.hasPermi('system:user:edit')")
    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
    @PutMapping("/changeStatus")
    public AjaxResult changeStatus(@RequestBody SysUser user)
    {
    public AjaxResult changeStatus(@RequestBody SysUser user) {
        userService.checkUserAllowed(user);
        userService.checkUserDataScope(user.getUserId());
        user.setUpdateBy(getUsername());
@@ -233,8 +206,7 @@
    @PreAuthorize("@ss.hasPermi('system:user:query')")
    @GetMapping("/authRole/{userId}")
    @ApiOperation("根据用户编号获取授权角色")
    public AjaxResult authRole(@PathVariable("userId") String userId)
    {
    public AjaxResult authRole(@PathVariable("userId") String userId) {
        AjaxResult ajax = AjaxResult.success();
        SysUser user = userService.selectUserById(userId);
        List<SysRole> roles = roleService.selectRolesByUserId(userId);
@@ -249,8 +221,7 @@
    @PreAuthorize("@ss.hasPermi('system:user:edit')")
    @Log(title = "用户管理", businessType = BusinessType.GRANT)
    @PutMapping("/authRole")
    public AjaxResult insertAuthRole(String userId, Long[] roleIds)
    {
    public AjaxResult insertAuthRole(String userId, Long[] roleIds) {
        userService.checkUserDataScope(userId);
        userService.insertUserAuth(userId, roleIds);
        return success();
@@ -261,8 +232,7 @@
     */
    @PreAuthorize("@ss.hasPermi('system:user:list')")
    @GetMapping("/deptTree")
    public AjaxResult deptTree(SysDept dept)
    {
    public AjaxResult deptTree(SysDept dept) {
        return success(deptService.selectDeptTreeList(dept));
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
@@ -144,7 +144,6 @@
        loginUser.setLoginTime(System.currentTimeMillis());
        if(StringUtils.isNull(loginUser.getIsApp()))
        {
            loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
            // æ ¹æ®uuid将loginUser缓存
            String userKey = getTokenKey(loginUser.getToken());
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/AlarmTask.java
@@ -1,21 +1,13 @@
package com.ruoyi.quartz.task;
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
import com.ruoyi.alarm.globalAlarm.service.IGlobalAlarmService;
import com.ruoyi.alarm.stealAlarm.domain.ArdAlarmStealelec;
import com.ruoyi.alarm.stealAlarm.service.IStealElecAlarmService;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.LonlatConver;
import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
import com.ruoyi.alarm.global.domain.GuideTask;
import com.ruoyi.alarm.global.service.IGlobalAlarmService;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.common.websocket.util.WebSocketUtils;
import com.ruoyi.device.camera.service.IArdCamerasService;
import com.ruoyi.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.PriorityBlockingQueue;