wwh 1 vuosi sitten
vanhempi
commit
89c7f34dd2
30 muutettua tiedostoa jossa 861 lisäystä ja 24 poistoa
  1. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/BaseDuckInfoController.java
  2. 69 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraAreaController.java
  3. 58 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraBrandController.java
  4. 19 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraController.java
  5. 74 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraFunctionAreaController.java
  6. 60 4
      huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraFunctionController.java
  7. 2 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/BaseDuckInfo.java
  8. 1 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/EnvMoveCall.java
  9. 5 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/SysCameraFunctionArea.java
  10. 15 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/dto/RegionDetailDto.java
  11. 17 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/dto/UnitDto1.java
  12. 9 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraBaseVo.java
  13. 17 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraListVo.java
  14. 24 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraNameDto.java
  15. 28 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/TreeCameraFuntionArea.java
  16. 8 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/SysCameraMapper.java
  17. 14 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraAreaService.java
  18. 6 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraBrandService.java
  19. 8 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraFunctionAreaService.java
  20. 14 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraFunctionService.java
  21. 7 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraService.java
  22. 1 1
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java
  23. 68 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraAreaServiceImpl.java
  24. 37 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraBrandServiceImpl.java
  25. 77 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraFunctionAreaServiceImpl.java
  26. 127 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraFunctionServiceImpl.java
  27. 88 0
      huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraServiceImpl.java
  28. 1 1
      huimv-admin/src/main/resources/application-dev.yml
  29. 1 0
      huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/BaseDuckInfoMapper.xml
  30. 4 0
      huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/SysCameraMapper.xml

+ 2 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/BaseDuckInfoController.java

