ソースを参照

张浩---第三次提交:
各个子模块加入批量删除接口,部分模块微调;
语音管理子模块加入状态切换接口;

zhanghao 5 ヶ月 前
コミット
1fae24c91c
35 ファイル変更423 行追加104 行削除
  1. 3 3
      taphole-common/src/main/java/com/sckj/common/config/GlobalConfig.java
  2. 14 2
      taphole-device/src/main/java/com/sckj/device/controller/TCameraController.java
  3. 3 1
      taphole-device/src/main/java/com/sckj/device/controller/TDeviceController.java
  4. 7 0
      taphole-device/src/main/java/com/sckj/device/controller/TDeviceFactoryController.java
  5. 11 0
      taphole-device/src/main/java/com/sckj/device/controller/TDeviceLocationController.java
  6. 8 0
      taphole-device/src/main/java/com/sckj/device/controller/TDeviceTypeController.java
  7. 14 2
      taphole-device/src/main/java/com/sckj/device/controller/TProtocolController.java
  8. 13 2
      taphole-device/src/main/java/com/sckj/device/service/ITCameraService.java
  9. 11 0
      taphole-device/src/main/java/com/sckj/device/service/ITDeviceFactoryService.java
  10. 11 0
      taphole-device/src/main/java/com/sckj/device/service/ITDeviceLocationService.java
  11. 1 1
      taphole-device/src/main/java/com/sckj/device/service/ITDeviceService.java
  12. 11 0
      taphole-device/src/main/java/com/sckj/device/service/ITDeviceTypeService.java
  13. 13 2
      taphole-device/src/main/java/com/sckj/device/service/ITProtocolService.java
  14. 50 8
      taphole-device/src/main/java/com/sckj/device/service/impl/TCameraServiceImpl.java
  15. 24 3
      taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceFactoryServiceImpl.java
  16. 24 5
      taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceLocationServiceImpl.java
  17. 9 2
      taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceServiceImpl.java
  18. 26 0
      taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceTypeServiceImpl.java
  19. 50 4
      taphole-device/src/main/java/com/sckj/device/service/impl/TProtocolServiceImpl.java
  20. 0 8
      taphole-device/src/main/java/com/sckj/device/validate/TCameraCreateValidate.java
  21. 0 8
      taphole-device/src/main/java/com/sckj/device/validate/TCameraUpdateValidate.java
  22. 4 0
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceCreateValidate.java
  23. 0 12
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceFactoryCreateValidate.java
  24. 0 6
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceFactoryUpdateValidate.java
  25. 0 8
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceLocationCreateValidate.java
  26. 0 8
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceLocationUpdateValidate.java
  27. 4 0
      taphole-device/src/main/java/com/sckj/device/validate/TDeviceUpdateValidate.java
  28. 2 0
      taphole-device/src/main/java/com/sckj/device/vo/TDeviceDetailVo.java
  29. 6 0
      taphole-device/src/main/java/com/sckj/device/vo/TDeviceListedVo.java
  30. 0 6
      taphole-device/src/main/java/com/sckj/device/vo/TDeviceLocationDetailVo.java
  31. 0 3
      taphole-device/src/main/java/com/sckj/device/vo/TDeviceLocationListedVo.java
  32. 6 0
      taphole-device/src/main/java/com/sckj/device/vo/TDeviceTypeListedVo.java
  33. 18 0
      taphole-warn/src/main/java/com/sckj/warn/controller/TAudioController.java
  34. 19 0
      taphole-warn/src/main/java/com/sckj/warn/service/ITAudioService.java
  35. 61 10
      taphole-warn/src/main/java/com/sckj/warn/service/impl/TAudioServiceImpl.java

+ 3 - 3
taphole-common/src/main/java/com/sckj/common/config/GlobalConfig.java

