523096025 3 år sedan
förälder
incheckning
822a9d29c2
36 ändrade filer med 757 tillägg och 126 borttagningar
  1. 3 3
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/LoginController.java
  2. 30 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java
  3. 35 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/BaseScreenCameraAccount.java
  4. 16 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/BaseScreenCameraAccountMapper.java
  5. 16 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IBaseScreenCameraAccountService.java
  6. 20 0
      huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/BaseScreenCameraAccountServiceImpl.java
  7. 4 4
      huimv-farm-v2/huimv-admin/src/main/resources/application-dev.yml
  8. 3 2
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/HuimvEnvApplication.java
  9. 0 1
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/controller/AlarmController.java
  10. 0 1
      huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/environ/controller/EnvironController.java
  11. 2 2
      huimv-farm-v2/huimv-gateway/src/main/resources/application-dev.yml
  12. 7 0
      huimv-farm-v2/huimv-produce-warning/pom.xml
  13. 9 8
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseWarningInfoController.java
  14. 9 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseWarningInfo.java
  15. 0 2
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTemperature.java
  16. 11 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysThreshold.java
  17. 1 1
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ClientHomeDto.java
  18. 23 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/SysHumidityVo.java
  19. 25 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/SysTemperatureVo.java
  20. 6 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseWarningInfoService.java
  21. 2 1
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseRoomServiceImpl.java
  22. 116 0
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseWarningInfoServiceImpl.java
  23. 2 5
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesServiceImpl.java
  24. 4 6
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysDayWaterServiceImpl.java
  25. 4 2
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysFodderServiceImpl.java
  26. 237 61
      huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SgdTimer.java
  27. 2 2
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdSalesMapper.xml
  28. 4 6
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysHumidityMapper.xml
  29. 5 4
      huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysTemperatureMapper.xml
  30. 17 2
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/controller/CameraController.java
  31. 35 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/BaseScreenCameraAccount.java
  32. 18 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/mapper/BaseScreenCameraAccountMapper.java
  33. 17 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/IBaseScreenCameraAccountService.java
  34. 4 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/ICameraService.java
  35. 20 0
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/BaseScreenCameraAccountServiceImpl.java
  36. 50 13
      huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraServiceImpl.java

+ 3 - 3
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/LoginController.java