@@ -48,6 +48,7 @@ public class BaseDuckInfoController {
     @PostMapping("/addDuck")
     public Result addDuck(HttpServletRequest httpServletRequest, @RequestParam(name = "imgUrl") MultipartFile imgUrl,
                           @RequestParam(name = "farmId") String farmId,
+                          @RequestParam(name = "unitList") String unitList,
                           @RequestParam(name = "duckCode") String duckCode,
                           @RequestParam(name = "unitName") String unitName,
                           @RequestParam(name = "duckBreed") String duckBreed,
@@ -66,6 +67,7 @@ public class BaseDuckInfoController {
                           @RequestParam(name = "specialNeeds") String specialNeeds) throws Exception {
         httpServletRequest.setCharacterEncoding("UTF-8");
         Map<String, String> map = new HashMap<>();
+        map.put("unitList", unitList);
         map.put("unitName", unitName);
         map.put("farmId", farmId);
         map.put("duckCode", duckCode);

+ 69 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraAreaController.java

@@ -1,10 +1,19 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
+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.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.SysCamera;
+import com.huimv.guowei.admin.entity.SysCameraArea;
+import com.huimv.guowei.admin.service.ISysCameraAreaService;
+import com.huimv.guowei.admin.service.ISysCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,8 +24,64 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-06-01
  */
 @RestController
-@RequestMapping("/sys-camera-area")
+@RequestMapping("/admin/cameraArea")
 @CrossOrigin
 public class SysCameraAreaController {
+    @Autowired
+    private ISysCameraAreaService cameraAreaService;
 
+    @Autowired
+    private ISysCameraService cameraService;
+
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraAreaService.cameraList(params);
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody SysCameraArea cameraArea) {
+        int brandName = cameraAreaService.count(new QueryWrapper<SysCameraArea>().eq("area_name", cameraArea.getAreaName()).eq("farm_id", cameraArea.getFarmId()));
+        if (brandName > 0) {
+            return new Result(100001, "区域名称重复", false);
+        }
+        cameraAreaService.save(cameraArea);
+        return new Result(10000, "添加成功", true);
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody SysCameraArea cameraArea) {
+        cameraAreaService.updateById(cameraArea);
+        int brandName = cameraAreaService.count(new QueryWrapper<SysCameraArea>().eq("area_name", cameraArea.getAreaName()));
+        if (brandName > 1) {
+            return new Result(100001, "区域名称重复", false);
+        }
+
+        String areaName = cameraArea.getAreaName();
+        SysCamera camera = new SysCamera();
+        if (StringUtils.isNotBlank(areaName)) {
+            camera.setAreaName(areaName);
+        }
+        UpdateWrapper<SysCamera> wrapper = new UpdateWrapper<>();
+        wrapper.eq("area_id", cameraArea.getId());
+        cameraService.update(camera, wrapper);
+
+
+        return new Result(10000, "修改成功", true);
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(value = "ids") List<Integer> ids) {
+
+        return cameraAreaService.removeIds(ids);
+
+    }
+
+
+    @GetMapping("/lsitAndCamera")
+    public Result lsitAndCamera(@RequestParam(value = "farmId") Integer farmId) {
+
+        return cameraAreaService.lsitAndCamera(farmId);
+
+    }
 }

+ 58 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraBrandController.java

@@ -1,10 +1,20 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
+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.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.SysCamera;
+import com.huimv.guowei.admin.entity.SysCameraBrand;
+import com.huimv.guowei.admin.service.ISysCameraBrandService;
+import com.huimv.guowei.admin.service.ISysCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,8 +25,52 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-06-01
  */
 @RestController
-@RequestMapping("/sys-camera-brand")
+@RequestMapping("/cameraBrand")
 @CrossOrigin
 public class SysCameraBrandController {
+    @Autowired
+    private ISysCameraBrandService cameraBrandService;
+    @Autowired
+    private ISysCameraService cameraService;
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraBrandService.listPage(params);
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody SysCameraBrand cameraBrand) {
+        int brandName = cameraBrandService.count(new QueryWrapper<SysCameraBrand>().eq("brand_name", cameraBrand.getBrandName()).eq("farm_id", cameraBrand.getFarmId()));
+        if (brandName > 0) {
+            return new Result(10001, "品牌名称重复", false);
+        }
+
+        cameraBrandService.save(cameraBrand);
+        return new Result(10000, "添加成功", true);
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody SysCameraBrand cameraArea) {
+        cameraBrandService.updateById(cameraArea);
+        int brandName = cameraBrandService.count(new QueryWrapper<SysCameraBrand>().eq("brand_name", cameraArea.getBrandName()));
+        if (brandName > 1) {
+            return new Result(10001, "品牌名称重复", false);
+        }
+        String areaName = cameraArea.getBrandName();
+        SysCamera camera = new SysCamera();
+        if (StringUtils.isNotBlank(areaName)) {
+            camera.setBrandName(areaName);
+        }
+        UpdateWrapper<SysCamera> wrapper = new UpdateWrapper<>();
+        wrapper.eq("brand_id", cameraArea.getId());
+        cameraService.update(camera, wrapper);
+
+        return new Result(ResultCode.SUCCESS, "修改成功");
+    }
+
+    @GetMapping("/remove")
+    public Result remove(@RequestParam(value = "ids") List<Integer> ids) {
+        return cameraBrandService.removeIds(ids);
+    }
 
 }

+ 19 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraController.java

@@ -1,10 +1,14 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.vo.CameraListVo;
+import com.huimv.guowei.admin.service.ISysCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,8 +19,19 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-06-01
  */
 @RestController
-@RequestMapping("/sys-camera")
+@RequestMapping("/admin/cameraBase")
 @CrossOrigin
 public class SysCameraController {
+    @Autowired
+    private ISysCameraService cameraService;
 
+    @PostMapping("/list")
+    public Result list(@RequestBody CameraListVo cameraListVo) {
+        return cameraService.listPage(cameraListVo);
+    }
+
+    @PostMapping("/listName")
+    public Result listName(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return cameraService.list(httpServletRequest,paramsMap);
+    }
 }

+ 74 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraFunctionAreaController.java

@@ -1,10 +1,19 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.SysCameraFunctionArea;
+import com.huimv.guowei.admin.service.ISysCameraFunctionAreaService;
+import com.huimv.guowei.admin.service.ISysCameraService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,8 +24,69 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-06-01
  */
 @RestController
-@RequestMapping("/sys-camera-function-area")
+@RequestMapping("/admin/cameraFunctionArea")
 @CrossOrigin
 public class SysCameraFunctionAreaController {
 
+    @Autowired
+    private ISysCameraFunctionAreaService cameraFuntcionAreaService;
+    @Autowired
+    private ISysCameraService cameraBaseService;
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraFuntcionAreaService.cameraList(params);
+    }
+
+    @PostMapping("/add")
+    @Transactional
+    public Result add(@RequestBody SysCameraFunctionArea cameraFunctionArea) {
+        int brandName = cameraFuntcionAreaService.count(new QueryWrapper<SysCameraFunctionArea>().eq("function_name", cameraFunctionArea.getFunctionName()).eq("farm_id", cameraFunctionArea.getFarmId()));
+        if (brandName > 0) {
+            return new Result(100001, "区域名称重复", false);
+        }
+        cameraFuntcionAreaService.save(cameraFunctionArea);
+//        String camearIds = cameraFunctionArea.getCamearIds();
+//        if (StringUtils.isNotBlank(camearIds)){
+//            for (String s : camearIds.split(",")) {
+//                CameraBase cameraBase = new CameraBase();
+//                cameraBase.setId(Integer.parseInt(s));
+//                cameraBase.setFunctionId(cameraFunctionArea.getId());
+//                cameraBaseService.updateById(cameraBase);
+//            }
+//        }
+        return new Result(10000, "添加成功", true);
+    }
+
+    @PostMapping("/update")
+    public Result update(@RequestBody SysCameraFunctionArea cameraFunctionArea) {
+        cameraFuntcionAreaService.updateById(cameraFunctionArea);
+        int brandName = cameraFuntcionAreaService.count(new QueryWrapper<SysCameraFunctionArea>().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");
+        SysCameraFunctionArea 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);
+    }
+
 }