@@ -41,10 +41,10 @@ public class GlobalConfig {
 
     /**
      * @author zhanghao
-     * 上传音频限制
-     * 上传音频扩展
+     * uploadAudioSize 上传音频限制最大10MB
+     * uploadAudioExt 上传音频扩展
      */
-    public static Integer uploadAudioSize = 1024 * 1024 * 30;
+    public static Integer uploadAudioSize = 1024 * 1024 * 10;
     public static String[] uploadAudioExt = new String[] {"wav", "mp3", "ogg", "aac", "flav", "m4a"};
 
     /**

+ 14 - 2
taphole-device/src/main/java/com/sckj/device/controller/TCameraController.java

@@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/camera")
@@ -46,7 +47,9 @@ public class TCameraController {
     @PostMapping("/add")
     @ApiOperation(value="摄像头新增")
     public AjaxResult<Object> add(@Validated @RequestBody TCameraCreateValidate createValidate) {
-        iTCameraService.add(createValidate);
+        if (iTCameraService.add(createValidate) == 0){
+            return AjaxResult.failed("摄像头新增失败");
+        }
         return AjaxResult.success();
     }
 
@@ -54,7 +57,9 @@ public class TCameraController {
     @PostMapping("/edit")
     @ApiOperation(value="摄像头编辑")
     public AjaxResult<Object> edit(@Validated @RequestBody TCameraUpdateValidate updateValidate) {
-        iTCameraService.edit(updateValidate);
+        if (iTCameraService.edit(updateValidate) == 0){
+            return AjaxResult.failed("摄像头编辑失败");
+        }
         return AjaxResult.success();
     }
 
@@ -66,4 +71,11 @@ public class TCameraController {
         return AjaxResult.success();
     }
 
+    @Log(title = "摄像头批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="摄像头批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTCameraService.del_ex(ids);
+    }
+
 }

+ 3 - 1
taphole-device/src/main/java/com/sckj/device/controller/TDeviceController.java

@@ -46,7 +46,9 @@ public class TDeviceController {
     @PostMapping("/add")
     @ApiOperation(value="设备编号新增")
     public AjaxResult<Object> add(@Validated @RequestBody TDeviceCreateValidate createValidate) {
-        iTDeviceService.add(createValidate);
+        if (iTDeviceService.add(createValidate) == 0){
+            return AjaxResult.failed("设备编号新增失败");
+        }
         return AjaxResult.success();
     }
 

+ 7 - 0
taphole-device/src/main/java/com/sckj/device/controller/TDeviceFactoryController.java

@@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/factory")
@@ -66,4 +67,10 @@ public class TDeviceFactoryController {
         return AjaxResult.success();
     }
 
+    @Log(title = "设备厂家批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="设备厂家批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTDeviceFactoryService.del_ex(ids);
+    }
 }

+ 11 - 0
taphole-device/src/main/java/com/sckj/device/controller/TDeviceLocationController.java

@@ -1,6 +1,8 @@
 package com.sckj.device.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.sckj.common.aop.Log;
+import com.sckj.device.entity.TDeviceLocation;
 import com.sckj.device.service.ITDeviceLocationService;
 import com.sckj.common.validate.commons.IdValidate;
 import com.sckj.device.validate.TDeviceLocationCreateValidate;
@@ -14,10 +16,12 @@ import com.sckj.common.core.PageResult;
 import com.sckj.common.validator.annotation.IDMust;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/location")
@@ -66,4 +70,11 @@ public class TDeviceLocationController {
         return AjaxResult.success();
     }
 
+    @Log(title = "设备位置批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="设备位置批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTDeviceLocationService.del_ex(ids);
+    }
+
 }

+ 8 - 0
taphole-device/src/main/java/com/sckj/device/controller/TDeviceTypeController.java

@@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/type")
@@ -66,4 +67,11 @@ public class TDeviceTypeController {
         return AjaxResult.success();
     }
 
+    @Log(title = "设备类型批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="设备类型批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTDeviceTypeService.del_ex(ids);
+    }
+
 }

+ 14 - 2
taphole-device/src/main/java/com/sckj/device/controller/TProtocolController.java

@@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/protocol")
@@ -46,7 +47,9 @@ public class TProtocolController {
     @PostMapping("/add")
     @ApiOperation(value="设备协议新增")
     public AjaxResult<Object> add(@Validated @RequestBody TProtocolCreateValidate createValidate) {
-        iTProtocolService.add(createValidate);
+        if (iTProtocolService.add(createValidate) == 0){
+            return AjaxResult.failed("设备协议新增失败");
+        }
         return AjaxResult.success();
     }
 
@@ -54,7 +57,9 @@ public class TProtocolController {
     @PostMapping("/edit")
     @ApiOperation(value="设备协议编辑")
     public AjaxResult<Object> edit(@Validated @RequestBody TProtocolUpdateValidate updateValidate) {
-        iTProtocolService.edit(updateValidate);
+        if (iTProtocolService.edit(updateValidate) == 0){
+            return AjaxResult.failed("设备协议编辑失败");
+        }
         return AjaxResult.success();
     }
 
@@ -66,4 +71,11 @@ public class TProtocolController {
         return AjaxResult.success();
     }
 
+    @Log(title = "设备协议批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="设备协议批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTProtocolService.del_ex(ids);
+    }
+
 }

+ 13 - 2
taphole-device/src/main/java/com/sckj/device/service/ITCameraService.java

@@ -1,5 +1,6 @@
 package com.sckj.device.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.validate.TCameraCreateValidate;
 import com.sckj.device.validate.TCameraUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.device.vo.TCameraListedVo;
 import com.sckj.device.vo.TCameraDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 摄像头服务接口类
  * @author zhanghao
@@ -39,7 +42,7 @@ public interface ITCameraService {
      * @author zhanghao
      * @param createValidate 参数
      */
-    void add(TCameraCreateValidate createValidate);
+    int add(TCameraCreateValidate createValidate);
 
     /**
      * 摄像头编辑
@@ -47,7 +50,7 @@ public interface ITCameraService {
      * @author zhanghao
      * @param updateValidate 参数
      */
-    void edit(TCameraUpdateValidate updateValidate);
+    int edit(TCameraUpdateValidate updateValidate);
 
     /**
      * 摄像头删除
@@ -57,4 +60,12 @@ public interface ITCameraService {
      */
     void del(Integer id);
 
+    /**
+     * 摄像头批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
 }

+ 11 - 0
taphole-device/src/main/java/com/sckj/device/service/ITDeviceFactoryService.java

@@ -1,5 +1,6 @@
 package com.sckj.device.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.validate.TDeviceFactoryCreateValidate;
 import com.sckj.device.validate.TDeviceFactoryUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.device.vo.TDeviceFactoryListedVo;
 import com.sckj.device.vo.TDeviceFactoryDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 设备厂家服务接口类
  * @author zhanghao
@@ -57,4 +60,12 @@ public interface ITDeviceFactoryService {
      */
     void del(Integer id);
 
+    /**
+     * 设备厂家批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
 }

+ 11 - 0
taphole-device/src/main/java/com/sckj/device/service/ITDeviceLocationService.java

@@ -1,5 +1,6 @@
 package com.sckj.device.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.validate.TDeviceLocationCreateValidate;
 import com.sckj.device.validate.TDeviceLocationUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.device.vo.TDeviceLocationListedVo;
 import com.sckj.device.vo.TDeviceLocationDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 设备位置服务接口类
  * @author zhanghao
@@ -57,4 +60,12 @@ public interface ITDeviceLocationService {
      */
     void del(Integer id);
 
+    /**
+     * 设备位置批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
 }

+ 1 - 1
taphole-device/src/main/java/com/sckj/device/service/ITDeviceService.java

@@ -39,7 +39,7 @@ public interface ITDeviceService {
      * @author zhanghao
      * @param createValidate 参数
      */
-    void add(TDeviceCreateValidate createValidate);
+    int add(TDeviceCreateValidate createValidate);
 
     /**
      * 设备编号编辑

+ 11 - 0
taphole-device/src/main/java/com/sckj/device/service/ITDeviceTypeService.java

@@ -1,5 +1,6 @@
 package com.sckj.device.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.validate.TDeviceTypeCreateValidate;
 import com.sckj.device.validate.TDeviceTypeUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.device.vo.TDeviceTypeListedVo;
 import com.sckj.device.vo.TDeviceTypeDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 设备类型服务接口类
  * @author zhanghao
@@ -57,4 +60,12 @@ public interface ITDeviceTypeService {
      */
     void del(Integer id);
 
+    /**
+     * 设备类型批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
 }

+ 13 - 2
taphole-device/src/main/java/com/sckj/device/service/ITProtocolService.java

@@ -1,5 +1,6 @@
 package com.sckj.device.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.validate.TProtocolCreateValidate;
 import com.sckj.device.validate.TProtocolUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.device.vo.TProtocolListedVo;
 import com.sckj.device.vo.TProtocolDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 设备协议服务接口类
  * @author zhanghao
@@ -39,7 +42,7 @@ public interface ITProtocolService {
      * @author zhanghao
      * @param createValidate 参数
      */
-    void add(TProtocolCreateValidate createValidate);
+    int add(TProtocolCreateValidate createValidate);
 
     /**
      * 设备协议编辑
@@ -47,7 +50,7 @@ public interface ITProtocolService {
      * @author zhanghao
      * @param updateValidate 参数
      */
-    void edit(TProtocolUpdateValidate updateValidate);
+    int edit(TProtocolUpdateValidate updateValidate);
 
     /**
      * 设备协议删除
@@ -57,4 +60,12 @@ public interface ITProtocolService {
      */
     void del(Integer id);
 
+    /**
+     * 设备协议批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
 }

+ 50 - 8
taphole-device/src/main/java/com/sckj/device/service/impl/TCameraServiceImpl.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.service.ITCameraService;
 import com.sckj.device.validate.TCameraCreateValidate;
@@ -21,9 +23,12 @@ import com.sckj.common.util.UrlUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * 摄像头实现类
@@ -97,9 +102,13 @@ public class TCameraServiceImpl implements ITCameraService {
      * @param createValidate 参数
      */
     @Override
-    public void add(TCameraCreateValidate createValidate) {
+    public int add(TCameraCreateValidate createValidate) {
         TCamera model = new TCamera();
+        if (!checkPortAndIp(createValidate.getPort(), createValidate.getIp())){
+            return 0;
+        }
         model.setCreateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setUpdateTime(new Date(System.currentTimeMillis()));
         model.setNo(createValidate.getNo());
         model.setName(createValidate.getName());
@@ -107,12 +116,10 @@ public class TCameraServiceImpl implements ITCameraService {
         model.setLocation(createValidate.getLocation());
         model.setIp(createValidate.getIp());
         model.setPort(createValidate.getPort());
-        model.setAccount(createValidate.getAccount());
-        model.setPassword(createValidate.getPassword());
         model.setStatus(createValidate.getStatus());
         model.setVcrId(createValidate.getVcrId());
         model.setType(createValidate.getType());
-        tCameraMapper.insert(model);
+        return tCameraMapper.insert(model);
     }
 
     /**
@@ -122,7 +129,7 @@ public class TCameraServiceImpl implements ITCameraService {
      * @param updateValidate 参数
      */
     @Override
-    public void edit(TCameraUpdateValidate updateValidate) {
+    public int edit(TCameraUpdateValidate updateValidate) {
         TCamera model = tCameraMapper.selectOne(
                 new QueryWrapper<TCamera>()
                     .eq("id",  updateValidate.getId())
@@ -130,18 +137,34 @@ public class TCameraServiceImpl implements ITCameraService {
 
         Assert.notNull(model, "数据不存在!");
 
+        if (!checkPortAndIp(updateValidate.getPort(), updateValidate.getIp())){
+            return 0;
+        }
+
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setNo(updateValidate.getNo());
         model.setName(updateValidate.getName());
         model.setModel(updateValidate.getModel());
         model.setLocation(updateValidate.getLocation());
         model.setIp(updateValidate.getIp());
         model.setPort(updateValidate.getPort());
-        model.setAccount(updateValidate.getAccount());
-        model.setPassword(updateValidate.getPassword());
         model.setStatus(updateValidate.getStatus());
         model.setVcrId(updateValidate.getVcrId());
-        tCameraMapper.updateById(model);
+        return tCameraMapper.updateById(model);
+    }
+
+    public boolean checkPortAndIp(String port, String ip){
+        if (Integer.parseInt(port) > 65535){
+            return false;
+        }
+        String IP_PATTERN = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
+        Pattern pattern = Pattern.compile(IP_PATTERN);
+        Matcher matcher = pattern.matcher(ip);
+        if (!matcher.matches()){
+            return false;
+        }
+        return true;
     }
 
     /**
@@ -162,4 +185,23 @@ public class TCameraServiceImpl implements ITCameraService {
         tCameraMapper.delete(new QueryWrapper<TCamera>().eq("id", id));
     }
 
+    /**
+     * 摄像头批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TCamera> models = tCameraMapper.selectList(
+                new QueryWrapper<TCamera>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tCameraMapper.delete(new QueryWrapper<TCamera>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }

+ 24 - 3
taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceFactoryServiceImpl.java

@@ -3,6 +3,8 @@ package com.sckj.device.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.core.PageResult;
 import com.sckj.common.util.StringUtils;
 import com.sckj.common.validate.commons.PageValidate;
@@ -17,6 +19,7 @@ import com.sckj.device.vo.TDeviceFactoryListedVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
@@ -106,9 +109,8 @@ public class TDeviceFactoryServiceImpl implements ITDeviceFactoryService {
     @Override
     public void add(TDeviceFactoryCreateValidate createValidate) {
         TDeviceFactory model = new TDeviceFactory();
-        model.setCreateBy(createValidate.getCreateBy());
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setCreateTime(new Date(System.currentTimeMillis()));
-        model.setUpdateBy(createValidate.getUpdateBy());
         model.setUpdateTime(new Date(System.currentTimeMillis()));
         model.setFactoryName(createValidate.getFactoryName());
         model.setFactoryPhone(createValidate.getFactoryPhone());
@@ -136,7 +138,7 @@ public class TDeviceFactoryServiceImpl implements ITDeviceFactoryService {
 
         Assert.notNull(model, "数据不存在!");
 
-        model.setUpdateBy(updateValidate.getUpdateBy());
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setUpdateTime(new Date(System.currentTimeMillis()));
         model.setFactoryName(updateValidate.getFactoryName());
         model.setFactoryPhone(updateValidate.getFactoryPhone());
@@ -167,4 +169,23 @@ public class TDeviceFactoryServiceImpl implements ITDeviceFactoryService {
         tDeviceFactoryMapper.delete(new QueryWrapper<TDeviceFactory>().eq("id", id));
     }
 
+    /**
+     * 设备厂家批量删除TDeviceFactory
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TDeviceFactory> models = tDeviceFactoryMapper.selectList(
+                new QueryWrapper<TDeviceFactory>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tDeviceFactoryMapper.delete(new QueryWrapper<TDeviceFactory>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }

+ 24 - 5
taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceLocationServiceImpl.java

@@ -3,6 +3,8 @@ package com.sckj.device.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.core.PageResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.entity.TDeviceLocation;
@@ -16,6 +18,7 @@ import com.sckj.device.vo.TDeviceLocationListedVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.Date;
@@ -97,14 +100,12 @@ public class TDeviceLocationServiceImpl implements ITDeviceLocationService {
     public void add(TDeviceLocationCreateValidate createValidate) {
         TDeviceLocation model = new TDeviceLocation();
         model.setCreateTime(new Date(System.currentTimeMillis()));
-        model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setDeviceNo(createValidate.getDeviceNo());
         model.setDeviceName(createValidate.getDeviceName());
         model.setDeviceLocation(createValidate.getDeviceLocation());
         model.setInstallDate(createValidate.getInstallDate());
-        model.setProtectDate(createValidate.getProtectDate());
         model.setProtectBy(createValidate.getProtectBy());
-        model.setProtectLog(createValidate.getProtectLog());
         tDeviceLocationMapper.insert(model);
     }
 
@@ -124,13 +125,12 @@ public class TDeviceLocationServiceImpl implements ITDeviceLocationService {
         Assert.notNull(model, "数据不存在!");
 
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setDeviceNo(updateValidate.getDeviceNo());
         model.setDeviceName(updateValidate.getDeviceName());
         model.setDeviceLocation(updateValidate.getDeviceLocation());
         model.setInstallDate(updateValidate.getInstallDate());
-        model.setProtectDate(updateValidate.getProtectDate());
         model.setProtectBy(updateValidate.getProtectBy());
-        model.setProtectLog(updateValidate.getProtectLog());
         tDeviceLocationMapper.updateById(model);
     }
 
@@ -152,4 +152,23 @@ public class TDeviceLocationServiceImpl implements ITDeviceLocationService {
         tDeviceLocationMapper.delete(new QueryWrapper<TDeviceLocation>().eq("id", id));
     }
 
+    /**
+     * 设备位置批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TDeviceLocation> models = tDeviceLocationMapper.selectList(
+                new QueryWrapper<TDeviceLocation>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tDeviceLocationMapper.delete(new QueryWrapper<TDeviceLocation>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }

+ 9 - 2
taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceServiceImpl.java

@@ -3,6 +3,7 @@ package com.sckj.device.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
 import com.sckj.common.core.PageResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.entity.TDevice;
@@ -23,6 +24,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 import static java.util.stream.Collectors.toMap;
@@ -75,6 +77,7 @@ public class TDeviceServiceImpl implements ITDeviceService {
             typeIds.add(item.getTypeId());
             factoryIds.add(item.getFactoryId());
             BeanUtils.copyProperties(item, vo);
+            vo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getCreateTime()));
             list.add(vo);
         }
 
@@ -123,14 +126,16 @@ public class TDeviceServiceImpl implements ITDeviceService {
      * @param createValidate 参数
      */
     @Override
-    public void add(TDeviceCreateValidate createValidate) {
+    public int add(TDeviceCreateValidate createValidate) {
         TDevice model = new TDevice();
         model.setCreateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setUpdateTime(new Date(System.currentTimeMillis()));
         model.setNo(createValidate.getNo());
         model.setName(createValidate.getName());
         model.setType(createValidate.getType());
-        tDeviceMapper.insert(model);
+        model.setModel(createValidate.getModel());
+        return tDeviceMapper.insert(model);
     }
 
     /**
@@ -149,9 +154,11 @@ public class TDeviceServiceImpl implements ITDeviceService {
         Assert.notNull(model, "数据不存在!");
 
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setNo(updateValidate.getNo());
         model.setName(updateValidate.getName());
         model.setType(updateValidate.getType());
+        model.setModel(updateValidate.getModel());
         tDeviceMapper.updateById(model);
     }
 

+ 26 - 0
taphole-device/src/main/java/com/sckj/device/service/impl/TDeviceTypeServiceImpl.java

@@ -3,6 +3,8 @@ package com.sckj.device.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.core.PageResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.entity.TDeviceType;
@@ -16,8 +18,10 @@ import com.sckj.device.vo.TDeviceTypeListedVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
@@ -58,6 +62,7 @@ public class TDeviceTypeServiceImpl implements ITDeviceTypeService {
         for(TDeviceType item : iPage.getRecords()) {
             TDeviceTypeListedVo vo = new TDeviceTypeListedVo();
             BeanUtils.copyProperties(item, vo);
+            vo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getCreateTime()));
             list.add(vo);
         }
 
@@ -96,6 +101,7 @@ public class TDeviceTypeServiceImpl implements ITDeviceTypeService {
         TDeviceType model = new TDeviceType();
         model.setCreateTime(new Date(System.currentTimeMillis()));
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setName(createValidate.getName());
         tDeviceTypeMapper.insert(model);
     }
@@ -116,6 +122,7 @@ public class TDeviceTypeServiceImpl implements ITDeviceTypeService {
         Assert.notNull(model, "数据不存在!");
 
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setName(updateValidate.getName());
         tDeviceTypeMapper.updateById(model);
     }
@@ -138,4 +145,23 @@ public class TDeviceTypeServiceImpl implements ITDeviceTypeService {
         tDeviceTypeMapper.delete(new QueryWrapper<TDeviceType>().eq("id", id));
     }
 
+    /**
+     * 设备类型批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TDeviceType> models = tDeviceTypeMapper.selectList(
+                new QueryWrapper<TDeviceType>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tDeviceTypeMapper.delete(new QueryWrapper<TDeviceType>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }

+ 50 - 4
taphole-device/src/main/java/com/sckj/device/service/impl/TProtocolServiceImpl.java

@@ -3,6 +3,8 @@ package com.sckj.device.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.core.PageResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.device.entity.TProtocol;
@@ -16,11 +18,14 @@ import com.sckj.device.vo.TProtocolListedVo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * 设备协议实现类
@@ -94,16 +99,20 @@ public class TProtocolServiceImpl implements ITProtocolService {
      * @param createValidate 参数
      */
     @Override
-    public void add(TProtocolCreateValidate createValidate) {
+    public int add(TProtocolCreateValidate createValidate) {
         TProtocol model = new TProtocol();
+        if (!checkPortAndIp(createValidate.getPort(), createValidate.getIp())){
+            return 0;
+        }
         model.setCreateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setUpdateTime(new Date(System.currentTimeMillis()));
         model.setNo(createValidate.getNo());
         model.setName(createValidate.getName());
         model.setType(createValidate.getType());
         model.setPort(createValidate.getPort());
         model.setIp(createValidate.getIp());
-        tProtocolMapper.insert(model);
+        return tProtocolMapper.insert(model);
     }
 
     /**
@@ -113,7 +122,7 @@ public class TProtocolServiceImpl implements ITProtocolService {
      * @param updateValidate 参数
      */
     @Override
-    public void edit(TProtocolUpdateValidate updateValidate) {
+    public int edit(TProtocolUpdateValidate updateValidate) {
         TProtocol model = tProtocolMapper.selectOne(
                 new QueryWrapper<TProtocol>()
                     .eq("id",  updateValidate.getId())
@@ -121,13 +130,31 @@ public class TProtocolServiceImpl implements ITProtocolService {
 
         Assert.notNull(model, "数据不存在!");
 
+        if (!checkPortAndIp(updateValidate.getPort(), updateValidate.getIp())){
+            return 0;
+        }
+
         model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setNo(updateValidate.getNo());
         model.setName(updateValidate.getName());
         model.setType(updateValidate.getType());
         model.setPort(updateValidate.getPort());
         model.setIp(updateValidate.getIp());
-        tProtocolMapper.updateById(model);
+        return tProtocolMapper.updateById(model);
+    }
+
+    public boolean checkPortAndIp(String port, String ip){
+        if (Integer.parseInt(port) > 65535){
+            return false;
+        }
+        String IP_PATTERN = "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
+        Pattern pattern = Pattern.compile(IP_PATTERN);
+        Matcher matcher = pattern.matcher(ip);
+        if (!matcher.matches()){
+            return false;
+        }
+        return true;
     }
 
     /**
@@ -148,4 +175,23 @@ public class TProtocolServiceImpl implements ITProtocolService {
         tProtocolMapper.delete(new QueryWrapper<TProtocol>().eq("id", id));
     }
 
+    /**
+     * 设备协议批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TProtocol> models = tProtocolMapper.selectList(
+                new QueryWrapper<TProtocol>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tProtocolMapper.delete(new QueryWrapper<TProtocol>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }

+ 0 - 8
taphole-device/src/main/java/com/sckj/device/validate/TCameraCreateValidate.java

@@ -38,14 +38,6 @@ public class TCameraCreateValidate implements Serializable {
     @ApiModelProperty(value = "端口号")
     private String port;
 
-    @NotNull(message = "account参数缺失")
-    @ApiModelProperty(value = "登录用户名")
-    private String account;
-
-    @NotNull(message = "password参数缺失")
-    @ApiModelProperty(value = "登录密码")
-    private String password;
-
     @NotNull(message = "status参数缺失")
     @ApiModelProperty(value = "设备启用标志(1启用 0停用)")
     private String status;

+ 0 - 8
taphole-device/src/main/java/com/sckj/device/validate/TCameraUpdateValidate.java

@@ -44,14 +44,6 @@ public class TCameraUpdateValidate implements Serializable {
     @ApiModelProperty(value = "端口号")
     private String port;
 
-    @NotNull(message = "account参数缺失")
-    @ApiModelProperty(value = "登录用户名")
-    private String account;
-
-    @NotNull(message = "password参数缺失")
-    @ApiModelProperty(value = "登录密码")
-    private String password;
-
     @NotNull(message = "status参数缺失")
     @ApiModelProperty(value = "设备启用标志(1启用 0停用)")
     private String status;

+ 4 - 0
taphole-device/src/main/java/com/sckj/device/validate/TDeviceCreateValidate.java

@@ -26,4 +26,8 @@ public class TDeviceCreateValidate implements Serializable {
     @ApiModelProperty(value = "设备类型")
     private String type;
 
+    @NotNull(message = "model参数缺失")
+    @ApiModelProperty(value = "设备型号")
+    private String model;
+
 }

+ 0 - 12
taphole-device/src/main/java/com/sckj/device/validate/TDeviceFactoryCreateValidate.java

@@ -14,18 +14,6 @@ public class TDeviceFactoryCreateValidate implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value = "创建人")
-    private String createBy;
-
-    @ApiModelProperty(value = "创建时间")
-    private Date createTime;
-
-    @ApiModelProperty(value = "更新人")
-    private String updateBy;
-
-    @ApiModelProperty(value = "更新时间")
-    private Date updateTime;
-
     @NotNull(message = "factoryName参数缺失")
     @ApiModelProperty(value = "厂家名称")
     private String factoryName;

+ 0 - 6
taphole-device/src/main/java/com/sckj/device/validate/TDeviceFactoryUpdateValidate.java

@@ -22,12 +22,6 @@ public class TDeviceFactoryUpdateValidate implements Serializable {
     @ApiModelProperty(value = "厂家ID")
     private Long id;
 
-    @ApiModelProperty(value = "更新人")
-    private String updateBy;
-
-    @ApiModelProperty(value = "更新时间")
-    private Date updateTime;
-
     @NotNull(message = "factoryName参数缺失")
     @ApiModelProperty(value = "厂家名称")
     private String factoryName;

+ 0 - 8
taphole-device/src/main/java/com/sckj/device/validate/TDeviceLocationCreateValidate.java

@@ -30,16 +30,8 @@ public class TDeviceLocationCreateValidate implements Serializable {
     @ApiModelProperty(value = "安装日期")
     private String installDate;
 
-    @NotNull(message = "protectDate参数缺失")
-    @ApiModelProperty(value = "维护日期")
-    private String protectDate;
-
     @NotNull(message = "protectBy参数缺失")
     @ApiModelProperty(value = "维护人员")
     private String protectBy;
 
-    @NotNull(message = "protectLog参数缺失")
-    @ApiModelProperty(value = "维护日志")
-    private String protectLog;
-
 }

+ 0 - 8
taphole-device/src/main/java/com/sckj/device/validate/TDeviceLocationUpdateValidate.java

@@ -38,16 +38,8 @@ public class TDeviceLocationUpdateValidate implements Serializable {
     @ApiModelProperty(value = "安装日期")
     private String installDate;
 
-    @NotNull(message = "protectDate参数缺失")
-    @ApiModelProperty(value = "维护日期")
-    private String protectDate;
-
     @NotNull(message = "protectBy参数缺失")
     @ApiModelProperty(value = "维护人员")
     private String protectBy;
 
-    @NotNull(message = "protectLog参数缺失")
-    @ApiModelProperty(value = "维护日志")
-    private String protectLog;
-
 }

+ 4 - 0
taphole-device/src/main/java/com/sckj/device/validate/TDeviceUpdateValidate.java

@@ -32,4 +32,8 @@ public class TDeviceUpdateValidate implements Serializable {
     @ApiModelProperty(value = "设备类型")
     private String type;
 
+    @NotNull(message = "model参数缺失")
+    @ApiModelProperty(value = "设备型号")
+    private String model;
+
 }

+ 2 - 0
taphole-device/src/main/java/com/sckj/device/vo/TDeviceDetailVo.java

@@ -26,5 +26,7 @@ public class TDeviceDetailVo implements Serializable {
     @ApiModelProperty(value = "设备类型")
     private String type;
 
+    @ApiModelProperty(value = "设备型号")
+    private String model;
 
 }

+ 6 - 0
taphole-device/src/main/java/com/sckj/device/vo/TDeviceListedVo.java

@@ -40,4 +40,10 @@ public class TDeviceListedVo implements Serializable {
 
     @ApiModelProperty(value = "设备厂家名称")
     private String factoryName;
+
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
 }

+ 0 - 6
taphole-device/src/main/java/com/sckj/device/vo/TDeviceLocationDetailVo.java

@@ -29,14 +29,8 @@ public class TDeviceLocationDetailVo implements Serializable {
     @ApiModelProperty(value = "安装日期")
     private String installDate;
 
-    @ApiModelProperty(value = "维护日期")
-    private String protectDate;
-
     @ApiModelProperty(value = "维护人员")
     private String protectBy;
 
-    @ApiModelProperty(value = "维护日志")
-    private String protectLog;
-
 
 }

+ 0 - 3
taphole-device/src/main/java/com/sckj/device/vo/TDeviceLocationListedVo.java

@@ -29,9 +29,6 @@ public class TDeviceLocationListedVo implements Serializable {
     @ApiModelProperty(value = "安装日期")
     private String installDate;
 
-    @ApiModelProperty(value = "维护日期")
-    private String protectDate;
-
     @ApiModelProperty(value = "维护人员")
     private String protectBy;
 

+ 6 - 0
taphole-device/src/main/java/com/sckj/device/vo/TDeviceTypeListedVo.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
+
 @Data
 @ApiModel("设备类型列表Vo")
 public class TDeviceTypeListedVo implements Serializable {
@@ -17,5 +19,9 @@ public class TDeviceTypeListedVo implements Serializable {
     @ApiModelProperty(value = "设备类型名称")
     private String name;
 
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
 
+    @ApiModelProperty(value = "更新时间")
+    private String updateTime;
 }

+ 18 - 0
taphole-warn/src/main/java/com/sckj/warn/controller/TAudioController.java

@@ -18,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @RequestMapping("api/audio")
@@ -60,6 +61,16 @@ public class TAudioController {
         return AjaxResult.failed("音频信息更改失败");
     }
 
+    @Log(title = "音频启用状态修改")
+    @PostMapping("/status")
+    @ApiOperation(value="音频启用状态修改")
+    public AjaxResult<Object> status(@Validated @RequestBody TAudioUpdateValidate updateValidate) {
+        if (iTAudioService.status(updateValidate) == 1){
+            return AjaxResult.success();
+        }
+        return AjaxResult.failed("音频启用状态修改失败");
+    }
+
     @Log(title = "音频删除")
     @PostMapping("/del")
     @ApiOperation(value="音频删除")
@@ -68,6 +79,13 @@ public class TAudioController {
         return AjaxResult.success();
     }
 
+    @Log(title = "音频批量删除")
+    @PostMapping("/del_ex")
+    @ApiOperation(value="音频批量删除")
+    public AjaxResult<Object> del_ex(@RequestBody List<Long> ids) {
+        return iTAudioService.del_ex(ids);
+    }
+
     @Log(title = "音频地址查询")
     @PostMapping("/searchPath")
     @ApiOperation(value="音频地址查询")

+ 19 - 0
taphole-warn/src/main/java/com/sckj/warn/service/ITAudioService.java

@@ -1,5 +1,6 @@
 package com.sckj.warn.service;
 
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.warn.validate.TAudioCreateValidate;
 import com.sckj.warn.validate.TAudioUpdateValidate;
@@ -8,6 +9,8 @@ import com.sckj.warn.vo.TAudioListedVo;
 import com.sckj.warn.vo.TAudioDetailVo;
 import com.sckj.common.core.PageResult;
 
+import java.util.List;
+
 /**
  * 音频服务接口类
  * @author zhanghao
@@ -50,6 +53,14 @@ public interface ITAudioService {
     int edit(TAudioUpdateValidate updateValidate);
 
     /**
+     * 音频启用状态修改
+     *
+     * @author zhanghao
+     * @param updateValidate 参数
+     */
+    int status(TAudioUpdateValidate updateValidate);
+
+    /**
      * 音频删除
      *
      * @author zhanghao
@@ -58,6 +69,14 @@ public interface ITAudioService {
     void del(Integer id);
 
     /**
+     * 音频批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    AjaxResult<Object> del_ex(List<Long> ids);
+
+    /**
      * 音频地址查询
      *
      * @author zhanghao

+ 61 - 10
taphole-warn/src/main/java/com/sckj/warn/service/impl/TAudioServiceImpl.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sckj.common.TapholeAdminThreadLocal;
+import com.sckj.common.core.AjaxResult;
 import com.sckj.common.validate.commons.PageValidate;
 import com.sckj.warn.service.ITAudioService;
 import com.sckj.warn.validate.TAudioCreateValidate;
@@ -21,6 +23,7 @@ import com.sckj.common.util.UrlUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
@@ -68,8 +71,11 @@ public class TAudioServiceImpl implements ITAudioService {
         for(TAudio item : iPage.getRecords()) {
             TAudioListedVo vo = new TAudioListedVo();
             BeanUtils.copyProperties(item, vo);
+            vo.setPath("http://localhost:28080/api/uploads/" + vo.getPath());
             vo.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getCreateTime()));
-            vo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getUpdateTime()));
+            if (item.getUpdateTime() != null){
+                vo.setUpdateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(item.getUpdateTime()));
+            }
             list.add(vo);
         }
 
@@ -106,13 +112,14 @@ public class TAudioServiceImpl implements ITAudioService {
     @Override
     public void add(TAudioCreateValidate createValidate) {
         TAudio model = new TAudio();
-        model.setCreateTime(new Date(System.currentTimeMillis()));//gg
-        model.setUpdateTime(new Date(System.currentTimeMillis()));//gg
+        model.setCreateTime(new Date(System.currentTimeMillis()));
+        model.setCreateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setName(createValidate.getName());
         model.setPath(createValidate.getPath());
         model.setExceptionType(createValidate.getExceptionType());
         model.setExceptionLevel(createValidate.getExceptionLevel());
-        model.setStatus(createValidate.getStatus());
+        //默认新增的音频初始状态为停用
+        model.setStatus("0");
         tAudioMapper.insert(model);
     }
 
@@ -129,9 +136,36 @@ public class TAudioServiceImpl implements ITAudioService {
                     .eq("id",  updateValidate.getId())
                     .last("limit 1"));
 
-        Assert.notNull(model, "数据不存在!");
+        if (model.getId() == null){
+            return 0;
+        }
+        model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
+        model.setName(updateValidate.getName());
+        model.setPath(updateValidate.getPath());
+        model.setExceptionType(updateValidate.getExceptionType());
+        model.setExceptionLevel(updateValidate.getExceptionLevel());
+        tAudioMapper.updateById(model);
+        return 1;
+    }
+
+    /**
+     * 音频音频启用状态修改
+     *
+     * @author zhanghao
+     * @param updateValidate 参数
+     */
+    @Override
+    public int status(TAudioUpdateValidate updateValidate) {
+        TAudio model = tAudioMapper.selectOne(
+                new QueryWrapper<TAudio>()
+                        .eq("id",  updateValidate.getId())
+                        .last("limit 1"));
+        if (model.getId() == null){
+            return 0;
+        }
+        /*如果将要修改的状态值和原来的值不同,且修改音频状态为启用*/
         if (!model.getStatus().equals(updateValidate.getStatus()) && updateValidate.getStatus().equals("1")){
-            /*修改音频状态为启用*/
             //首先查找是否存在同异常类型同危害程度的已启用音频
             TAudio tAudio = tAudioMapper.selectOne(
                     new QueryWrapper<TAudio>()
@@ -145,10 +179,8 @@ public class TAudioServiceImpl implements ITAudioService {
             }
         }
         /*未修改音频状态或停用音频或不存在启用状态冲突*/
-        model.setName(updateValidate.getName());
-        model.setPath(updateValidate.getPath());
-        model.setExceptionType(updateValidate.getExceptionType());
-        model.setExceptionLevel(updateValidate.getExceptionLevel());
+        model.setUpdateTime(new Date(System.currentTimeMillis()));
+        model.setUpdateBy(String.valueOf(TapholeAdminThreadLocal.getAdminUsername()));
         model.setStatus(updateValidate.getStatus());
         tAudioMapper.updateById(model);
         return 1;
@@ -188,4 +220,23 @@ public class TAudioServiceImpl implements ITAudioService {
         return model.getPath();
     }
 
+    /**
+     * 音频批量删除
+     *
+     * @author zhanghao
+     * @param ids 主键数组
+     */
+    @Override
+    public AjaxResult<Object> del_ex(List<Long> ids) {
+        List<TAudio> models = tAudioMapper.selectList(
+                new QueryWrapper<TAudio>()
+                        .in("id", ids));
+
+        if (CollectionUtils.isEmpty(models)){
+            return AjaxResult.failed("数据不存在");
+        }
+        tAudioMapper.delete(new QueryWrapper<TAudio>().in("id", ids));
+        return AjaxResult.success();
+    }
+
 }