Przeglądaj źródła

feat:新增报警接收人功能模块
fix:修复已删除弹仍然能查出bug
fix:修复新增系统用户必须存在职位bug

黄渊昊 6 miesięcy temu
rodzic
commit
3f7a16db56
23 zmienionych plików z 718 dodań i 60 usunięć
  1. 123 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/controller/AlarmUserController.java
  2. 115 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/entity/AlarmUser.java
  3. 34 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/enums/AlarmUserEnum.java
  4. 25 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/mapper/AlarmUserMapper.java
  5. 5 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/mapper/mapping/AlarmUserMapper.xml
  6. 38 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserAddParam.java
  7. 43 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserEditParam.java
  8. 35 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserIdParam.java
  9. 55 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserPageParam.java
  10. 80 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/AlarmUserService.java
  11. 97 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/impl/AlarmUserServiceImpl.java
  12. 12 6
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/impl/MonitorDeviceServiceImpl.java
  13. 0 1
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/controller/MonitorTargetController.java
  14. 2 14
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/entity/MonitorTarget.java
  15. 1 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/mapper/mapping/MonitorTargetMapper.xml
  16. 0 15
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/param/MonitorTargetAddParam.java
  17. 0 12
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/param/MonitorTargetEditParam.java
  18. 5 1
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java
  19. 12 2
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/controller/MonitorTargetRegionController.java
  20. 2 2
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/entity/MonitorTargetRegion.java
  21. 5 0
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/MonitorTargetRegionService.java
  22. 27 5
      snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/impl/MonitorTargetRegionServiceImpl.java
  23. 2 2
      snowy-web-app/src/main/resources/application.properties

+ 123 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/controller/AlarmUserController.java