+ 60 - 4
huimv-admin/src/main/java/com/huimv/guowei/admin/controller/SysCameraFunctionController.java

@@ -1,10 +1,15 @@
 package com.huimv.guowei.admin.controller;
 
 
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.entity.SysCameraFunction;
+import com.huimv.guowei.admin.service.ISysCameraFunctionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,8 +20,59 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-06-01
  */
 @RestController
-@RequestMapping("/sys-camera-function")
+@RequestMapping("/admin/cameraFunction")
 @CrossOrigin
 public class SysCameraFunctionController {
+    @Autowired
+    private ISysCameraFunctionService cameraFuntcionService;
 
+
+    @PostMapping("/list")
+    public Result list(@RequestBody Map<String, Object> params) {
+        return cameraFuntcionService.cameraList(params);
+    }
+
+    @PostMapping("/add")
+    public Result add(@RequestBody SysCameraFunction cameraFunction) {
+        int brandName = cameraFuntcionService.count(new QueryWrapper<SysCameraFunction>().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 SysCameraFunction cameraArea) {
+        cameraFuntcionService.updateById(cameraArea);
+        int brandName = cameraFuntcionService.count(new QueryWrapper<SysCameraFunction>().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);
+    }
 }

+ 2 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/BaseDuckInfo.java

@@ -120,6 +120,8 @@ public class BaseDuckInfo implements Serializable {
 
     private Integer farmId;
 
+    private String unitList;
+
 
 
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/EnvMoveCall.java

@@ -54,7 +54,7 @@ public class EnvMoveCall implements Serializable {
     /**
      * 称重日期
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date callDate;
 
     /**

+ 5 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/SysCameraFunctionArea.java

@@ -40,6 +40,11 @@ public class SysCameraFunctionArea implements Serializable {
     private Integer farmId;
 
     private String functionIds;
+    private Integer functionType;
+
+    private String camearIds;
+
+    private String parentId;
 
 
 }

+ 15 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/dto/RegionDetailDto.java

@@ -0,0 +1,15 @@
+package com.huimv.guowei.admin.entity.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class RegionDetailDto {
+    private String indexCode;
+    private String name;
+    private String parentIndexCode;
+    private Integer sort;
+    private Date createTime;
+    private Date updateTime;
+}

+ 17 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/dto/UnitDto1.java

@@ -0,0 +1,17 @@
+package com.huimv.guowei.admin.entity.dto;
+
+import cn.hutool.core.date.DateTime;
+import lombok.Data;
+
+@Data
+public class UnitDto1 {
+
+    private String regionUuid;
+    private String name;
+    private String parentUuid;
+    private String parentNodeType;
+    private String isParent;
+    private DateTime createTime;
+    private DateTime updateTime;
+    private String remark;
+}

+ 9 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraBaseVo.java

@@ -0,0 +1,9 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import com.huimv.guowei.admin.entity.SysCamera;
+import lombok.Data;
+
+@Data
+public class CameraBaseVo extends SysCamera {
+    private String ip;
+}

+ 17 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraListVo.java

@@ -0,0 +1,17 @@
+package com.huimv.guowei.admin.entity.vo;
+
+
+import lombok.Data;
+
+@Data
+public class CameraListVo {
+    private Integer current;
+    private Integer size;
+    private String strchStr;
+    private Integer areaId;
+    private Integer brandId;
+    private Integer sort;
+    private Integer farmId;
+    private String regionUuid;
+    private Integer onLineStatus;
+}

+ 24 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/CameraNameDto.java

@@ -0,0 +1,24 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import com.huimv.guowei.admin.entity.SysCamera;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+/*@AllArgsConstructor
+@NoArgsConstructor*/
+public class CameraNameDto {
+   /* private static final long serialVersionUID=1L;*/
+
+    private Integer id;
+
+    private String areaName;
+
+    private List<SysCamera> cameraBases;
+/*
+    private Integer parentId;
+    private String farmId;*/
+
+  /*  private List<CameraNameDto> childNode;*/
+}

+ 28 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/entity/vo/TreeCameraFuntionArea.java

@@ -0,0 +1,28 @@
+package com.huimv.guowei.admin.entity.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class TreeCameraFuntionArea {
+    private String id;
+
+    /**
+     * 区域(单元)名称
+     */
+    private String functionName;
+
+    /**
+     * 不用管
+     */
+    private String remark;
+
+    private Integer farmId;
+
+    private String functionIds;
+    private Integer functionType;
+    private String camearIds;
+    private String parentId;
+    private List<TreeCameraFuntionArea> childNode;
+}

+ 8 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/mapper/SysCameraMapper.java

@@ -1,7 +1,13 @@
 package com.huimv.guowei.admin.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.guowei.admin.entity.SysCamera;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.guowei.admin.entity.vo.CameraBaseVo;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +19,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface SysCameraMapper extends BaseMapper<SysCamera> {
 
+    IPage<CameraBaseVo> listPage(Page<SysCamera> page, @Param(Constants.WRAPPER) QueryWrapper<SysCamera> wrapper);
+
 }

+ 14 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraAreaService.java

@@ -1,7 +1,13 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.SysCameraArea;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.guowei.admin.entity.dto.RegionDetailDto;
+import com.huimv.guowei.admin.entity.dto.UnitDto1;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -12,5 +18,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-06-01
  */
 public interface ISysCameraAreaService extends IService<SysCameraArea> {
+    Result cameraList(Map<String, Object> params);
+
+    Result removeIds(List<Integer> ids);
+
+    Result lsitAndCamera(Integer farmId);
+/*
+    void sync(Map<String, Integer> params,List<UnitDto1> list);
 
+    void NewSync(Map<String, Integer> params, List<RegionDetailDto> regionDetailDto);*/
 }

+ 6 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraBrandService.java

@@ -1,8 +1,12 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.SysCameraBrand;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-06-01
  */
 public interface ISysCameraBrandService extends IService<SysCameraBrand> {
+    Result listPage(Map<String, Object> params);
 
+    Result removeIds(List<Integer> ids);
 }

+ 8 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraFunctionAreaService.java

@@ -1,8 +1,12 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.SysCameraFunctionArea;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-06-01
  */
 public interface ISysCameraFunctionAreaService extends IService<SysCameraFunctionArea> {
+    Result cameraList(Map<String, Object> params);
+
+    Result removeIds(List<Integer> ids);
 
+    Result addFunction(Map<String, String> params);
 }

+ 14 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraFunctionService.java

@@ -1,8 +1,12 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.SysCameraFunction;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-06-01
  */
 public interface ISysCameraFunctionService extends IService<SysCameraFunction> {
+    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);
 }

+ 7 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/service/ISysCameraService.java

@@ -1,7 +1,12 @@
 package com.huimv.guowei.admin.service;
 
+import com.huimv.guowei.admin.common.utils.Result;
 import com.huimv.guowei.admin.entity.SysCamera;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.guowei.admin.entity.vo.CameraListVo;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 /**
  * <p>
@@ -12,5 +17,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2023-06-01
  */
 public interface ISysCameraService extends IService<SysCamera> {
-
+    Result listPage(CameraListVo cameraListVo);
+    Result list(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
 }

+ 1 - 1
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/BaseDuckInfoServiceImpl.java

@@ -79,7 +79,7 @@ public class BaseDuckInfoServiceImpl extends ServiceImpl<BaseDuckInfoMapper, Bas
     public Result addDuck(HttpServletRequest httpServletRequest, Map<String, String> paramsMap, MultipartFile imgUrl) throws ParseException, IOException {
         BaseDuckInfo baseDuckInfo = new BaseDuckInfo();
         baseDuckInfo.setDuckNum(paramsMap.get("duckCode"));
-
+        baseDuckInfo.setUnitList(paramsMap.get("unitList"));
         baseDuckInfo.setUnitName(paramsMap.get("unitName"));
         baseDuckInfo.setFarmId(Integer.parseInt(paramsMap.get("farmId")));
         baseDuckInfo.setDuckBreed(Integer.parseInt(paramsMap.get("duckBreed")));

+ 68 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraAreaServiceImpl.java

@@ -1,11 +1,31 @@
 package com.huimv.guowei.admin.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
+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.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.SysCamera;
 import com.huimv.guowei.admin.entity.SysCameraArea;
+import com.huimv.guowei.admin.entity.dto.RegionDetailDto;
+import com.huimv.guowei.admin.entity.dto.UnitDto1;
 import com.huimv.guowei.admin.mapper.SysCameraAreaMapper;
+import com.huimv.guowei.admin.mapper.SysCameraMapper;
 import com.huimv.guowei.admin.service.ISysCameraAreaService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +36,53 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysCameraAreaServiceImpl extends ServiceImpl<SysCameraAreaMapper, SysCameraArea> implements ISysCameraAreaService {
+    @Autowired
+    private SysCameraMapper cameraMapper;
+
+
+    @Override
+    public Result cameraList(Map<String, Object> params) {
+
+        Integer current = (Integer) params.get("current");
+        Integer size = (Integer) params.get("size");
+        String areaName = (String) params.get("areaName");
+        String  farmId = (String) params.get("farmId");
+
+        IPage<SysCameraArea> list = page(new Page<>(current, size), new QueryWrapper<SysCameraArea>().like(StringUtils.isNotBlank(areaName), "area_name", areaName).eq("farm_id", farmId));
+        return new Result(ResultCode.SUCCESS, list);
+    }
+
+    @Override
+    public Result removeIds(List<Integer> ids) {
+        for (Integer id : ids) {
+            SysCameraArea byId = this.getById(id);
+
+            Integer areaId = cameraMapper.selectCount(new QueryWrapper<SysCamera>().eq("area_id", id));
+            if (areaId > 0) {
+                return new Result(10001, "删除失败,区域" + byId.getAreaName() + "仍然存在摄像头", false);
+            }
+        }
+        this.removeByIds(ids);
+        return new Result(10000, "删除成功", true);
+    }
+
+    @Override
+    public Result lsitAndCamera(Integer farmId) {
+        List endList = new ArrayList();
+
+        List<SysCameraArea> cameraAreaList = this.list(new QueryWrapper<SysCameraArea>().eq("farm_id", farmId));
+
+        for (SysCameraArea cameraArea : cameraAreaList) {
+            Map map = new HashMap();
+            map.put("cameraName", cameraArea.getAreaName());
+            map.put("id", cameraArea.getId());
+            map.put("cameraList", cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("area_id", cameraArea.getId())));
+            endList.add(map);
+        }
+
+
+        return new Result(ResultCode.SUCCESS, endList);
+    }
+
 
 }

+ 37 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraBrandServiceImpl.java

@@ -1,11 +1,23 @@
 package com.huimv.guowei.admin.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.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.entity.SysCamera;
 import com.huimv.guowei.admin.entity.SysCameraBrand;
 import com.huimv.guowei.admin.mapper.SysCameraBrandMapper;
+import com.huimv.guowei.admin.mapper.SysCameraMapper;
 import com.huimv.guowei.admin.service.ISysCameraBrandService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +28,30 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysCameraBrandServiceImpl extends ServiceImpl<SysCameraBrandMapper, SysCameraBrand> implements ISysCameraBrandService {
+    @Autowired
+    private SysCameraMapper cameraMapper;
+
+    @Override
+    public Result listPage(Map<String, Object> params) {
+        Integer current = (Integer) params.get("current");
+        Integer size = (Integer) params.get("size");
+        String brandName = (String) params.get("brandName");
+        Integer farmId = (Integer) params.get("farmId");
+        IPage<SysCameraBrand> list = page(new Page<>(current, size), new QueryWrapper<SysCameraBrand>().like(StringUtils.isNotBlank(brandName), "brand_name", brandName).eq("farm_id", farmId));
+        return new Result(ResultCode.SUCCESS, list);
+    }
+
+    @Override
+    public Result removeIds(List<Integer> ids) {
+        for (Integer id : ids) {
+            Integer integer = cameraMapper.selectCount(new QueryWrapper<SysCamera>().eq("brand_id", id));
+            SysCameraBrand byId = this.getById(id);
+            if (integer != 0) {
+                return new Result(ResultCode.FAIL, "有" + byId.getBrandName() + "的摄像头在使用,删除失败");
+            }
+        }
+        this.removeByIds(ids);
+        return new Result(ResultCode.SUCCESS, "删除成功");
+    }
 
 }

+ 77 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraFunctionAreaServiceImpl.java

@@ -1,10 +1,21 @@
 package com.huimv.guowei.admin.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.SysCameraFunctionArea;
+import com.huimv.guowei.admin.entity.vo.TreeCameraFuntionArea;
 import com.huimv.guowei.admin.mapper.SysCameraFunctionAreaMapper;
 import com.huimv.guowei.admin.service.ISysCameraFunctionAreaService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -16,5 +27,71 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysCameraFunctionAreaServiceImpl extends ServiceImpl<SysCameraFunctionAreaMapper, SysCameraFunctionArea> implements ISysCameraFunctionAreaService {
+    @Override
+    public Result cameraList(Map<String, Object> params) {
+        String functionaName = (String) params.get("functionaName");
+        String farmId = (String) params.get("farmId");
+        QueryWrapper<SysCameraFunctionArea> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_id",farmId);
+        wrapper.like(StringUtils.isNotBlank(functionaName),"function_name",functionaName);
+        List<SysCameraFunctionArea> list = this.list(wrapper);
+        //将结果List改为树
+        List<TreeCameraFuntionArea> treeBasePigpens = parseBizBaseArea(list);
+        return new Result(ResultCode.SUCCESS,treeBasePigpens);
+    }
+
+    private List<TreeCameraFuntionArea> parseBizBaseArea(List<SysCameraFunctionArea> list) {
+        //构建需要展示的树形节点结构
+        Map<String, TreeCameraFuntionArea> nodeMap = list.stream().map(cameraFunctionArea -> {
+            TreeCameraFuntionArea  baseVo = new TreeCameraFuntionArea();
+            baseVo.setId(cameraFunctionArea.getId()+"");
+            baseVo.setFarmId(cameraFunctionArea.getFarmId());
+            baseVo.setParentId(cameraFunctionArea.getParentId());
+            baseVo.setCamearIds(cameraFunctionArea.getCamearIds());
+            baseVo.setFunctionName(cameraFunctionArea.getFunctionName());
+            baseVo.setFunctionIds(cameraFunctionArea.getFunctionIds());
+            baseVo.setFunctionType(cameraFunctionArea.getFunctionType());
+            baseVo.setRemark(cameraFunctionArea.getRemark());
+            baseVo.setChildNode(new ArrayList<>());
+            return baseVo;
+        }).collect(Collectors.toMap(TreeCameraFuntionArea::getId, b -> b,(k1, k2)->k1));
+        //创建数组存父亲节点
+        ArrayList<TreeCameraFuntionArea> roots = new ArrayList<>();
+        //构建树形
+        nodeMap.values().forEach(item->{
+            String parentCode = item.getParentId()+"";
+            if (nodeMap.get(parentCode) == null){
+                //父节点为空,说明当前节点就已经是父节点了 将该节点存起来
+                roots.add(item);
+            }else {
+                //父节点 不为空,说明有父节点,拿到该节点的父节点的孩子节点(就是我自己),将该节点存起来
+                nodeMap.get(parentCode).getChildNode().add(item);
+            }
+        });
+        return roots;
+    }
+
+    @Override
+    @Transactional
+    public Result removeIds(List<Integer> ids) {
+        for (Integer id : ids) {
+            SysCameraFunctionArea 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");
+        SysCameraFunctionArea cameraFunctionArea = new SysCameraFunctionArea();
+        cameraFunctionArea.setId(Integer.parseInt(functionAreaId));
+        cameraFunctionArea.setFunctionIds(functionIds);
+        this.updateById(cameraFunctionArea);
+        return new Result(10000, "添加成功", true);
+    }
 }

+ 127 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraFunctionServiceImpl.java

@@ -1,10 +1,29 @@
 package com.huimv.guowei.admin.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.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
+import com.huimv.guowei.admin.common.utils.ResultUtil;
+import com.huimv.guowei.admin.entity.SysCamera;
 import com.huimv.guowei.admin.entity.SysCameraFunction;
+import com.huimv.guowei.admin.entity.SysCameraFunctionArea;
+import com.huimv.guowei.admin.mapper.SysCameraFunctionAreaMapper;
 import com.huimv.guowei.admin.mapper.SysCameraFunctionMapper;
+import com.huimv.guowei.admin.mapper.SysCameraMapper;
 import com.huimv.guowei.admin.service.ISysCameraFunctionService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+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>
@@ -16,5 +35,113 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class SysCameraFunctionServiceImpl extends ServiceImpl<SysCameraFunctionMapper, SysCameraFunction> implements ISysCameraFunctionService {
+    @Autowired
+    private SysCameraMapper cameraMapper;
+
+    @Autowired
+    private SysCameraFunctionAreaMapper 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<SysCameraFunction> list = page(new Page<>(current, size), new QueryWrapper<SysCameraFunction>().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) {
+            SysCameraFunction byId = this.getById(id);
+            List<SysCameraFunctionArea> cameraFunctionAreas = cameraFunctionAreaMapper.selectList(new QueryWrapper<SysCameraFunctionArea>().like("function_ids", id));
+            for (SysCameraFunctionArea 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<SysCamera>().eq("function_id", id));
+            if (areaId > 0) {
+                return new Result(10001, "删除失败," + byId.getFunctionName() + "仍然存在摄像头", false);
+            }
+        }
+        this.removeByIds(ids);
+        return new Result(10000, "删除成功", true);
+    }
+
+    @Override
+    public Result lsitAndCamera(Integer farmId) {
+        List endList = new ArrayList();
+        List<SysCameraFunctionArea> cameraFunctionAreas = cameraFunctionAreaMapper.selectList(new QueryWrapper<SysCameraFunctionArea>().eq("farm_id", farmId));
+        for (SysCameraFunctionArea 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<SysCameraFunction> cameraFunctions = this.list(new QueryWrapper<SysCameraFunction>().in("id", functionIds.split(",")));
+                List functionList = new ArrayList();
+                for (SysCameraFunction cameraFunction : cameraFunctions) {
+                    Map functionMap = new HashMap<>();
+                    functionMap.put("cameraName", cameraFunction.getFunctionName());
+                    functionMap.put("id", cameraFunction.getId());
+                    functionMap.put("cameraList", cameraMapper.selectList(new QueryWrapper<SysCamera>().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(",");
+        SysCamera camera1 = new SysCamera();
+        camera1.setFunctionId(0);
+        cameraMapper.update(camera1,new UpdateWrapper<SysCamera>().eq("function_id",functionId));
+        System.out.println(functionId);
+        for (String s : split) {
+            System.out.println(s);
+            SysCamera camera = new SysCamera();
+            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) {
+            SysCamera camera = new SysCamera();
+            camera.setFunctionId(0);
+            cameraMapper.updateById(camera);
+        }
+        return ResultUtil.deleteResult(1);
+    }
 
+    @Override
+    public Result listCamera(Map<String, String> params) {
+        String functionId = params.get("functionId");
+        List<SysCamera> function_id = cameraMapper.selectList(new QueryWrapper<SysCamera>().eq("function_id", functionId));
+        List list = new ArrayList();
+        for (SysCamera camera : function_id) {
+            list.add(camera.getId());
+        }
+        return new Result(ResultCode.SUCCESS, list);
+    }
 }

+ 88 - 0
huimv-admin/src/main/java/com/huimv/guowei/admin/service/impl/SysCameraServiceImpl.java

@@ -1,11 +1,28 @@
 package com.huimv.guowei.admin.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.huimv.guowei.admin.common.utils.Result;
+import com.huimv.guowei.admin.common.utils.ResultCode;
 import com.huimv.guowei.admin.entity.SysCamera;
+import com.huimv.guowei.admin.entity.SysCameraArea;
+import com.huimv.guowei.admin.entity.vo.CameraBaseVo;
+import com.huimv.guowei.admin.entity.vo.CameraListVo;
+import com.huimv.guowei.admin.entity.vo.CameraNameDto;
+import com.huimv.guowei.admin.mapper.SysCameraAreaMapper;
 import com.huimv.guowei.admin.mapper.SysCameraMapper;
 import com.huimv.guowei.admin.service.ISysCameraService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.servlet.http.HttpServletRequest;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  服务实现类
@@ -17,4 +34,75 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera> implements ISysCameraService {
 
+    @Autowired
+    private SysCameraMapper cameraBaseMapper;
+    @Autowired
+    private SysCameraAreaMapper cameraAreaMapper;
+    @Override
+    public Result listPage(CameraListVo cameraListVo) {
+        Integer current = cameraListVo.getCurrent();
+        String strchStr = cameraListVo.getStrchStr();
+        Integer size = cameraListVo.getSize();
+//        Integer areaId = cameraListVo.getAreaId();
+        Integer sort = cameraListVo.getSort();
+        Integer farmId = cameraListVo.getFarmId();
+        Integer onLineStatus = cameraListVo.getOnLineStatus();
+        String regionUuid = cameraListVo.getRegionUuid();
+        QueryWrapper<SysCamera> wrapper = new QueryWrapper<>();
+        if (null == current) {
+            current = 1;
+        }
+        if (null == size) {
+            size = 10;
+        }
+        if (farmId != null) {
+            wrapper.eq("cb.farm_id", farmId);
+        }
+        if (StringUtils.isNotBlank(regionUuid)) {
+            wrapper.eq("cb.region_uuid", regionUuid);
+        }
+        if (onLineStatus != null) {
+            wrapper.eq("cb.on_line_status", onLineStatus);
+        }
+        if (StringUtils.isNotBlank(strchStr)) {
+            wrapper.and(i -> i.like("cb.camera_name", strchStr));
+        }
+        if (sort == null) {
+            wrapper.orderByDesc("cb.id");
+        } else if (sort == 1) {
+            wrapper.orderByDesc("cb.sort");
+        } else {
+            wrapper.orderByAsc("cb.sort");
+        }
+        wrapper.orderByDesc("cb.id");
+        Page<SysCamera> page = new Page<>(current,size);
+        IPage<CameraBaseVo> cameraBaseVoIPage = cameraBaseMapper.listPage(page, wrapper);
+        return new Result(ResultCode.SUCCESS, cameraBaseVoIPage);
+    }
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<SysCameraArea> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        List<SysCameraArea> cameraAreas = cameraAreaMapper.selectList(queryWrapper);
+
+        List<CameraNameDto> cameraNameDtoList = new LinkedList();
+        for (SysCameraArea cameraArea : cameraAreas) {
+            CameraNameDto cameraNameDto = new CameraNameDto();
+            QueryWrapper<SysCamera> baseQueryWrapper = new QueryWrapper<>();
+            baseQueryWrapper.eq("farm_id", farmId).eq("area_name", cameraArea.getAreaName());
+            List<SysCamera> cameraBases = cameraBaseMapper.selectList(baseQueryWrapper);
+
+            cameraNameDto.setCameraBases(cameraBases);
+            cameraNameDto.setId(cameraArea.getId());
+            cameraNameDto.setAreaName(cameraArea.getAreaName());
+
+            cameraNameDtoList.add(cameraNameDto);
+
+
+        }
+
+        return new Result(ResultCode.SUCCESS, cameraNameDtoList);
+    }
 }

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

@@ -5,7 +5,7 @@ spring:
     name: huimv-guowei-admin
 
   datasource:
-    url: jdbc:mysql://192.168.1.165:3306/huimv-guowei-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://192.168.1.166:3306/huimv-guowei-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: root
     driver-class-name: com.mysql.cj.jdbc.Driver

+ 1 - 0
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/BaseDuckInfoMapper.xml

@@ -21,6 +21,7 @@
         <result column="duck_img_url" property="duckImgUrl" />
         <result column="is_cage" property="isCage" />
         <result column="farm_id" property="farmId" />
+        <result column="unit_list" property="unitList"/>
     </resultMap>
 
 </mapper>

+ 4 - 0
huimv-admin/src/main/resources/com/huimv/guowei/admin/mapper/SysCameraMapper.xml

@@ -23,4 +23,8 @@
         <result column="is_online" property="isOnline" />
     </resultMap>
 
+    <select id="listPage" resultType="com.huimv.guowei.admin.entity.vo.CameraBaseVo">
+        select cb.*,ca.public_url as ip from sys_camera cb left join sys_camera_area ca on cb.region_uuid =ca.region_uuid
+        ${ew.customSqlSegment}
+    </select>
 </mapper>