浏览代码

添加摄像头回放

523096025 2 年之前
父节点
当前提交
eb2ed5bfad
共有 23 个文件被更改,包括 693 次插入16 次删除
  1. 1 1
      huimv-farm-admin/src/main/resources/application-prod.yml
  2. 2 2
      huimv-farm-eartag/src/main/java/com/huimv/eartag/controller/FeedFowlRecordController.java
  3. 1 1
      huimv-farm-environ/src/main/java/com/huimv/environ/HuimvEnvironApplication.java
  4. 6 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/BaseBoxController.java
  5. 53 0
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/BaseRoomController.java
  6. 3 3
      huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/WeatherController.java
  7. 2 2
      huimv-farm-gateway/src/main/resources/application-dev.yml
  8. 4 4
      huimv-farm-video/src/main/java/com/huimv/video/dhicc/timmer/SysTelcomEnentTimmer.java
  9. 87 0
      huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionAreaController.java
  10. 100 0
      huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionController.java
  11. 1 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java
  12. 40 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/CameraFunction.java
  13. 39 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/CameraFunctionArea.java
  14. 1 0
      huimv-farm-video/src/main/java/com/huimv/video/video/entity/vo/CameraVo.java
  15. 19 0
      huimv-farm-video/src/main/java/com/huimv/video/video/mapper/CameraFunctionAreaMapper.java
  16. 18 0
      huimv-farm-video/src/main/java/com/huimv/video/video/mapper/CameraFunctionMapper.java
  17. 25 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/ICameraFuntcionAreaService.java
  18. 32 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/ICameraFuntcionService.java
  19. 4 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraAreaServiceImpl.java
  20. 80 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraFunctionAreaServiceImpl.java
  21. 171 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraFunctionServiceImpl.java
  22. 1 0
      huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java
  23. 3 3
      huimv-farm-video/src/main/resources/application-prod.yml

+ 1 - 1
huimv-farm-admin/src/main/resources/application-prod.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8090
+  port: 8091
 spring:
   application:
     name: pigfarm-local-device

+ 2 - 2
huimv-farm-eartag/src/main/java/com/huimv/eartag/controller/FeedFowlRecordController.java

@@ -1,12 +1,12 @@
 package com.huimv.eartag.controller;
 
 
-import com.huimv.common.utils.Result;
-import com.huimv.common.utils.ResultCode;
 import com.huimv.eartag.entity.FeedEnvTempFlow;
 import com.huimv.eartag.entity.FeedFowlRecord;
 import com.huimv.eartag.service.IFeedEnvTempFlowService;
 import com.huimv.eartag.service.IFeedFowlRecordService;
+import com.huimv.eartag.vo.Result;
+import com.huimv.eartag.vo.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 

+ 1 - 1
huimv-farm-environ/src/main/java/com/huimv/environ/HuimvEnvironApplication.java

@@ -20,7 +20,7 @@ import org.springframework.web.client.RestTemplate;
  **/
 @SpringBootApplication
 @MapperScan("com.huimv.environ.*.mapper")