@@ -0,0 +1,123 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.coldchain.modular.alarmuser.entity.AlarmUser;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserAddParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserEditParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserIdParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserPageParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.service.AlarmUserService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 报警接收人控制器
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ */
+@Tag(name = "报警接收人控制器")
+@RestController
+@Validated
+public class AlarmUserController {
+
+    @Resource
+    private AlarmUserService alarmUserService;
+
+    /**
+     * 获取报警接收人分页
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    @Operation(summary = "获取报警接收人分页")
+    @SaCheckPermission("/coldchain/alarmuser/page")
+    @GetMapping("/coldchain/alarmuser/page")
+    public CommonResult<Page<AlarmUser>> page(AlarmUserPageParam alarmUserPageParam) {
+        return CommonResult.data(alarmUserService.page(alarmUserPageParam));
+    }
+
+    /**
+     * 添加报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    @Operation(summary = "添加报警接收人")
+    @CommonLog("添加报警接收人")
+    @SaCheckPermission("/coldchain/alarmuser/add")
+    @PostMapping("/coldchain/alarmuser/add")
+    public CommonResult<String> add(@RequestBody @Valid AlarmUserAddParam alarmUserAddParam) {
+        alarmUserService.add(alarmUserAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    @Operation(summary = "编辑报警接收人")
+    @CommonLog("编辑报警接收人")
+    @SaCheckPermission("/coldchain/alarmuser/edit")
+    @PostMapping("/coldchain/alarmuser/edit")
+    public CommonResult<String> edit(@RequestBody @Valid AlarmUserEditParam alarmUserEditParam) {
+        alarmUserService.edit(alarmUserEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    @Operation(summary = "删除报警接收人")
+    @CommonLog("删除报警接收人")
+    @SaCheckPermission("/coldchain/alarmuser/delete")
+    @PostMapping("/coldchain/alarmuser/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<AlarmUserIdParam> alarmUserIdParamList) {
+        alarmUserService.delete(alarmUserIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取报警接收人详情
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    @Operation(summary = "获取报警接收人详情")
+    @SaCheckPermission("/coldchain/alarmuser/detail")
+    @GetMapping("/coldchain/alarmuser/detail")
+    public CommonResult<AlarmUser> detail(@Valid AlarmUserIdParam alarmUserIdParam) {
+        return CommonResult.data(alarmUserService.detail(alarmUserIdParam));
+    }
+}

+ 115 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/entity/AlarmUser.java

@@ -0,0 +1,115 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 报警接收人实体
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+@Setter
+@TableName("alarm_user")
+public class AlarmUser {
+
+    /** id */
+    @TableId
+    @Schema(description = "id")
+    private String id;
+
+    /** 系统用户id */
+    @Schema(description = "系统用户id")
+    private String userId;
+
+    /** 用户唯一标识 */
+    @Schema(description = "用户唯一标识")
+    private String openid;
+
+    /** AccessToken */
+    @Schema(description = "AccessToken")
+    private String accessToken;
+
+    /** RefreshToken */
+    @Schema(description = "RefreshToken")
+    private String refreshToken;
+
+    /** 微信昵称 */
+    @Schema(description = "微信昵称")
+    private String nickname;
+
+    /** 性别 */
+    @Schema(description = "性别")
+    private String sex;
+
+    /** 省份 */
+    @Schema(description = "省份")
+    private String province;
+
+    /** 用户城市 */
+    @Schema(description = "用户城市")
+    private String city;
+
+    /** 国家 */
+    @Schema(description = "国家")
+    private String country;
+
+    /** 用户头像 */
+    @Schema(description = "用户头像")
+    private String avatar;
+
+    /** 特权信息 */
+    @Schema(description = "特权信息")
+    private String privilege;
+
+    /** unionid */
+    @Schema(description = "unionid")
+    private String unionid;
+
+    /** 扩展信息 */
+    @Schema(description = "扩展信息")
+    private String extJson;
+
+    /** 删除标志 */
+    @Schema(description = "删除标志")
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @Schema(description = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建用户 */
+    @Schema(description = "创建用户")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 修改时间 */
+    @Schema(description = "修改时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 修改用户 */
+    @Schema(description = "修改用户")
+    @TableField(fill = FieldFill.UPDATE)
+    private String updateUser;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/enums/AlarmUserEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.enums;
+
+import lombok.Getter;
+
+/**
+ * 报警接收人枚举
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+public enum AlarmUserEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    AlarmUserEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/mapper/AlarmUserMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.coldchain.modular.alarmuser.entity.AlarmUser;
+
+/**
+ * 报警接收人Mapper接口
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+public interface AlarmUserMapper extends BaseMapper<AlarmUser> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/mapper/mapping/AlarmUserMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.coldchain.modular.alarmuser.mapper.AlarmUserMapper">
+
+</mapper>

+ 38 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserAddParam.java

@@ -0,0 +1,38 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 报警接收人添加参数
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+@Setter
+public class AlarmUserAddParam {
+
+    /** 系统用户id */
+    @Schema(description = "系统用户id")
+    private String userId;
+
+}

+ 43 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserEditParam.java

@@ -0,0 +1,43 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 报警接收人编辑参数
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+@Setter
+public class AlarmUserEditParam {
+
+    /** id */
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "id不能为空")
+    private String id;
+
+    /** 系统用户id */
+    @Schema(description = "系统用户id")
+    private String userId;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 报警接收人Id参数
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+@Setter
+public class AlarmUserIdParam {
+
+    /** id */
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 55 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/param/AlarmUserPageParam.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 报警接收人查询参数
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Getter
+@Setter
+public class AlarmUserPageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+    /** 微信昵称 */
+    @Schema(description = "微信昵称")
+    private String nickname;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/AlarmUserService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.coldchain.modular.alarmuser.entity.AlarmUser;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserAddParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserEditParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserIdParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserPageParam;
+
+import java.util.List;
+
+/**
+ * 报警接收人Service接口
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+public interface AlarmUserService extends IService<AlarmUser> {
+
+    /**
+     * 获取报警接收人分页
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    Page<AlarmUser> page(AlarmUserPageParam alarmUserPageParam);
+
+    /**
+     * 添加报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    void add(AlarmUserAddParam alarmUserAddParam);
+
+    /**
+     * 编辑报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    void edit(AlarmUserEditParam alarmUserEditParam);
+
+    /**
+     * 删除报警接收人
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    void delete(List<AlarmUserIdParam> alarmUserIdParamList);
+
+    /**
+     * 获取报警接收人详情
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     */
+    AlarmUser detail(AlarmUserIdParam alarmUserIdParam);
+
+    /**
+     * 获取报警接收人详情
+     *
+     * @author 黄渊昊
+     * @date  2024/12/02 15:41
+     **/
+    AlarmUser queryEntity(String id);
+}

+ 97 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/alarmuser/service/impl/AlarmUserServiceImpl.java

@@ -0,0 +1,97 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.coldchain.modular.alarmuser.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.coldchain.modular.alarmuser.entity.AlarmUser;
+import vip.xiaonuo.coldchain.modular.alarmuser.mapper.AlarmUserMapper;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserAddParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserEditParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserIdParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.param.AlarmUserPageParam;
+import vip.xiaonuo.coldchain.modular.alarmuser.service.AlarmUserService;
+
+import java.util.List;
+
+/**
+ * 报警接收人Service接口实现类
+ *
+ * @author 黄渊昊
+ * @date  2024/12/02 15:41
+ **/
+@Service
+public class AlarmUserServiceImpl extends ServiceImpl<AlarmUserMapper, AlarmUser> implements AlarmUserService {
+
+    @Override
+    public Page<AlarmUser> page(AlarmUserPageParam alarmUserPageParam) {
+        QueryWrapper<AlarmUser> queryWrapper = new QueryWrapper<AlarmUser>().checkSqlInjection();
+        if(ObjectUtil.isNotEmpty(alarmUserPageParam.getNickname())) {
+            queryWrapper.lambda().like(AlarmUser::getNickname, alarmUserPageParam.getNickname());
+        }
+        if(ObjectUtil.isAllNotEmpty(alarmUserPageParam.getSortField(), alarmUserPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(alarmUserPageParam.getSortOrder());
+            queryWrapper.orderBy(true, alarmUserPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(alarmUserPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(AlarmUser::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(AlarmUserAddParam alarmUserAddParam) {
+        AlarmUser alarmUser = BeanUtil.toBean(alarmUserAddParam, AlarmUser.class);
+        this.save(alarmUser);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(AlarmUserEditParam alarmUserEditParam) {
+        AlarmUser alarmUser = this.queryEntity(alarmUserEditParam.getId());
+        BeanUtil.copyProperties(alarmUserEditParam, alarmUser);
+        this.updateById(alarmUser);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<AlarmUserIdParam> alarmUserIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(alarmUserIdParamList, AlarmUserIdParam::getId));
+    }
+
+    @Override
+    public AlarmUser detail(AlarmUserIdParam alarmUserIdParam) {
+        return this.queryEntity(alarmUserIdParam.getId());
+    }
+
+    @Override
+    public AlarmUser queryEntity(String id) {
+        AlarmUser alarmUser = this.getById(id);
+        if(ObjectUtil.isEmpty(alarmUser)) {
+            throw new CommonException("报警接收人不存在,id值为:{}", id);
+        }
+        return alarmUser;
+    }
+}

+ 12 - 6
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitordevice/service/impl/MonitorDeviceServiceImpl.java

@@ -89,6 +89,7 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
         } else {
             queryWrapper.lambda().orderByAsc(MonitorDevice::getSortCode);
         }
+        queryWrapper.lambda().eq(MonitorDevice::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);
         Page<MonitorDevice> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
         for (MonitorDevice record : page.getRecords()) {
             MonitorDeviceType monitorDeviceType = monitorDeviceTypeService.getById(record.getModelName());
@@ -137,7 +138,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
 
 
     public boolean getByDeviceCode(String deviceCode) {
-        List<MonitorDevice> devices = this.list(new QueryWrapper<MonitorDevice>().eq("device_code", deviceCode));
+        List<MonitorDevice> devices = this.list(new QueryWrapper<MonitorDevice>().eq("device_code", deviceCode)
+                .lambda().eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
         return !devices.isEmpty() ? true : false;
     }
 
@@ -147,7 +149,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     }
 
     public List<MonitorDevice> getDeviceByDeviceCode(String deviceCode) {
-        return this.list(new QueryWrapper<MonitorDevice>().eq("device_code", deviceCode));
+        return this.list(new QueryWrapper<MonitorDevice>().eq("device_code", deviceCode)
+                .lambda().eq(MonitorDevice::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE));
     }
 
 
@@ -216,7 +219,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     @Override
     public boolean updateParamIds(ParamIdsData data) {
         int deviceId = data.getDeviceId();
-        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().like("device_code", deviceId));
+        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().like("device_code", deviceId)
+                .lambda().eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
         if (device != null) {
             List<Integer> pararmIdList = data.getPararmIdList();
             if (!pararmIdList.isEmpty()) {
@@ -229,7 +233,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     @Override
     public boolean updateParameters(ParamData data) {
         int deviceId = data.getDeviceId();
-        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().like("device_code", deviceId));
+        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().like("device_code", deviceId)
+                .lambda().eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
         if (device != null && !data.getParameterList().isEmpty()) {
             if (!data.getParameterList().isEmpty()) {
                 device.setParameters(data.getParameterList());
@@ -275,7 +280,8 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
             // 如果 timestamp 为空,使用当前系统时间
             timestamp = new Date();  // 或者 new Date(System.currentTimeMillis());
         }
-        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().eq("device_code", deviceId));
+        MonitorDevice device = this.getOne(new QueryWrapper<MonitorDevice>().eq("device_code", deviceId)
+                .lambda().eq(MonitorDevice::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE));
         if (device == null) {
             // 设备未找到,记录日志
             log.warn("Device with deviceId {} not found", deviceId);
@@ -333,7 +339,7 @@ public class MonitorDeviceServiceImpl extends ServiceImpl<MonitorDeviceMapper, M
     @Override
     public MonitorDevice queryByDeviceCode(Integer deviceId) {
         LambdaQueryWrapper<MonitorDevice> onlineDeviceQueryWrapper = new LambdaQueryWrapper<>();
-        onlineDeviceQueryWrapper.eq(MonitorDevice::getDeviceCode, deviceId);
+        onlineDeviceQueryWrapper.eq(MonitorDevice::getDeviceCode, deviceId).eq(MonitorDevice::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);
         return this.getOne(onlineDeviceQueryWrapper);
     }
 }

+ 0 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/controller/MonitorTargetController.java

@@ -143,7 +143,6 @@ public class MonitorTargetController {
 
     /**
      * 获取监控对象列表
-     * @param 是否查询所有
      */
     @Operation(summary = "获取监控对象列表")
     @SaCheckPermission("/coldchain/monitortarget/list")

+ 2 - 14
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/entity/MonitorTarget.java

@@ -24,7 +24,7 @@ import vip.xiaonuo.coldchain.core.alarm.bean.SensorAlarmUser;
 import vip.xiaonuo.coldchain.core.handler.NotificationChannelListTypeHandler;
 import vip.xiaonuo.coldchain.core.handler.SensorAlarmUserTypeHandler;
 import vip.xiaonuo.coldchain.modular.monitortargetregion.entity.MonitorTargetRegion;
-import vip.xiaonuo.common.pojo.CommonEntity;
+import vip.xiaonuo.common.pojo.OrgEntity;
 
 import java.util.Date;
 import java.util.List;
@@ -38,7 +38,7 @@ import java.util.List;
 @Getter
 @Setter
 @TableName(value = "monitor_target", autoResultMap = true)
-public class MonitorTarget extends CommonEntity {
+public class MonitorTarget extends OrgEntity {
 
     /**
      * ID
@@ -65,18 +65,6 @@ public class MonitorTarget extends CommonEntity {
     @Schema(description = "监控位置区域")
     private String monitorPoint;
 
-    /**
-     * 报警上限
-     */
-    @Schema(description = "报警上限")
-    private Float limitUp;
-
-    /**
-     * 报警下限
-     */
-    @Schema(description = "报警下限")
-    private Float limitDown;
-
     /**
      * 设备区域列表
      */

+ 1 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/mapper/mapping/MonitorTargetMapper.xml

@@ -7,6 +7,7 @@
         from `monitor_target`
         <if test="name != null">
             where name like '%${name}%'
+            and delete_flag = 'NOT_DELETE'
         </if>
         group by status
     </select>

+ 0 - 15
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/param/MonitorTargetAddParam.java

@@ -52,21 +52,6 @@ public class MonitorTargetAddParam {
     @Schema(description = "监控位置区域")
     private String monitorPoint;
 
-    /**
-     * 报警上限
-     */
-    @Schema(description = "报警上限")
-    @NotNull(message = "报警上限不能为空")
-    private Float limitUp;
-
-    /**
-     * 报警下限
-     */
-    @Schema(description = "报警下限")
-    @NotNull(message = "报警下限不能为空")
-    private Float limitDown;
-
-
     /**
      * 告警接收人,存储告警通知的接收用户信息
      */

+ 0 - 12
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/param/MonitorTargetEditParam.java

@@ -59,18 +59,6 @@ public class MonitorTargetEditParam {
     @Schema(description = "监控位置区域")
     private String monitorPoint;
 
-    /**
-     * 报警上限
-     */
-    @Schema(description = "报警上限")
-    private Float limitUp;
-
-    /**
-     * 报警下限
-     */
-    @Schema(description = "报警下限")
-    private Float limitDown;
-
     /**
      * 最后心跳时间
      */

+ 5 - 1
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortarget/service/impl/MonitorTargetServiceImpl.java

@@ -34,6 +34,7 @@ import vip.xiaonuo.coldchain.modular.monitortarget.param.*;
 import vip.xiaonuo.coldchain.modular.monitortarget.service.MonitorTargetService;
 import vip.xiaonuo.coldchain.modular.monitortargetregion.entity.MonitorTargetRegion;
 import vip.xiaonuo.coldchain.modular.monitortargetregion.service.MonitorTargetRegionService;
+import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
@@ -70,6 +71,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         } else {
             queryWrapper.lambda().orderByAsc(MonitorTarget::getId);
         }
+        queryWrapper.lambda().eq(MonitorTarget::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
         Page<MonitorTarget> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
         //获取设备区域列表并赋值返回
         page.getRecords().forEach(monitorTarget -> {
@@ -128,7 +130,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         } else {
             queryWrapper.eq(MonitorTarget::getCreateUser, StpLoginUserUtil.getLoginUser().getId());
         }
-        queryWrapper.orderByDesc(MonitorTarget::getCreateTime);
+        queryWrapper.eq(MonitorTarget::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE).orderByDesc(MonitorTarget::getCreateTime);
         List<MonitorTarget> monitorTargetList = list(queryWrapper);
         monitorTargetList.forEach(monitorTarget -> {
             monitorTarget.setMonitorTargetRegionList(monitorTargetRegionService.getRegionListByTargetId(monitorTarget.getId()));
@@ -153,6 +155,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
         } else {
             queryWrapper.lambda().orderByDesc(MonitorTarget::getCreateTime);
         }
+        queryWrapper.lambda().eq(MonitorTarget::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);
         Page<MonitorTarget> page1 = new Page<>(monitorTargetPageParam.getCurrent(), monitorTargetPageParam.getSize());
         Page<MonitorTarget> rlt = this.page(page1, queryWrapper);
         //获取设备区域列表并赋值返回
@@ -220,6 +223,7 @@ public class MonitorTargetServiceImpl extends ServiceImpl<MonitorTargetMapper, M
             queryWrapper.eq(MonitorTarget::getStatus, MonitorStatusEnum.ONLINE.getCode())
                     .orderByDesc(MonitorTarget::getCreateTime);
         }
+        queryWrapper.eq(MonitorTarget::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
         return list(queryWrapper);
     }
 

+ 12 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/controller/MonitorTargetRegionController.java

@@ -143,12 +143,22 @@ public class MonitorTargetRegionController {
     }
 
     /**
-     * 根据测设备id获取监测点位列表
+     * 根据测设备id获取监测点位列表
      */
-    @Operation(summary = "根据测设备id获取监测点位列表")
+    @Operation(summary = "根据测设备id获取监测点位列表")
     @SaCheckPermission("/coldchain/monitordevice/getRegionByDeviceId")
     @GetMapping("/coldchain/monitordevice/getRegionByDeviceId")
     public CommonResult<List<MonitorTargetRegion>> listByDeviceId(String deviceId) {
         return CommonResult.data(monitorTargetRegionService.listByDeviceId(deviceId));
     }
+
+    /**
+     * 根据监控对象id获取监测设备编号列表
+     */
+    @Operation(summary = "根据监控对象id获取监测设备编号列表")
+    @SaCheckPermission("/coldchain/monitordevice/getDeviceCodeByTargetId")
+    @GetMapping("/coldchain/monitordevice/getDeviceCodeByTargetId")
+    public CommonResult<List<String>> listByDeviceCodeByTargetId(String targetId) {
+        return CommonResult.data(monitorTargetRegionService.listByDeviceCodeByTargetId(targetId));
+    }
 }

+ 2 - 2
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/entity/MonitorTargetRegion.java

@@ -27,7 +27,7 @@ import vip.xiaonuo.coldchain.core.alarm.bean.SensorAlarmUser;
 import vip.xiaonuo.coldchain.core.handler.NotificationChannelListTypeHandler;
 import vip.xiaonuo.coldchain.core.handler.SensorAlarmUserTypeHandler;
 import vip.xiaonuo.coldchain.modular.app.param.FloatNullToDashSerializer;
-import vip.xiaonuo.common.pojo.CommonEntity;
+import vip.xiaonuo.common.pojo.OrgEntity;
 
 import java.util.List;
 
@@ -40,7 +40,7 @@ import java.util.List;
 @Getter
 @Setter
 @TableName(value = "monitor_target_region", autoResultMap = true)
-public class MonitorTargetRegion extends CommonEntity {
+public class MonitorTargetRegion extends OrgEntity {
     /**
      * 区域唯一标识符,UUID
      */

+ 5 - 0
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/MonitorTargetRegionService.java

@@ -111,4 +111,9 @@ public interface MonitorTargetRegionService extends IService<MonitorTargetRegion
      * 根据检测设备id获取监测点位列表
      */
     List<MonitorTargetRegion> listByDeviceId(String deviceId);
+
+    /**
+     * 根据监控对象id获取监测设备编号列表
+     */
+    List<String> listByDeviceCodeByTargetId(String targetId);
 }

+ 27 - 5
snowy-plugin/snowy-plugin-coldchain/src/main/java/vip/xiaonuo/coldchain/modular/monitortargetregion/service/impl/MonitorTargetRegionServiceImpl.java

@@ -39,6 +39,7 @@ import vip.xiaonuo.coldchain.modular.monitortargetregion.param.MonitorTargetRegi
 import vip.xiaonuo.coldchain.modular.monitortargetregion.param.MonitorTargetRegionIdParam;
 import vip.xiaonuo.coldchain.modular.monitortargetregion.param.MonitorTargetRegionPageParam;
 import vip.xiaonuo.coldchain.modular.monitortargetregion.service.MonitorTargetRegionService;
+import vip.xiaonuo.common.enums.CommonDeleteFlagEnum;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
@@ -80,6 +81,7 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
         } else {
             queryWrapper.lambda().orderByAsc(MonitorTargetRegion::getId);
         }
+        queryWrapper.lambda().eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);
         Page<MonitorTargetRegion> page = this.page(CommonPageRequest.defaultPage(), queryWrapper);
         for (MonitorTargetRegion monitorTargetRegion : page.getRecords()) {
             String targetId = monitorTargetService.getById(monitorTargetRegion.getMonitorTargetId()).getName();
@@ -151,8 +153,16 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
     @Override
     public List<MonitorTargetRegion> getRegionListByTargetId(String targetId) {
         LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<MonitorTargetRegion>();
-        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId);
-        return list(queryWrapper);
+        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId).eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);;
+        List<MonitorTargetRegion> list = list(queryWrapper);
+        for (MonitorTargetRegion monitorTargetRegion : list) {
+            MonitorDevice monitorDevice = monitorDeviceService.getById(monitorTargetRegion.getMonitorDeviceId());
+            if (ObjectUtil.isNull(monitorDevice)) {
+                throw new CommonException("找不到监控设备,请检查监控对象是否有误");
+            }
+            monitorTargetRegion.setDeviceName(monitorDevice.getDeviceName());
+        }
+        return list;
     }
 
     @Override
@@ -183,7 +193,7 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
     @Override
     public List<String> getTargetIdListByDeviceId(String deviceCode) {
         LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MonitorTargetRegion::getDeviceCode,deviceCode);
+        queryWrapper.eq(MonitorTargetRegion::getDeviceCode,deviceCode).eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);;
         List<String> targetIdList = new ArrayList<>();
         for (MonitorTargetRegion monitorTargetRegion : list(queryWrapper)) {
             targetIdList.add(monitorTargetRegion.getMonitorTargetId());
@@ -194,14 +204,15 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
     @Override
     public List<MonitorTargetRegion> listByTargetId(String targetId) {
         LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId);
+        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId).eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);;
         return list(queryWrapper);
     }
 
     @Override
     public MonitorTargetRegion findOneByDeviceCodeAndSensorNo(String deviceCode, Integer sensorNo) {
         LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(MonitorTargetRegion::getDeviceCode, deviceCode).eq(MonitorTargetRegion::getSensorRoute,sensorNo);
+        queryWrapper.eq(MonitorTargetRegion::getDeviceCode, deviceCode).eq(MonitorTargetRegion::getSensorRoute,sensorNo)
+            .eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);;
         return getOne(queryWrapper);
     }
 
@@ -216,9 +227,20 @@ public class MonitorTargetRegionServiceImpl extends ServiceImpl<MonitorTargetReg
         if (deviceId != null) {
             queryWrapper.eq(MonitorTargetRegion::getMonitorDeviceId, deviceId);
         }
+        queryWrapper.eq(MonitorTargetRegion::getDeleteFlag,CommonDeleteFlagEnum.NOT_DELETE);
         return list(queryWrapper);
     }
 
+    @Override
+    public List<String> listByDeviceCodeByTargetId(String targetId) {
+        LambdaQueryWrapper<MonitorTargetRegion> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(MonitorTargetRegion::getMonitorTargetId, targetId).eq(MonitorTargetRegion::getDeleteFlag, CommonDeleteFlagEnum.NOT_DELETE);
+        List<MonitorTargetRegion> list = list(queryWrapper);
+        List<String> codeList = new ArrayList<>();
+        list.forEach(code -> codeList.add(code.getDeviceCode()));
+        return codeList;
+    }
+
     private void fillParentLocationInfo(List<MonitorTargetRegion> resourceList) {
         if (CollUtil.isNotEmpty(resourceList)) {
             List<MonitorTargetRegion> locationTypes = resourceList.stream().filter(distinctByKey(MonitorTargetRegion::getParentId)).collect(Collectors.toList());

+ 2 - 2
snowy-web-app/src/main/resources/application.properties

@@ -1,7 +1,7 @@
 #########################################
 # server configuration
 #########################################
-server.port=58888
+server.port=58889
 
 #########################################
 # spring allow-circular-references
@@ -118,7 +118,7 @@ spring.jackson.serialization.write-dates-as-timestamps=false
 #########################################
 # redis configuration
 #########################################
-spring.data.redis.database=1
+spring.data.redis.database=12
 spring.data.redis.host=jfcloud-k6-redis
 spring.data.redis.port=6379
 spring.data.redis.password=jfcloudjfcloud