@@ -39,7 +39,7 @@ public class LoginController {
 //        Result result = iLoginService.login(accountName,         .getMD5Str(password));
 //        Result result = iLoginService.login(accountName,         .getMD5Str(password));
         String accountName = map.get("accountName");
         String accountName = map.get("accountName");
         String password = map.get("password");
         String password = map.get("password");
-        String code = map.get("code");
+       /* String code = map.get("code");
 
 
         String remoteHost = req.getRemoteHost();
         String remoteHost = req.getRemoteHost();
         String redisCode = redisTemplate.opsForValue().get(remoteHost);
         String redisCode = redisTemplate.opsForValue().get(remoteHost);
@@ -48,7 +48,7 @@ public class LoginController {
         }
         }
         if (!redisCode.equals(code.toUpperCase())) {
         if (!redisCode.equals(code.toUpperCase())) {
             return  new Result(10006,"验证码错误,登录失败",false);
             return  new Result(10006,"验证码错误,登录失败",false);
-        }
+        }*/
         // 未对密码加密
         // 未对密码加密
         Result result = iLoginService.login(accountName, password);
         Result result = iLoginService.login(accountName, password);
         if(result.getCode() == 10000){
         if(result.getCode() == 10000){
@@ -63,7 +63,7 @@ public class LoginController {
             accessToken.setToken(token);
             accessToken.setToken(token);
 
 
             accessToken.setId( accountEntity.getId());
             accessToken.setId( accountEntity.getId());
-            accessToken.setLoginIp(remoteHost);
+//            accessToken.setLoginIp(remoteHost);
             return new Result(ResultCode.SUCCESS,accessToken);
             return new Result(ResultCode.SUCCESS,accessToken);
         }
         }
         return  result;
         return  result;

+ 30 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/controller/SysAccountMultilevelController.java

@@ -1,15 +1,20 @@
 package com.huimv.admin.controller;
 package com.huimv.admin.controller;
 
 
 
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.huimv.admin.entity.BaseScreenCameraAccount;
 import com.huimv.admin.entity.Group;
 import com.huimv.admin.entity.Group;
 import com.huimv.admin.entity.SysAccountMultilevel;
 import com.huimv.admin.entity.SysAccountMultilevel;
+import com.huimv.admin.service.IBaseScreenCameraAccountService;
 import com.huimv.admin.service.ISysAccountMultilevelService;
 import com.huimv.admin.service.ISysAccountMultilevelService;
 import com.huimv.common.token.TokenSign;
 import com.huimv.common.token.TokenSign;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.common.utils.ResultCode;
 import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequest;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
+import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
@@ -31,6 +36,9 @@ public class SysAccountMultilevelController {
     @Autowired
     @Autowired
     private ISysAccountMultilevelService accountMultilevelService;
     private ISysAccountMultilevelService accountMultilevelService;
 
 
+    @Autowired
+    private IBaseScreenCameraAccountService baseScreenCameraAccountService;
+
     @PostMapping("/list")
     @PostMapping("/list")
     public Result list(@RequestBody Map map , HttpServletRequest request){
     public Result list(@RequestBody Map map , HttpServletRequest request){
         Integer userId = TokenSign.getMemberIdByJwtToken(request);
         Integer userId = TokenSign.getMemberIdByJwtToken(request);
@@ -95,4 +103,26 @@ public class SysAccountMultilevelController {
         return  accountMultilevelService.getLastFarmId(userId);
         return  accountMultilevelService.getLastFarmId(userId);
     }
     }
 
 
+    @GetMapping("/updateVideoId")
+    public Result updateVideoId(@RequestParam(name = "cameraId") Integer cameraId ,
+                                @RequestParam(name = "farmId") Integer farmId ,
+                                HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+        BaseScreenCameraAccount cameraAccount = baseScreenCameraAccountService.getOne(new QueryWrapper<BaseScreenCameraAccount>().eq("farm_id", farmId).eq("account_id",userId));
+
+        if (ObjectUtil.isEmpty(cameraAccount)){
+            BaseScreenCameraAccount cameraAccount1 = new BaseScreenCameraAccount();
+            cameraAccount1.setAccountId(userId);
+            cameraAccount1.setCameraId(cameraId);
+            cameraAccount1.setFarmId(farmId);
+            baseScreenCameraAccountService.save(cameraAccount1);
+        }else {
+            cameraAccount.setCameraId(cameraId);
+            baseScreenCameraAccountService.updateById(cameraAccount);
+        }
+
+
+        return new Result(10000,"修改成功",true);
+    }
+
 }
 }

+ 35 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/entity/BaseScreenCameraAccount.java

@@ -0,0 +1,35 @@
+package com.huimv.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BaseScreenCameraAccount extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private Integer cameraId;
+
+    private Integer accountId;
+
+
+}

+ 16 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/mapper/BaseScreenCameraAccountMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.admin.entity.BaseScreenCameraAccount;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+public interface BaseScreenCameraAccountMapper extends BaseMapper<BaseScreenCameraAccount> {
+
+}

+ 16 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/IBaseScreenCameraAccountService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.admin.entity.BaseScreenCameraAccount;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+public interface IBaseScreenCameraAccountService extends IService<BaseScreenCameraAccount> {
+
+}

+ 20 - 0
huimv-farm-v2/huimv-admin/src/main/java/com/huimv/admin/service/impl/BaseScreenCameraAccountServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.admin.entity.BaseScreenCameraAccount;
+import com.huimv.admin.mapper.BaseScreenCameraAccountMapper;
+import com.huimv.admin.service.IBaseScreenCameraAccountService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+@Service
+public class BaseScreenCameraAccountServiceImpl extends ServiceImpl<BaseScreenCameraAccountMapper, BaseScreenCameraAccount> implements IBaseScreenCameraAccountService {
+
+}

+ 4 - 4
huimv-farm-v2/huimv-admin/src/main/resources/application-dev.yml

@@ -18,7 +18,7 @@ spring:
       ddl-auto: update
       ddl-auto: update
     database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
     database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
     show-sql: true
     show-sql: true
-  redis:
-    host: 122.112.224.199
-    port: 6379
-    password: hm123456
+#  redis:
+#    host: 122.112.224.199
+#    port: 6379
+#    password: hm123456

+ 3 - 2
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/HuimvEnvApplication.java

@@ -3,11 +3,12 @@ package com.huimv.env;
 import org.mybatis.spring.annotation.MapperScan;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.ApplicationContext;
-import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.context.annotation.Import;
+import com.huimv.common.config.InterceptorConfig;
 
 
 @SpringBootApplication
 @SpringBootApplication
 @MapperScan("com.huimv.env.mapper")
 @MapperScan("com.huimv.env.mapper")
+@Import(InterceptorConfig.class)
 public class HuimvEnvApplication {
 public class HuimvEnvApplication {
 
 
     public static void main(String[] args) {
     public static void main(String[] args) {

+ 0 - 1
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/controller/AlarmController.java

@@ -19,7 +19,6 @@ import java.text.ParseException;
  * @Author : ZhuoNing
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  * @Create : 2020-12-25
  **/
  **/
-@CrossOrigin
 @RestController
 @RestController
 @RequestMapping("/alarm")
 @RequestMapping("/alarm")
 @Slf4j
 @Slf4j

+ 0 - 1
huimv-farm-v2/huimv-env/src/main/java/com/huimv/env/environ/controller/EnvironController.java

@@ -15,7 +15,6 @@ import java.text.ParseException;
  * @Author : ZhuoNing
  * @Author : ZhuoNing
  * @Create : 2020-12-25
  * @Create : 2020-12-25
  **/
  **/
-@CrossOrigin
 @RestController
 @RestController
 @RequestMapping(value = "/environ")
 @RequestMapping(value = "/environ")
 public class EnvironController {
 public class EnvironController {

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

@@ -14,7 +14,7 @@ spring:
             - Path=/admin/**
             - Path=/admin/**
           filters:
           filters:
             - StripPrefix=1
             - StripPrefix=1
-        - id: admin
+        - id: video
           uri: http://127.0.0.1:8092
           uri: http://127.0.0.1:8092
           predicates:
           predicates:
             - Path=/video/**
             - Path=/video/**
@@ -26,7 +26,7 @@ spring:
             - Path=/env/**
             - Path=/env/**
           filters:
           filters:
             - StripPrefix=1
             - StripPrefix=1
-        - id: env
+        - id: produce
           uri: http://127.0.0.1:8089
           uri: http://127.0.0.1:8089
           predicates:
           predicates:
             - Path=/produce/**
             - Path=/produce/**

+ 7 - 0
huimv-farm-v2/huimv-produce-warning/pom.xml

@@ -48,6 +48,13 @@
             <artifactId>java-sdk-oauth</artifactId>
             <artifactId>java-sdk-oauth</artifactId>
             <version>1.0.8</version>
             <version>1.0.8</version>
         </dependency>
         </dependency>
+
+        <dependency>
+            <groupId>com.zhenzikj</groupId>
+            <artifactId>zhenzisms</artifactId>
+            <version>2.0.2</version>
+        </dependency>
+
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 9 - 8
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/controller/BaseWarningInfoController.java

@@ -4,11 +4,9 @@ package com.huimv.produce.controller;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.Result;
 import com.huimv.produce.service.IBaseWarningInfoService;
 import com.huimv.produce.service.IBaseWarningInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
 
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import java.util.Map;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -24,11 +22,14 @@ public class BaseWarningInfoController {
     @Autowired
     @Autowired
     private IBaseWarningInfoService warningInfoService;
     private IBaseWarningInfoService warningInfoService;
 
 
-    @GetMapping("/listWarningInfo")
-    public Result listWarningInfo(@RequestParam(name = "farmId") Integer farmId){
-
-return null;
+    @PostMapping("/listWarningInfoZoology")
+    public Result listWarningInfoZoology(@RequestBody Map<String,String> map ) {
+        return warningInfoService.listWarningInfoZoology(map);
+    }
 
 
+    @PostMapping("/listWarningInfoSewage")
+    public Result listWarningInfoSewage(@RequestBody Map<String,String> map ) {
+        return warningInfoService.listWarningInfoSewage(map);
     }
     }
 
 
 }
 }

+ 9 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/BaseWarningInfo.java

@@ -3,10 +3,13 @@ package com.huimv.produce.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
+import java.util.Date;
+
 /**
 /**
  * <p>
  * <p>
  * 
  * 
@@ -35,5 +38,11 @@ public class BaseWarningInfo extends Model {
 
 
     private String warningName;
     private String warningName;
 
 
+    @JsonFormat(pattern = "MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date warningTime;
+
+    @JsonFormat(pattern = "MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date uploadTime;
 
 
+    private Integer alarmType;
 }
 }

+ 0 - 2
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysTemperature.java

@@ -41,6 +41,4 @@ public class SysTemperature extends Model {
 
 
 
 
 
 
-
-
 }
 }

+ 11 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/SysThreshold.java

@@ -73,4 +73,15 @@ public class SysThreshold extends Model {
     private String phosphorus;
     private String phosphorus;
 
 
 
 
+    /**
+     * ph
+     */
+    private String ph;
+
+
+     /**
+     * 瞬时流量
+     */
+    private String flow;
+
 }
 }

+ 1 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/ClientHomeDto.java

@@ -11,6 +11,6 @@ public class ClientHomeDto {
 
 
     private String quantity;
     private String quantity;
 
 
-    private String weekQuantity;
+    private Integer weekQuantity;
 
 
 }
 }

+ 23 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/SysHumidityVo.java

@@ -0,0 +1,23 @@
+package com.huimv.produce.entity.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SysHumidityVo {
+
+    private Integer humId;
+
+    private String id;
+
+    private Double value;
+
+    @JsonFormat(pattern = "MM-dd",timezone = "GMT+8")
+    private Date createTime;
+
+    private Integer roomId;
+
+    private Integer farmId;
+}

+ 25 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/entity/dto/SysTemperatureVo.java

@@ -0,0 +1,25 @@
+package com.huimv.produce.entity.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SysTemperatureVo {
+
+    private Integer temId;
+
+    private String id;
+
+    private Double value;
+
+    @JsonFormat(pattern = "MM-dd",timezone = "GMT+8")
+    private Date createTime;
+
+    private Integer roomId;
+
+    private Integer farmId;
+
+}

+ 6 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/IBaseWarningInfoService.java

@@ -1,8 +1,11 @@
 package com.huimv.produce.service;
 package com.huimv.produce.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.common.utils.Result;
 import com.huimv.produce.entity.BaseWarningInfo;
 import com.huimv.produce.entity.BaseWarningInfo;
 
 
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  *  服务类
  *  服务类
@@ -13,4 +16,7 @@ import com.huimv.produce.entity.BaseWarningInfo;
  */
  */
 public interface IBaseWarningInfoService extends IService<BaseWarningInfo> {
 public interface IBaseWarningInfoService extends IService<BaseWarningInfo> {
 
 
+    Result listWarningInfoZoology(Map<String,String> map);
+
+    Result listWarningInfoSewage(Map<String, String> map);
 }
 }

+ 2 - 1
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseRoomServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.produce.service.impl;
 package com.huimv.produce.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import cn.hutool.poi.excel.ExcelWriter;
 import cn.hutool.poi.excel.ExcelWriter;
@@ -125,7 +126,7 @@ public class BaseRoomServiceImpl extends ServiceImpl<BaseRoomMapper, BaseRoom> i
         }
         }
         //本周
         //本周
         else if ("2".equals(type)){
         else if ("2".equals(type)){
-            Date timesWeekmorning = DataUill.getTimesWeekmorning();
+            Date timesWeekmorning = DateUtil.beginOfWeek(new Date());
             humidityWrapper.ge("create_time",timesWeekmorning );
             humidityWrapper.ge("create_time",timesWeekmorning );
             temperatureWrapper.ge("create_time", timesWeekmorning);
             temperatureWrapper.ge("create_time", timesWeekmorning);
             humidities =   humidityMapper.listDay(humidityWrapper);
             humidities =   humidityMapper.listDay(humidityWrapper);

+ 116 - 0
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/BaseWarningInfoServiceImpl.java

@@ -1,11 +1,22 @@
 package com.huimv.produce.service.impl;
 package com.huimv.produce.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.common.utils.Result;
+import com.huimv.common.utils.ResultCode;
 import com.huimv.produce.entity.BaseWarningInfo;
 import com.huimv.produce.entity.BaseWarningInfo;
 import com.huimv.produce.mapper.BaseWarningInfoMapper;
 import com.huimv.produce.mapper.BaseWarningInfoMapper;
 import com.huimv.produce.service.IBaseWarningInfoService;
 import com.huimv.produce.service.IBaseWarningInfoService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.lang.model.element.TypeElement;
+import java.util.Date;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +28,109 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class BaseWarningInfoServiceImpl extends ServiceImpl<BaseWarningInfoMapper, BaseWarningInfo> implements IBaseWarningInfoService {
 public class BaseWarningInfoServiceImpl extends ServiceImpl<BaseWarningInfoMapper, BaseWarningInfo> implements IBaseWarningInfoService {
 
 
+    @Override
+    public Result listWarningInfoZoology(Map<String,String> map) {
+        String farmId = map.get("farmId");
+        String alarmType = map.get("alarmType");
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        String current = map.get("current");
+        String size = map.get("size");
+
+        Date now = new Date();
+
+        QueryWrapper<BaseWarningInfo> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_id",farmId);
+        wrapper.orderByDesc("warning_time");
+
+        if (StringUtils.isBlank(alarmType)){
+            wrapper.in("alarm_type",7,8,9,10);
+        }else {
+            wrapper.eq("alarm_type",alarmType);
+        }
+
+        //自定义
+        if ("4".equals(type)){
+            endDate = endDate+" 23:59:59";
+            startDate = startDate+" 00:00:00";
+            wrapper.between("warning_time",startDate,endDate);
+
+        }
+        //本月
+        else if ("3".equals(type)){
+            wrapper.ge("warning_time", DateUtil.beginOfMonth(now));
+        }
+        //本周
+        else if ("2".equals(type)){
+            wrapper.ge("warning_time", DateUtil.beginOfWeek(now));
+        }
+        //今日
+        else if ("1".equals(type)) {
+            wrapper.ge("warning_time", DateUtil.beginOfDay(now));
+        }
+
+        if (StringUtils.isBlank(current)){
+            current = "1";
+        }
+        if (StringUtils.isBlank(size)){
+            size = "20";
+        }
+        Page<BaseWarningInfo> page = page(new Page<>(Integer.parseInt(current), Integer.parseInt(size)),wrapper);
+
+        return new Result(ResultCode.SUCCESS,page);
+    }
+
+    @Override
+    public Result listWarningInfoSewage(Map<String, String> map) {
+        String farmId = map.get("farmId");
+        String alarmType = map.get("alarmType");
+        String startDate = map.get("startDate");
+        String endDate = map.get("endDate");
+        String type = map.get("type");
+        String current = map.get("current");
+        String size = map.get("size");
+
+        Date now = new Date();
+
+        QueryWrapper<BaseWarningInfo> wrapper = new QueryWrapper<>();
+        wrapper.eq("farm_id",farmId);
+
+        wrapper.orderByDesc("warning_time");
+        if (StringUtils.isBlank(alarmType)){
+            wrapper.in("alarm_type",15,16,17,18);
+        }else {
+            wrapper.eq("alarm_type",alarmType);
+        }
+
+        //自定义
+        if ("4".equals(type)){
+            endDate = endDate+" 23:59:59";
+            startDate = startDate+" 00:00:00";
+            wrapper.between("warning_time",startDate,endDate);
+
+        }
+        //本月
+        else if ("3".equals(type)){
+            wrapper.ge("warning_time", DateUtil.beginOfMonth(now));
+        }
+        //本周
+        else if ("2".equals(type)){
+            wrapper.ge("warning_time", DateUtil.beginOfWeek(now));
+        }
+        //今日
+        else if ("1".equals(type)) {
+            wrapper.ge("warning_time", DateUtil.beginOfDay(now));
+        }
+
+        if (StringUtils.isBlank(current)){
+            current = "1";
+        }
+        if (StringUtils.isBlank(size)){
+            size = "20";
+        }
+        Page<BaseWarningInfo> page = page(new Page<>(Integer.parseInt(current), Integer.parseInt(size)),wrapper);
+
+        return new Result(ResultCode.SUCCESS,page);
+    }
 }
 }

+ 2 - 5
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/ProdSalesServiceImpl.java

@@ -14,10 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -46,7 +43,7 @@ public class ProdSalesServiceImpl extends ServiceImpl<ProdSalesMapper, ProdSales
         List<ProdSales> list = new ArrayList<>();
         List<ProdSales> list = new ArrayList<>();
         //本周
         //本周
         if (1==type){
         if (1==type){
-            wrapper.ge("add_date", DataUill.getTimesWeekmorning());
+            wrapper.ge("add_date", DateUtil.beginOfWeek(new Date()));
             wrapper.isNotNull("today_quantity");
             wrapper.isNotNull("today_quantity");
             list = this.list(wrapper);
             list = this.list(wrapper);
         }//自定义
         }//自定义

+ 4 - 6
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysDayWaterServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.produce.service.impl;
 package com.huimv.produce.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -21,10 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -93,7 +91,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
 
 
         //本周
         //本周
         else if ("2".equals(type)) {
         else if ("2".equals(type)) {
-            wrapper.ge("create_time", DataUill.getTimesWeekmorning());
+            wrapper.ge("create_time", DateUtil.beginOfWeek(new Date()));
             List<SysDayWater> dayWater = dayWaterMapper.listDay(wrapper);
             List<SysDayWater> dayWater = dayWaterMapper.listDay(wrapper);
             endMap.put("data",dayWater);
             endMap.put("data",dayWater);
             Double countWater = dayWaterMapper.countWater(wrapper);
             Double countWater = dayWaterMapper.countWater(wrapper);
@@ -180,7 +178,7 @@ public class SysDayWaterServiceImpl extends ServiceImpl<SysDayWaterMapper, SysDa
 
 
         //本周
         //本周
         else if ("2".equals(type)) {
         else if ("2".equals(type)) {
-            wrapper.ge("create_time", DataUill.getTimesWeekmorning());
+            wrapper.ge("create_time", DateUtil.beginOfWeek(new Date()));
             List<SysDayWater> dayWater = dayWaterMapper.listAllWater(wrapper);
             List<SysDayWater> dayWater = dayWaterMapper.listAllWater(wrapper);
             endMap.put("data",dayWater);
             endMap.put("data",dayWater);
             Double countWater = dayWaterMapper.countWater(wrapper);
             Double countWater = dayWaterMapper.countWater(wrapper);

+ 4 - 2
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/service/impl/SysFodderServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.produce.service.impl;
 package com.huimv.produce.service.impl;
 
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -16,6 +17,7 @@ import com.huimv.produce.service.ISysFodderService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
@@ -62,7 +64,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
         }
         }
         //本周
         //本周
         else if ("1".equals(type+"")){
         else if ("1".equals(type+"")){
-            wrapper.ge("create_time", DataUill.getTimesWeekmorning());
+            wrapper.ge("create_time", DateUtil.beginOfWeek(new Date()));
             List<FodderDto> sysFodders = fodderMapper.countAllDayValue(wrapper);
             List<FodderDto> sysFodders = fodderMapper.countAllDayValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);
             endMap.put("fodderList",sysFodders);
             endMap.put("fodderList",sysFodders);
@@ -106,7 +108,7 @@ public class SysFodderServiceImpl extends ServiceImpl<SysFodderMapper, SysFodder
         }
         }
         //本周
         //本周
         else if ("1".equals(type+"")){
         else if ("1".equals(type+"")){
-            wrapper.ge("create_time", DataUill.getTimesWeekmorning());
+            wrapper.ge("create_time", DateUtil.beginOfWeek(new Date()));
             List<SysFodder> sysFodders = fodderMapper.countDayValue(wrapper);
             List<SysFodder> sysFodders = fodderMapper.countDayValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);
             Integer countAllValue = fodderMapper.countAllValue(wrapper);
             endMap.put("fodderList",sysFodders);
             endMap.put("fodderList",sysFodders);

+ 237 - 61
huimv-farm-v2/huimv-produce-warning/src/main/java/com/huimv/produce/timer/SgdTimer.java

@@ -1,6 +1,5 @@
 package com.huimv.produce.timer;
 package com.huimv.produce.timer;
 
 
-
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.huimv.common.utils.DataUill;
 import com.huimv.common.utils.DataUill;
@@ -17,6 +16,7 @@ import com.huimv.produce.sgd.fbox.StaticCredentialProvider;
 import com.huimv.produce.sgd.fbox.TokenManager;
 import com.huimv.produce.sgd.fbox.TokenManager;
 import com.huimv.produce.sgd.fbox.models.BoxGroup;
 import com.huimv.produce.sgd.fbox.models.BoxGroup;
 import com.huimv.produce.sgd.fbox.models.BoxReg;
 import com.huimv.produce.sgd.fbox.models.BoxReg;
+import com.zhenzi.sms.ZhenziSmsClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -51,6 +51,18 @@ public class SgdTimer {
     @Autowired
     @Autowired
     private ISysFodderService fodderService;
     private ISysFodderService fodderService;
 
 
+    @Autowired
+    private ISysWarningSetService warningSetService;
+
+    @Autowired
+    private IBaseWarningInfoService warningInfoService;
+
+    @Autowired
+    private ISysWarningPhoneService warningPhoneService;
+
+    //阈值
+    @Autowired
+    private ISysThresholdService thresholdService;
 
 
     private Integer hyFarmId = 1;
     private Integer hyFarmId = 1;
 
 
@@ -110,6 +122,7 @@ public class SgdTimer {
 
 
     //更新环境数据
     //更新环境数据
     @Scheduled(cron = "0 0/30 * * * ?")
     @Scheduled(cron = "0 0/30 * * * ?")
+//    @Scheduled(cron = "0 * * * * ?")
     private void updateEnv(){
     private void updateEnv(){
 
 
         ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
         ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
@@ -119,7 +132,11 @@ public class SgdTimer {
         Global.apiBaseServer = apiBaseServer;
         Global.apiBaseServer = apiBaseServer;
         DecimalFormat df = new DecimalFormat("#.00");
         DecimalFormat df = new DecimalFormat("#.00");
 
 
-
+        SysThreshold byId = thresholdService.getById(hyFarmId);
+        String maxHum = byId.getMaxHum();
+        String minHum = byId.getMinHum();
+        String maxTem = byId.getMaxTem();
+        String minTem = byId.getMinTem();
         try {
         try {
         List<BaseBox> boxes = baseBoxService.list();
         List<BaseBox> boxes = baseBoxService.list();
         for (BaseBox box : boxes) {
         for (BaseBox box : boxes) {
@@ -190,6 +207,8 @@ public class SgdTimer {
                 humidityService.saveBatch(humList);
                 humidityService.saveBatch(humList);
                 temperatureService.saveBatch(temList);
                 temperatureService.saveBatch(temList);
 
 
+                humWarning(humList,minHum,maxHum);
+                temWarning(temList,minTem,maxTem);
 
 
 
 
             }
             }
@@ -200,6 +219,191 @@ public class SgdTimer {
         }
         }
         System.out.println("更新温湿度信息,更新时间------------->"+ new Date());
         System.out.println("更新温湿度信息,更新时间------------->"+ new Date());
     }
     }
+    //温度报警
+    private void temWarning(List<SysTemperature> temList, String minTem, String maxTem) {
+        QueryWrapper<SysWarningSet> wrapper = new QueryWrapper<>();
+        wrapper.eq("content","高温报警");
+        SysWarningSet maxWarning = warningSetService.getOne(wrapper);
+        wrapper.clear();
+        wrapper.eq("content","低温报警");
+        SysWarningSet minWarning = warningSetService.getOne(wrapper);
+
+        Double min = null;
+        Double max = null;
+        try {
+            min =  Double.valueOf(minTem);
+        }catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            max =  Double.valueOf(maxTem);
+        }catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+
+        for ( SysTemperature temperature : temList) {
+            BaseRoom baseRoom = baseRoomService.getById(temperature.getRoomId());
+            Double value = temperature.getValue();
+            Date now = new Date();
+            if (min != null && value <min) {
+                if (minWarning.getFirstLevel() || minWarning.getSecondLevel() || minWarning.getThirdlyLevel()) {
+                    BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+                    baseWarningInfo.setFarmId(hyFarmId);
+                    baseWarningInfo.setWarningName("低温报警");
+                    baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现低温报警,温度为:" + value);
+                    baseWarningInfo.setWarningTime(now);
+                    baseWarningInfo.setUploadTime(temperature.getCreateTime());
+                    baseWarningInfo.setAlarmType(8);
+
+                    if (minWarning.getFirstLevel()) {
+                        baseWarningInfo.setLevel(1);
+                        baseWarningInfo.setLevelName("一级报警");
+                    }
+                    if (minWarning.getSecondLevel()) {
+                        baseWarningInfo.setLevel(2);
+                        baseWarningInfo.setLevelName("二级报警");
+                        //这个写短信内容
+                        send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "℃");
+                    }
+                    if (minWarning.getThirdlyLevel()) {
+                        baseWarningInfo.setLevel(3);
+                        baseWarningInfo.setLevelName("三级报警");
+                        //这个写短信内容
+                    }
+                    warningInfoService.save(baseWarningInfo);
+
+                }
+            }
+
+            if (max != null && value >max){
+                if (maxWarning.getFirstLevel() || maxWarning.getSecondLevel() || maxWarning.getThirdlyLevel()) {
+                    BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+                    baseWarningInfo.setFarmId(hyFarmId);
+                    baseWarningInfo.setWarningName("高温报警");
+                    baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现高温报警,温度为:" + value);
+                    baseWarningInfo.setWarningTime(now);
+                    baseWarningInfo.setUploadTime(temperature.getCreateTime());
+                    baseWarningInfo.setAlarmType(7);
+
+                    if (maxWarning.getFirstLevel()) {
+                        baseWarningInfo.setLevel(1);
+                        baseWarningInfo.setLevelName("一级报警");
+                    }
+                    if (maxWarning.getSecondLevel()) {
+                        baseWarningInfo.setLevel(2);
+                        baseWarningInfo.setLevelName("二级报警");
+                        //这个写短信内容
+                        send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "℃");
+
+                    }
+                    if (maxWarning.getThirdlyLevel()) {
+                        baseWarningInfo.setLevel(3);
+                        baseWarningInfo.setLevelName("三级报警");
+                        //这个写短信内容
+                    }
+                    warningInfoService.save(baseWarningInfo);
+                }
+            }
+
+        }
+
+    }
+
+    //湿度报警
+    private void humWarning(List<SysHumidity> humList,String minHum,String maxHum) {
+        QueryWrapper<SysWarningSet> wrapper = new QueryWrapper<>();
+        wrapper.eq("content","高湿度报警");
+        SysWarningSet maxWarning = warningSetService.getOne(wrapper);
+        wrapper.clear();
+        wrapper.eq("content","低湿度报警");
+        SysWarningSet minWarning = warningSetService.getOne(wrapper);
+
+        Double min = null;
+        Double max = null;
+        try {
+            min =  Double.valueOf(minHum);
+        }catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+
+        try {
+            max =  Double.valueOf(maxHum);
+        }catch (NumberFormatException e) {
+            e.printStackTrace();
+        }
+
+        for (SysHumidity humidity : humList) {
+            BaseRoom baseRoom = baseRoomService.getById(humidity.getRoomId());
+            Double value = humidity.getValue();
+            Date now = new Date();
+            if (min != null && value <min){
+                if (minWarning.getFirstLevel() || minWarning.getSecondLevel()|| minWarning.getThirdlyLevel()){
+                    BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+                    baseWarningInfo.setFarmId(hyFarmId);
+                    baseWarningInfo.setWarningName("低湿度报警");
+                    baseWarningInfo.setMsg(baseRoom.getAlias()+baseRoom.getRoomName()+"出现低湿度报警,湿度为:"+value);
+                    baseWarningInfo.setWarningTime(now);
+                    baseWarningInfo.setUploadTime(humidity.getCreateTime());
+                    baseWarningInfo.setAlarmType(10);
+
+                    if (minWarning.getFirstLevel()){
+                        baseWarningInfo.setLevel(1);
+                        baseWarningInfo.setLevelName("一级报警");
+                    }
+
+                    if (minWarning.getSecondLevel()){
+                        baseWarningInfo.setLevel(2);
+                        baseWarningInfo.setLevelName("二级报警");
+                        //这个写短信内容
+                        send( baseRoom.getAlias(),baseRoom.getRoomName(),value+"%");
+                    }
+                    if (minWarning.getThirdlyLevel()){
+                        baseWarningInfo.setLevel(3);
+                        baseWarningInfo.setLevelName("三级报警");
+                        //这个写短信内容
+                    }
+                    warningInfoService.save(baseWarningInfo);
+                }
+
+
+
+            }
+            if (max != null && value >max) {
+                if (maxWarning.getFirstLevel() || maxWarning.getSecondLevel() || maxWarning.getThirdlyLevel()) {
+                    BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+                    baseWarningInfo.setFarmId(hyFarmId);
+                    baseWarningInfo.setWarningName("高湿度报警");
+                    baseWarningInfo.setMsg(baseRoom.getAlias() + baseRoom.getRoomName() + "出现高湿度报警,湿度为:" + value);
+                    baseWarningInfo.setWarningTime(now);
+                    baseWarningInfo.setUploadTime(humidity.getCreateTime());
+                    baseWarningInfo.setAlarmType(9);
+                    if (maxWarning.getFirstLevel()) {
+
+                        baseWarningInfo.setLevel(1);
+                        baseWarningInfo.setLevelName("一级报警");
+
+                    }
+
+                    if (maxWarning.getSecondLevel()) {
+                        baseWarningInfo.setLevel(2);
+                        baseWarningInfo.setLevelName("二级报警");
+                        //这个写短信内容
+                        send(baseRoom.getAlias(), baseRoom.getRoomName(), value + "%");
+
+                    }
+                    if (maxWarning.getThirdlyLevel()) {
+                        baseWarningInfo.setLevelName("三级报警");
+                        baseWarningInfo.setAlarmType(9);
+                        //这个写短信内容
+
+                    }
+                    warningInfoService.save(baseWarningInfo);
+                }
+            }
+
+        }
+    }
 
 
 
 
 
 
@@ -472,9 +676,7 @@ public class SgdTimer {
             fodder.setId(threeMonitoryValue.getId());
             fodder.setId(threeMonitoryValue.getId());
             fodder.setFarmId(hyFarmId);
             fodder.setFarmId(hyFarmId);
             fodderService.save(fodder);
             fodderService.save(fodder);
-//            System.out.println("三号楼新增------------>"+threeMonitoryValue);
         }else {
         }else {
-//            System.out.println("三号楼舍弃------------>"+threeMonitoryValue);
         }
         }
 
 
 
 
@@ -482,65 +684,39 @@ public class SgdTimer {
         System.out.println("更新料塔信息,更新时间------------->" + new Date());
         System.out.println("更新料塔信息,更新时间------------->" + new Date());
 
 
     }
     }
-//    @Scheduled(cron = "0 * * * * ? ")
-//    private void ss()   {
-//        ConsoleLoggerFactory loggerFactory = new ConsoleLoggerFactory();
-//        // 指定连接服务器的凭据参数
-//        TokenManager tokenManager = new TokenManager(new StaticCredentialProvider(Global.clientId, Global.clientSecret, Global.username, Global.password), Global.idServerUrl, loggerFactory);
-//        ServerCaller apiBaseServer = new ServerCaller(tokenManager, Global.apiBaserUrl, Global.signalrClientId, loggerFactory);
-//        Global.apiBaseServer = apiBaseServer;
-//        DecimalFormat df = new DecimalFormat("#.00");
-//
-//
-//        try {
-//
-//            List<BaseBox> boxes = baseBoxService.list();
-//            for (BaseBox box : boxes) {
-//                String uid = box.getUid();
-//                Monitory[] monitories = apiBaseServer.executeGet("/v2/box/" + uid + "/dmon/grouped", Monitory[].class);
-//                List names = new ArrayList();
-//                for (Monitory monitory : monitories) {
-//                    for (Item item : monitory.items) {
-//                        String name = item.name;
-//                        if (monitory.name.contains("房舍名") && name != null) {
-//                            if (name.contains("房舍")) {
-//                                names.add(name);
-//                            }
-//                        }
-//                    }
-//                }
-//                System.out.println(box+names.toString());
-//
-//                if (ObjectUtil.isNotEmpty(names)) {
-//                    MonitoryValue[] monitoryValues = apiBaseServer.executePost("/v2/box/" +uid + "/dmon/value/get", new MonitoryGetArgs(names, null, new ArrayList()), MonitoryValue[].class);
-//                    for (MonitoryValue monitoryValue : monitoryValues) {
-//                        System.out.println(monitoryValue);
-//                    }
-//                  /*  for (MonitoryValue monitoryValue : monitoryValues) {
-//                        if (ObjectUtil.isEmpty(monitoryValue)){
-//                            continue;
-//                        }
-//                        String name = monitoryValue.getName();
-//                        String[] split = name.split("-");
-//                        BaseRoom room = baseRoomService.getOne(new QueryWrapper<BaseRoom>().eq("room_name", split[0]).eq("box_id", uid));
-//                        Integer roomId = room.getId();
-//                        System.out.println(roomId);
-//                        System.out.println(monitoryValue);
-//                    }*/
-//
-//                }
-//
-//            }
-//
-//
-//
-//        } catch (IOException e) {
-//            e.printStackTrace();
-//        }
-//        System.out.println("------------->"+ new Date());
-//    }
 
 
 
 
+
+    public void send(String alias,String roomName, String value)  {
+
+
+        ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com",
+                "109928", "2684d129-1946-43fc-9074-93cee1687eb7");
+        Map<String, Object> params = new HashMap<String, Object>();
+        //从数据库查询
+        SysWarningPhone one = warningPhoneService.getOne(new QueryWrapper<SysWarningPhone>().eq("farm_id", hyFarmId).eq("level", 2));
+        String[] split = one.getPhone().split(",");
+        for (String phone : split) {
+            params.put("number",phone);
+            params.put("templateId", "7445");
+
+            String[] templateParams = new String[3];
+            templateParams[0] = alias;
+            templateParams[1] = roomName;
+
+            templateParams[2] = value;
+            params.put("templateParams", templateParams);
+            try {
+                System.out.println(client.send(params));
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+        }
+
+
+    }
+
 }
 }
 
 
 
 

+ 2 - 2
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/ProdSalesMapper.xml

@@ -26,8 +26,8 @@
         FROM `prod_sales`
         FROM `prod_sales`
         WHERE farm_id = #{farmId} AND TO_DAYS(NOW( ) ) - TO_DAYS( add_date) = 1  ),0) quantity,
         WHERE farm_id = #{farmId} AND TO_DAYS(NOW( ) ) - TO_DAYS( add_date) = 1  ),0) quantity,
 
 
-        IFNULL ((SELECT week_quantity
+        IFNULL (( SELECT SUM(today_quantity)
         FROM `prod_sales`
         FROM `prod_sales`
-        WHERE farm_id = #{farmId}  AND TO_DAYS(add_date) = TO_DAYS(NOW())) ,0) weekQuantity
+        WHERE farm_id =  #{farmId}  AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;=DATE(add_date)) ,0) weekQuantity
     </select>
     </select>
 </mapper>
 </mapper>

+ 4 - 6
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysHumidityMapper.xml

@@ -3,12 +3,10 @@
 <mapper namespace="com.huimv.produce.mapper.SysHumidityMapper">
 <mapper namespace="com.huimv.produce.mapper.SysHumidityMapper">
 
 
 
 
-    <select id="listDay" resultType="com.huimv.produce.entity.SysHumidity">
-
-        SELECT * FROM  `sys_humidity`
-        ${ew.customSqlSegment}
-
-       GROUP BY DATE_FORMAT( `create_time`, '%m%d' )
+    <select id="listDay" resultType="com.huimv.produce.entity.dto.SysHumidityVo">
+           SELECT id,ROUND(AVG(`value`),2) `value`, create_time ,room_id ,hum_id,farm_id FROM  `sys_humidity`
+      ${ew.customSqlSegment}
 
 
+       GROUP BY DATE_FORMAT( `create_time`, '%m-%d' )
     </select>
     </select>
 </mapper>
 </mapper>

+ 5 - 4
huimv-farm-v2/huimv-produce-warning/src/main/resources/com/huimv/produce/mapper/SysTemperatureMapper.xml

@@ -3,12 +3,13 @@
 <mapper namespace="com.huimv.produce.mapper.SysTemperatureMapper">
 <mapper namespace="com.huimv.produce.mapper.SysTemperatureMapper">
 
 
 
 
-    <select id="listDay" resultType="com.huimv.produce.entity.SysTemperature">
+    <select id="listDay" resultType="com.huimv.produce.entity.dto.SysTemperatureVo">
 
 
-        SELECT * FROM  `sys_temperature`
-        ${ew.customSqlSegment}
 
 
-       GROUP BY DATE_FORMAT( `create_time`, '%m%d' )
+ SELECT id,ROUND(AVG(`value`),2) `value`, `create_time` `create_time`,room_id ,tem_id,farm_id
+ FROM  `sys_temperature`
+    ${ew.customSqlSegment}
+       GROUP BY DATE_FORMAT( `create_time`, '%m-%d' )
 
 
     </select>
     </select>
 </mapper>
 </mapper>

+ 17 - 2
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/controller/CameraController.java

@@ -2,6 +2,7 @@ package com.huimv.video.controller;
 
 
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.common.token.TokenSign;
 import com.huimv.video.entity.Camera;
 import com.huimv.video.entity.Camera;
 import com.huimv.video.entity.vo.CameraListVo;
 import com.huimv.video.entity.vo.CameraListVo;
 import com.huimv.video.entity.vo.CameraListsVo;
 import com.huimv.video.entity.vo.CameraListsVo;
@@ -26,7 +27,6 @@ public class CameraController {
     private ICameraService cameraService;
     private ICameraService cameraService;
 
 
 
 
-
     @PostMapping("/list")
     @PostMapping("/list")
     public Result list(@RequestBody CameraListVo cameraListVo){
     public Result list(@RequestBody CameraListVo cameraListVo){
         return   cameraService.listPage(cameraListVo);
         return   cameraService.listPage(cameraListVo);
@@ -78,7 +78,6 @@ public class CameraController {
     }
     }
 
 
 
 
-
     @RequestMapping("/getByAreaId")
     @RequestMapping("/getByAreaId")
     private Result getByAreaId(Integer areaId, HttpServletRequest request){
     private Result getByAreaId(Integer areaId, HttpServletRequest request){
 
 
@@ -86,4 +85,20 @@ public class CameraController {
         return new Result(ResultCode.SUCCESS,list);
         return new Result(ResultCode.SUCCESS,list);
     }
     }
 
 
+
+    @GetMapping("/initCamera")
+    private Result initCamera(@RequestParam(name = "farmId")Integer farmId, HttpServletRequest request){
+        Integer userId = TokenSign.getMemberIdByJwtToken(request);
+
+        return  cameraService.initCamera(farmId,userId);
+    }
+
+
+    @GetMapping("/listScreenCamera")
+    private Result listScreenCamera(@RequestParam(name = "farmId")Integer farmId){
+
+        return  cameraService.listScreenCamera(farmId);
+    }
+
+
 }
 }

+ 35 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/entity/BaseScreenCameraAccount.java

@@ -0,0 +1,35 @@
+package com.huimv.video.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+public class BaseScreenCameraAccount extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private Integer farmId;
+
+    private Integer cameraId;
+
+    private Integer accountId;
+
+
+}

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

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

+ 17 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/IBaseScreenCameraAccountService.java

@@ -0,0 +1,17 @@
+package com.huimv.video.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.video.entity.BaseScreenCameraAccount;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+public interface IBaseScreenCameraAccountService extends IService<BaseScreenCameraAccount> {
+
+}

+ 4 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/ICameraService.java

@@ -32,4 +32,8 @@ public interface ICameraService extends IService<Camera> {
     Result updates(Camera camera);
     Result updates(Camera camera);
 
 
     CameraVo getCameraDetailsByRoomId(Integer roomId);
     CameraVo getCameraDetailsByRoomId(Integer roomId);
+
+    Result initCamera(Integer farmId,Integer userId);
+
+    Result listScreenCamera(Integer farmId);
 }
 }

+ 20 - 0
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/BaseScreenCameraAccountServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.video.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.video.entity.BaseScreenCameraAccount;
+import com.huimv.video.mapper.BaseScreenCameraAccountMapper;
+import com.huimv.video.service.IBaseScreenCameraAccountService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author astupidcoder
+ * @since 2021-12-02
+ */
+@Service
+public class BaseScreenCameraAccountServiceImpl extends ServiceImpl<BaseScreenCameraAccountMapper, BaseScreenCameraAccount> implements IBaseScreenCameraAccountService {
+
+}

+ 50 - 13
huimv-farm-v2/huimv-video/src/main/java/com/huimv/video/service/impl/CameraServiceImpl.java

@@ -1,19 +1,19 @@
 package com.huimv.video.service.impl;
 package com.huimv.video.service.impl;
 
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.video.entity.BaseScreenCameraAccount;
 import com.huimv.video.entity.Camera;
 import com.huimv.video.entity.Camera;
 import com.huimv.video.entity.CameraBrand;
 import com.huimv.video.entity.CameraBrand;
 import com.huimv.video.entity.vo.CameraListVo;
 import com.huimv.video.entity.vo.CameraListVo;
 import com.huimv.video.entity.vo.CameraListsVo;
 import com.huimv.video.entity.vo.CameraListsVo;
 import com.huimv.video.entity.vo.CameraVo;
 import com.huimv.video.entity.vo.CameraVo;
-import com.huimv.video.mapper.CameraAreaMapper;
-import com.huimv.video.mapper.CameraBrandMapper;
-import com.huimv.video.mapper.CameraMapper;
-import com.huimv.video.mapper.PublicNetworkMapper;
+import com.huimv.video.mapper.*;
 import com.huimv.video.service.ICameraService;
 import com.huimv.video.service.ICameraService;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.Result;
 import com.huimv.common.utils.ResultCode;
 import com.huimv.common.utils.ResultCode;
@@ -42,6 +42,9 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
     @Autowired
     @Autowired
     private CameraAreaMapper cameraAreaMapper;
     private CameraAreaMapper cameraAreaMapper;
 
 
+    @Autowired
+    private BaseScreenCameraAccountMapper cameraAccountMapper;
+
 
 
 
 
     @Override
     @Override
@@ -206,6 +209,49 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
 
 
         Camera camera = this.getOne(new QueryWrapper<Camera>().eq("room_id", roomId));
         Camera camera = this.getOne(new QueryWrapper<Camera>().eq("room_id", roomId));
 
 
+        return getCameraVo(camera);
+    }
+
+
+    @Override
+    public Result initCamera(Integer farmId,Integer userId) {
+        BaseScreenCameraAccount cameraAccount = cameraAccountMapper.selectOne(new QueryWrapper<BaseScreenCameraAccount>().eq("farm_id", farmId).eq("account_id", userId));
+        Integer cameraId ;
+        if (ObjectUtil.isEmpty(cameraAccount)){
+            cameraId = this.getOne(new QueryWrapper<Camera>().eq("run_status",1).eq("farm_id",farmId).last("limit 1")).getId();
+        }else {
+            cameraId = cameraAccount.getCameraId();
+        }
+
+
+        Camera camera = this.getById(cameraId);
+        if ( !camera.getRunStatus()) {
+            return new Result(10001,"该摄像头已经被禁用",false);
+        }
+
+        return new Result(ResultCode.SUCCESS,getCameraVo(camera)) ;
+    }
+
+    @Override
+    public Result listScreenCamera(Integer farmId) {
+        List<Camera> cameras = this.list(new QueryWrapper<Camera>().eq("farm_id", farmId));
+        List list = new ArrayList();
+        for (int i = 0; i<6 ; i++) {
+            list.add( getCameraVo(cameras.get(RandomUtil.randomInt(0, cameras.size()))));
+        }
+
+        return new Result(ResultCode.SUCCESS,list);
+    }
+
+
+    @Override
+    public List getByAreaId(Integer areaId) {
+        return null;
+    }
+
+
+    private CameraVo getCameraVo(Camera camera) {
+
         String cameraAccount = camera.getAccount();
         String cameraAccount = camera.getAccount();
         String cameraPassword = camera.getPassword();
         String cameraPassword = camera.getPassword();
         String camerIp = camera.getCameraIp();
         String camerIp = camera.getCameraIp();
@@ -228,16 +274,7 @@ public class CameraServiceImpl extends ServiceImpl<CameraMapper, Camera> impleme
         cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
         cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
         cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
         cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
         cameraVo.setCameraName(cameraName);
         cameraVo.setCameraName(cameraName);
-
-
-
         return cameraVo;
         return cameraVo;
     }
     }
 
 
-
-    @Override
-    public List getByAreaId(Integer areaId) {
-        return null;
-    }
-
 }
 }