-@Import(InterceptorConfig.class)
+//@Import(InterceptorConfig.class)
 @EnableScheduling
 public class HuimvEnvironApplication {
     public static void main(String[] args) {

+ 6 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/BaseBoxController.java

@@ -6,7 +6,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.environ.eco.entity.BaseBox;
+import com.huimv.environ.eco.entity.SysHumidity;
+import com.huimv.environ.eco.entity.SysTelecom;
+import com.huimv.environ.eco.entity.SysTemperature;
 import com.huimv.environ.eco.service.IBaseBoxService;
+import com.huimv.environ.eco.service.ISysHumidityService;
+import com.huimv.environ.eco.service.ISysTemperatureService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -55,4 +60,5 @@ public class BaseBoxController {
     }
 
 
+
 }

+ 53 - 0
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/BaseRoomController.java

@@ -4,11 +4,18 @@ package com.huimv.environ.eco.controller;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
+import com.huimv.environ.eco.entity.BaseBox;
 import com.huimv.environ.eco.entity.BaseRoom;
+import com.huimv.environ.eco.entity.SysHumidity;
+import com.huimv.environ.eco.entity.SysTemperature;
 import com.huimv.environ.eco.service.IBaseRoomService;
+import com.huimv.environ.eco.service.ISysHumidityService;
+import com.huimv.environ.eco.service.ISysTemperatureService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -59,4 +66,50 @@ public class BaseRoomController {
     }
 
 
+
+    @Autowired
+    private ISysTemperatureService sysTemperatureService;
+
+    @Autowired
+    private ISysHumidityService sysHumidityService;
+
+    @GetMapping("tettt")
+    public void tettt(){
+        List<BaseRoom> list = baseRoomService.list(null);
+        Date now = new Date();
+
+        for (BaseRoom baseRoom : list) {
+            Integer roomId = baseRoom.getId();
+            SysTemperature one = sysTemperatureService.getOne(new QueryWrapper<SysTemperature>().last("limit 1 ").eq("room_id",roomId));
+
+            SysHumidity one2 = sysHumidityService.getOne(new QueryWrapper<SysHumidity>().last("limit 1 ").eq("room_id",roomId));
+            Double aDouble = one.getValue();
+            Double aDouble2 = one2.getValue();
+            SysTemperature sysTemperature = new SysTemperature();
+            SysHumidity sysHumidity = new SysHumidity();
+
+
+
+            sysTemperature.setRoomId(roomId);
+            sysTemperature.setCreateTime(now);
+            sysTemperature.setFarmId(1);
+            sysTemperature.setId("111111");
+            sysTemperature.setOriginal(aDouble *10 );
+            sysTemperature.setValue(aDouble+0.1);
+
+
+            sysHumidity.setRoomId(roomId);
+            sysHumidity.setCreateTime(now);
+            sysHumidity.setFarmId(1);
+            sysHumidity.setId("111111");
+            sysHumidity.setValue(aDouble2+0.1);
+
+
+
+            sysTemperatureService.save(sysTemperature);
+            sysHumidityService.save(sysHumidity);
+        }
+
+    }
+
 }

+ 3 - 3
huimv-farm-environ/src/main/java/com/huimv/environ/eco/controller/WeatherController.java

@@ -62,17 +62,17 @@ public class WeatherController {
 
         //直接通过它计算出24小时之内的温度同时以一个新的数组存入表中,数据的取出和比较值后面进行
 
+//        String url = "https://wis.qq.com/weather/common";
         String url = "https://wis.qq.com/weather/common";
 
         String param = "source=xw&weather_type=observe|forecast_1h|forecast_24h|index|alarm|limit|tips&province=" + province + "&city=" + city + "&county=" + county;
 
         String result = HttpUtil.urlWithForm(url, param, Charset.defaultCharset(), true);
 
-        System.out.println("1 >>"+result);
+        System.out.println(result);
 
         String s = HttpUtil.get(result);
-        System.out.println("2 >>"+s);
-
+        System.out.println("测试天气");
         //对S进行解析,首先获取当天24小时的温度情况
 
         JSONObject jsonObject = JSONObject.fromObject(s);

+ 2 - 2
huimv-farm-gateway/src/main/resources/application-dev.yml

@@ -9,7 +9,7 @@ spring:
       enabled: true
       routes:
         - id: admin
-          uri: http://127.0.0.1:8090
+          uri: http://127.0.0.1:8091
           predicates:
             - Path=/admin/**
           filters:
@@ -27,7 +27,7 @@ spring:
           filters:
             - StripPrefix=1
         - id: env
-          uri: http://127.0.0.1:8092
+          uri: http://127.0.0.1:8093
           predicates:
             - Path=/env/**
           filters:

+ 4 - 4
huimv-farm-video/src/main/java/com/huimv/video/dhicc/timmer/SysTelcomEnentTimmer.java

@@ -104,7 +104,7 @@ public class SysTelcomEnentTimmer {
 
     // @Scheduled(cron = " 0/5 * * * * ? ")
 //     @Scheduled(cron = " 0/50 * * * * ? ")
-    @Scheduled(cron = " 0 */59 * * * ? ")
+    @Scheduled(cron = " 0 0 * * * ? ")
     private void updateBox() {
         //获得设备列表 查找烘干数据
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -117,7 +117,7 @@ public class SysTelcomEnentTimmer {
         for (String deviceId : collect) {
             Calendar TimeDeviceId = Calendar.getInstance();
             TimeDeviceId.setTime(new Date());
-            TimeDeviceId.add(Calendar.HOUR, -300);
+            TimeDeviceId.add(Calendar.MINUTE, -300);
             Date began1time = TimeDeviceId.getTime();
             String startTime1 = format.format(began1time);
             String endTime1 = format.format(new Date());
@@ -128,7 +128,7 @@ public class SysTelcomEnentTimmer {
             List<SysTelecom> sysTelecoms = sysTelecomMapper.selectList(wrapper);//System.out.println(sysTelecoms);
             for (SysTelecom sysTelecom : sysTelecoms) {
                 if (Double.parseDouble(sysTelecom.getTemp()) > 50) {
-                    System.out.println("温度" + sysTelecom.getTemp() + sysTelecom.getDeviceId() + sysTelecom.getTimestamp());
+//                    System.out.println("温度" + sysTelecom.getTemp() + sysTelecom.getDeviceId() + sysTelecom.getTimestamp());
                     //产生时间段
                     Calendar eventTime = Calendar.getInstance();
                     eventTime.setTime(sysTelecom.getTimestamp());
@@ -143,7 +143,7 @@ public class SysTelcomEnentTimmer {
                             .eq(SysTelecomEvent::getDeviceId, sysTelecom.getDeviceId())
                             .eq(SysTelecomEvent::getFarmId, sysTelecom.getFarmId())
                             .between(SysTelecomEvent::getEventTime, EventStartTime, EventEndTime));
-                    System.out.println("插结果" + count);
+//                    System.out.println("插结果" + count);
                     if (count == 0) {
                         // System.out.println("保存了一条");
                         SysTelecomEvent sysTelecomEvent = new SysTelecomEvent();

+ 87 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionAreaController.java

@@ -0,0 +1,87 @@
+package com.huimv.video.video.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.entity.CameraFunctionArea;
+import com.huimv.video.video.service.ICameraFuntcionAreaService;
+import com.huimv.video.video.service.ICameraFuntcionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@RestController
+@RequestMapping("/cameraFunctionArea")
+public class CameraFunctionAreaController {
+    @Autowired
+    private ICameraFuntcionAreaService cameraFuntcionAreaService;
+
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraFuntcionAreaService.cameraList(params);
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody CameraFunctionArea cameraFunctionArea) {
+        int brandName = cameraFuntcionAreaService.count(new QueryWrapper<CameraFunctionArea>().eq("function_name", cameraFunctionArea.getFunctionName()).eq("farm_id", cameraFunctionArea.getFarmId()));
+        if (brandName > 0) {
+            return new Result(100001, "区域名称重复", false);
+        }
+        cameraFuntcionAreaService.save(cameraFunctionArea);
+        return new Result(10000, "添加成功", true);
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody CameraFunctionArea cameraFunctionArea) {
+        cameraFuntcionAreaService.updateById(cameraFunctionArea);
+        int brandName = cameraFuntcionAreaService.count(new QueryWrapper<CameraFunctionArea>().eq("function_name", cameraFunctionArea.getFunctionName()));
+        if (brandName > 1) {
+            return new Result(100001, "区域名称重复", false);
+        }
+
+        return new Result(10000, "修改成功", true);
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(value = "ids") List<Integer> ids) {
+
+        return cameraFuntcionAreaService.removeIds(ids);
+
+    }
+
+    @PostMapping("/addFunction")
+    public Result addFunction(@RequestBody Map<String, String> params) {
+
+        return cameraFuntcionAreaService.addFunction(params);
+
+    }
+
+    @PostMapping("/getFunctionById")
+    public Result getFunctionByid(@RequestBody Map<String, String> params) {
+        String id = params.get("id");
+        CameraFunctionArea byId = cameraFuntcionAreaService.getById(id);
+        String functionIds = byId.getFunctionIds();
+        if (StringUtils.isNotBlank(functionIds)){
+            return new Result(ResultCode.SUCCESS,functionIds.split(","));
+
+        }
+        return new Result(ResultCode.SUCCESS,null);
+
+    }
+
+
+}

+ 100 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/controller/CameraFunctionController.java

@@ -0,0 +1,100 @@
+package com.huimv.video.video.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.common.utils.Result;
+import com.huimv.video.video.entity.Camera;
+import com.huimv.video.video.entity.CameraArea;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.service.ICameraAreaService;
+import com.huimv.video.video.service.ICameraFuntcionService;
+import com.huimv.video.video.service.ICameraService;
+import com.huimv.video.video.utils.IpUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@RestController
+@RequestMapping("/cameraFunction")
+public class CameraFunctionController {
+    @Autowired
+    private ICameraFuntcionService cameraFuntcionService;
+
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraFuntcionService.cameraList(params);
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody CameraFunction cameraFunction) {
+        int brandName = cameraFuntcionService.count(new QueryWrapper<CameraFunction>().eq("function_name", cameraFunction.getFunctionName()).eq("farm_id", cameraFunction.getFarmId()));
+        if (brandName > 0) {
+            return new Result(100001, "区域名称重复", false);
+        }
+        cameraFuntcionService.save(cameraFunction);
+        return new Result(10000, "添加成功", true);
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody CameraFunction cameraArea) {
+        cameraFuntcionService.updateById(cameraArea);
+        int brandName = cameraFuntcionService.count(new QueryWrapper<CameraFunction>().eq("function_name", cameraArea.getFunctionName()));
+        if (brandName > 1) {
+            return new Result(100001, "区域名称重复", false);
+        }
+
+        return new Result(10000, "修改成功", true);
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(value = "ids") List<Integer> ids) {
+
+        return cameraFuntcionService.removeIds(ids);
+
+    }
+
+
+    @GetMapping("/lsitAndCamera")
+    public Result lsitAndCamera(@RequestParam(value = "farmId") Integer farmId) {
+
+        return cameraFuntcionService.lsitAndCamera(farmId);
+
+    }
+    @PostMapping("/addCamera")
+    public Result addCamera(@RequestBody Map<String, String> params) {
+
+        return cameraFuntcionService.addCamera(params);
+
+    }
+    @PostMapping("/listCamera")
+    public Result listCamera(@RequestBody Map<String, String> params) {
+
+        return cameraFuntcionService.listCamera(params);
+
+    }
+
+    @PostMapping("/deleteCamera")
+    public Result deleteCamera(@RequestBody Map<String, String> params) {
+
+        return cameraFuntcionService.deleteCamera(params);
+
+    }
+
+
+
+
+}

+ 1 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/Camera.java

@@ -89,6 +89,7 @@ public class Camera extends Model {
     private Integer roomId;
     //icc通道
     private String iccChannel;
+    private Integer functionId;
 
 
 }

+ 40 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/CameraFunction.java

@@ -0,0 +1,40 @@
+package com.huimv.video.video.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("sys_camera_function")
+public class CameraFunction extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String functionName;
+
+
+    private String remark;
+
+    private Integer farmId;
+
+    private String publicUrl;
+
+
+}

+ 39 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/CameraFunctionArea.java

@@ -0,0 +1,39 @@
+package com.huimv.video.video.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("sys_camera_function_area")
+public class CameraFunctionArea extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String functionName;
+
+
+    private String remark;
+
+    private Integer farmId;
+
+    private String functionIds;
+
+}

+ 1 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/entity/vo/CameraVo.java

@@ -12,6 +12,7 @@ import lombok.Data;
 @Data
 public class CameraVo {
     private String wsUrl;
+    private Integer id;
     private String rtspUrl;
     private Integer areaId;
     private String cameraName;

+ 19 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/mapper/CameraFunctionAreaMapper.java

@@ -0,0 +1,19 @@
+package com.huimv.video.video.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.entity.CameraFunctionArea;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Repository
+public interface CameraFunctionAreaMapper extends BaseMapper<CameraFunctionArea> {
+
+}

+ 18 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/mapper/CameraFunctionMapper.java

@@ -0,0 +1,18 @@
+package com.huimv.video.video.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.video.video.entity.CameraFunction;
+import org.springframework.stereotype.Repository;
+
+/**
+ * <p>
+ * Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Repository
+public interface CameraFunctionMapper extends BaseMapper<CameraFunction> {
+
+}

+ 25 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/ICameraFuntcionAreaService.java

@@ -0,0 +1,25 @@
+package com.huimv.video.video.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+import com.huimv.video.video.entity.CameraFunctionArea;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+public interface ICameraFuntcionAreaService extends IService<CameraFunctionArea> {
+
+    Result cameraList(Map<String, Object> params);
+
+    Result removeIds(List<Integer> ids);
+
+    Result addFunction(Map<String, String> params);
+}

+ 32 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/ICameraFuntcionService.java

@@ -0,0 +1,32 @@
+package com.huimv.video.video.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
+import com.huimv.video.video.entity.CameraArea;
+import com.huimv.video.video.entity.CameraFunction;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+public interface ICameraFuntcionService extends IService<CameraFunction> {
+
+    Result cameraList(Map<String, Object> params);
+
+    Result removeIds(List<Integer> ids);
+
+    Result lsitAndCamera(Integer farmId);
+
+    Result addCamera(Map<String, String> params);
+
+    Result deleteCamera(Map<String, String> params);
+
+    Result listCamera(Map<String, String> params);
+}

+ 4 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraAreaServiceImpl.java

@@ -9,7 +9,10 @@ import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.video.video.entity.Camera;
 import com.huimv.video.video.entity.CameraArea;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.entity.CameraFunctionArea;
 import com.huimv.video.video.mapper.CameraAreaMapper;
+import com.huimv.video.video.mapper.CameraFunctionAreaMapper;
 import com.huimv.video.video.mapper.CameraMapper;
 import com.huimv.video.video.service.ICameraAreaService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +37,7 @@ public class CameraAreaServiceImpl extends ServiceImpl<CameraAreaMapper, CameraA
     @Autowired
     private CameraMapper cameraMapper;
 
+
     @Override
     public Result cameraList(Map<String, Object> params) {
 

+ 80 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraFunctionAreaServiceImpl.java

@@ -0,0 +1,80 @@
+package com.huimv.video.video.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.video.video.entity.Camera;
+import com.huimv.video.video.entity.CameraArea;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.entity.CameraFunctionArea;
+import com.huimv.video.video.mapper.CameraFunctionAreaMapper;
+import com.huimv.video.video.mapper.CameraFunctionMapper;
+import com.huimv.video.video.service.ICameraFuntcionAreaService;
+import com.huimv.video.video.service.ICameraFuntcionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Service
+public class CameraFunctionAreaServiceImpl extends ServiceImpl<CameraFunctionAreaMapper, CameraFunctionArea> implements ICameraFuntcionAreaService {
+
+    @Autowired
+    private CameraFunctionAreaMapper cameraFunctionAreaMapper;
+
+    @Autowired
+    private CameraFunctionMapper cameraFunctionMapper;
+
+    @Override
+    public Result cameraList(Map<String, Object> params) {
+        Integer current = (Integer) params.get("current");
+        Integer size = (Integer) params.get("size");
+        String functionaName = (String) params.get("functionaName");
+        Integer farmId = (Integer) params.get("farmId");
+
+        IPage<CameraFunctionArea> list = page(new Page<>(current, size), new QueryWrapper<CameraFunctionArea>().like(StringUtils.isNotBlank(functionaName), "area_name", functionaName).eq("farm_id", farmId));
+        return new Result(ResultCode.SUCCESS, list);
+    }
+
+    @Override
+    @Transactional
+    public Result removeIds(List<Integer> ids) {
+        for (Integer id : ids) {
+            CameraFunctionArea byId = this.getById(id);
+            if (StringUtils.isNotBlank(byId.getFunctionIds()) ) {
+                return new Result(10001, "删除失败," + byId.getFunctionName() + "仍然存在区域", false);
+            }
+        }
+        this.removeByIds(ids);
+        return new Result(10000, "删除成功", true);
+    }
+
+    @Override
+    public Result addFunction(Map<String, String> params) {
+        String functionAreaId = params.get("functionAreaId");
+
+        String functionIds = params.get("functionIds");
+
+        CameraFunctionArea cameraFunctionArea = new CameraFunctionArea();
+        cameraFunctionArea.setId(Integer.parseInt(functionAreaId));
+        cameraFunctionArea.setFunctionIds(functionIds);
+        this.updateById(cameraFunctionArea);
+        return new Result(10000, "添加成功", true);
+    }
+}

+ 171 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraFunctionServiceImpl.java

@@ -0,0 +1,171 @@
+package com.huimv.video.video.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
+import com.huimv.video.video.entity.Camera;
+import com.huimv.video.video.entity.CameraFunction;
+import com.huimv.video.video.entity.CameraFunctionArea;
+import com.huimv.video.video.mapper.CameraFunctionAreaMapper;
+import com.huimv.video.video.mapper.CameraFunctionMapper;
+import com.huimv.video.video.mapper.CameraMapper;
+import com.huimv.video.video.service.ICameraAreaService;
+import com.huimv.video.video.service.ICameraFuntcionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-09-13
+ */
+@Service
+public class CameraFunctionServiceImpl extends ServiceImpl<CameraFunctionMapper, CameraFunction> implements ICameraFuntcionService {
+
+    @Autowired
+    private CameraMapper cameraMapper;
+
+    @Autowired
+    private CameraFunctionAreaMapper cameraFunctionAreaMapper;
+
+    @Override
+    public Result cameraList(Map<String, Object> params) {
+
+        Integer current = (Integer) params.get("current");
+        Integer size = (Integer) params.get("size");
+        String functionaName = (String) params.get("functionaName");
+        Integer farmId = (Integer) params.get("farmId");
+
+        IPage<CameraFunction> list = page(new Page<>(current, size), new QueryWrapper<CameraFunction>().like(StringUtils.isNotBlank(functionaName), "area_name", functionaName).eq("farm_id", farmId));
+        return new Result(ResultCode.SUCCESS, list);
+    }
+
+    @Override
+    @Transactional
+    public Result removeIds(List<Integer> ids) {
+        for (Integer id : ids) {
+            CameraFunction byId = this.getById(id);
+
+
+            List<CameraFunctionArea> cameraFunctionAreas = cameraFunctionAreaMapper.selectList(new QueryWrapper<CameraFunctionArea>().like("function_ids", id));
+            for (CameraFunctionArea cameraFunctionArea : cameraFunctionAreas) {
+
+                String functionIds = cameraFunctionArea.getFunctionIds();
+                functionIds = functionIds.replaceAll(id+",","");
+                functionIds = functionIds.replaceAll("1"+id,"");
+
+                cameraFunctionArea.setFunctionIds(functionIds);
+                cameraFunctionAreaMapper.updateById(cameraFunctionArea);
+            }
+
+
+            Integer areaId = cameraMapper.selectCount(new QueryWrapper<Camera>().eq("function_id", id));
+            if (areaId > 0) {
+                return new Result(10001, "删除失败," + byId.getFunctionName() + "仍然存在摄像头", false);
+            }
+        }
+        this.removeByIds(ids);
+        return new Result(10000, "删除成功", true);
+    }
+
+    public static void main(String[] args) {
+        String str  ="1,2,3";
+
+            System.out.println(str);
+    }
+
+    @Override
+    public Result lsitAndCamera(Integer farmId) {
+        List endList = new ArrayList();
+        List<CameraFunctionArea> cameraFunctionAreas = cameraFunctionAreaMapper.selectList(new QueryWrapper<CameraFunctionArea>().eq("farm_id", farmId));
+        for (CameraFunctionArea cameraFunctionArea : cameraFunctionAreas) {
+            String functionIds = cameraFunctionArea.getFunctionIds();
+            Map functionAreaMap = new HashMap();
+            functionAreaMap.put("cameraName", cameraFunctionArea.getFunctionName());
+            functionAreaMap.put("id", cameraFunctionArea.getId());
+            functionAreaMap.put("functionList", null);
+            if (StringUtils.isNotBlank(functionIds)){
+                List<CameraFunction> cameraFunctions = this.list(new QueryWrapper<CameraFunction>().in("id", functionIds.split(",")));
+
+                List functionList = new ArrayList();
+                for (CameraFunction cameraFunction : cameraFunctions) {
+                     Map functionMap = new HashMap<>();
+                    functionMap.put("cameraName", cameraFunction.getFunctionName());
+                    functionMap.put("id", cameraFunction.getId());
+                    functionMap.put("cameraList", cameraMapper.selectList(new QueryWrapper<Camera>().eq("function_id", cameraFunction.getId())));
+                    functionList.add(functionMap);
+
+                }
+                functionAreaMap.put("functionList", functionList);
+
+            }
+
+
+
+            endList.add(functionAreaMap);
+        }
+
+
+        return new Result(ResultCode.SUCCESS, endList);
+    }
+
+    @Override
+    @Transactional
+    public Result addCamera(Map<String, String> params) {
+        String functionId = params.get("functionId");
+        String carmeraId = params.get("carmeraId");
+        String[] split = carmeraId.split(",");
+        Camera camera1 = new Camera();
+        camera1.setFunctionId(0);
+        cameraMapper.update(camera1,new UpdateWrapper<Camera>().eq("function_id",functionId));
+        System.out.println(functionId);
+        for (String s : split) {
+            System.out.println(s);
+            Camera camera = new Camera();
+            camera.setId(Integer.parseInt(s));
+            camera.setFunctionId(Integer.parseInt(functionId));
+            cameraMapper.updateById(camera);
+        }
+
+        return new Result(10000, "修改成功", true);
+    }
+
+    @Override
+    public Result deleteCamera(Map<String, String> params) {
+        String carmeraId = params.get("carmeraId");
+        String[] split = carmeraId.split(",");
+        for (String s : split) {
+            Camera camera = new Camera();
+            camera.setFunctionId(0);
+            cameraMapper.updateById(camera);
+        }
+        return null;
+    }
+
+    @Override
+    public Result listCamera(Map<String, String> params) {
+        String functionId = params.get("functionId");
+        List<Camera> function_id = cameraMapper.selectList(new QueryWrapper<Camera>().eq("function_id", functionId));
+        List list = new ArrayList();
+        for (Camera camera : function_id) {
+            list.add(camera.getId());
+        }
+        return new Result(ResultCode.SUCCESS, list);
+    }
+
+
+}

+ 1 - 0
huimv-farm-video/src/main/java/com/huimv/video/video/service/impl/CameraServiceImpl.java

@@ -135,6 +135,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
                         rtsp = cameraBrand.getAssistStream();
                     }
                     CameraVo cameraVo= new CameraVo();
+                    cameraVo.setId(camera.getId());
                     cameraVo.setAreaId(areaId);
                     if (camera.getId() == 767){
                         cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);

+ 3 - 3
huimv-farm-video/src/main/resources/application-prod.yml

@@ -32,6 +32,6 @@ spring:
   #pool-max: 30
   # 线程队列容量 10
   #pool-queue-init: 10
-mybatis-plus:
-  configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#mybatis-plus:
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl