Newspaper 1 rok temu
rodzic
commit
4439c96d19
48 zmienionych plików z 346 dodań i 202 usunięć
  1. 14 0
      snowy-web-app/src/main/java/vip/xiaonuo/core/param/OrgIdParam.java
  2. 3 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/controller/BaseConfigController.java
  3. 2 7
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigAddParam.java
  4. 2 6
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigListChildParam.java
  5. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigOrgIdParam.java
  6. 0 49
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigPageParam.java
  7. 2 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/BaseConfigService.java
  8. 3 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/impl/BaseConfigServiceImpl.java
  9. 3 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/controller/BaseSeasonController.java
  10. 2 7
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonEditParam.java
  11. 2 6
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonTypeParam.java
  12. 2 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/service/BaseSeasonService.java
  13. 3 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/service/impl/BaseSeasonServiceImpl.java
  14. 0 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyDevice/controller/EnergyDeviceController.java
  15. 0 6
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyDevice/service/impl/EnergyDeviceServiceImpl.java
  16. 19 7
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/controller/EnvDeviceController.java
  17. 1 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/entity/EnvDevice.java
  18. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/entity/vo/EnvDeviceCountVo.java
  19. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/enums/EnvDeviceEnum.java
  20. 2 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/mapper/EnvDeviceMapper.java
  21. 2 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/mapper/mapping/EnvDeviceMapper.xml
  22. 1 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceAddParam.java
  23. 2 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceEditParam.java
  24. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceIdParam.java
  25. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceOrgIdParam.java
  26. 1 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDevicePageParam.java
  27. 8 8
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonOrgIdParam.java
  28. 7 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/service/EnvDeviceService.java
  29. 56 18
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/service/impl/EnvDeviceServiceImpl.java
  30. 15 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/controller/EnvDataController.java
  31. 21 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/entity/vo/EnvDataCarouselVo.java
  32. 5 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/entity/vo/EnvDataRecentVo.java
  33. 3 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/EnvDataMapper.java
  34. 24 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/mapping/EnvDataMapper.xml
  35. 16 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/param/EnvDataBuildNameParm.java
  36. 4 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/service/EnvDataService.java
  37. 27 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/service/impl/EnvDataServiceImpl.java
  38. 0 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/controller/FeedingEnvController.java
  39. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/param/FeedingEnvListParam.java
  40. 0 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/service/FeedingEnvService.java
  41. 0 7
      snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/service/impl/FeedingEnvServiceImpl.java
  42. 18 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/controller/WarningInfoController.java
  43. 2 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoAddParam.java
  44. 2 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoEditParam.java
  45. 6 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoOrgIdParam.java
  46. 36 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoWarningTypeParam.java
  47. 5 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/WarningInfoService.java
  48. 19 7
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

+ 14 - 0
snowy-web-app/src/main/java/vip/xiaonuo/core/param/OrgIdParam.java

@@ -0,0 +1,14 @@
+package vip.xiaonuo.core.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+public class OrgIdParam {
+    /** 组织id */
+    @ApiModelProperty(value = "组织id", required = true,position = 99)
+    @NotBlank(message = "orgId不能为空")
+    private String orgId;
+}

+ 3 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/controller/BaseConfigController.java

@@ -29,6 +29,7 @@ import vip.xiaonuo.biz.modular.org.entity.BizOrg;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.param.*;
 import vip.xiaonuo.modular.base.baseConfig.service.BaseConfigService;
@@ -62,8 +63,8 @@ public class BaseConfigController {
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取基础设置树")
     @GetMapping("/base/baseConfig/tree")
-    public CommonResult<List<Tree<String>>> tree(BaseConfigOrgIdParam baseConfigOrgIdParam) {
-        return CommonResult.data(baseConfigService.tree(baseConfigOrgIdParam));
+    public CommonResult<List<Tree<String>>> tree(OrgIdParam orgIdParam) {
+        return CommonResult.data(baseConfigService.tree(orgIdParam));
     }
 
     /**

+ 2 - 7
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigAddParam.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.base.baseConfig.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -27,7 +28,7 @@ import javax.validation.constraints.NotNull;
  **/
 @Getter
 @Setter
-public class BaseConfigAddParam {
+public class BaseConfigAddParam extends OrgIdParam {
 
     /** 名称 */
     @ApiModelProperty(value = "名称", required = true, position = 2)
@@ -51,10 +52,4 @@ public class BaseConfigAddParam {
     /** 备注 */
     @ApiModelProperty(value = "备注", position = 6)
     private String remarks;
-
-    /** 组织id */
-    @ApiModelProperty(value = "组织id", position = 7)
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
-
 }

+ 2 - 6
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigListChildParam.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.base.baseConfig.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 
@@ -26,7 +27,7 @@ import javax.validation.constraints.NotBlank;
  **/
 @Getter
 @Setter
-public class BaseConfigListChildParam {
+public class BaseConfigListChildParam extends OrgIdParam {
 
     /** ID */
     @ApiModelProperty(value = "父id", required = true,position = 1)
@@ -40,9 +41,4 @@ public class BaseConfigListChildParam {
     /** 每页条数 */
     @ApiModelProperty(value = "每页条数",position = 3)
     private Integer size;
-
-    /** 组织id */
-    @ApiModelProperty(value = "组织id", position = 4)
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
 }

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigOrgIdParam.java

@@ -29,7 +29,7 @@ import javax.validation.constraints.NotBlank;
 public class BaseConfigOrgIdParam {
 
     /** 组织id */
-    @ApiModelProperty(value = "组织id", required = true,position = 1)
+    @ApiModelProperty(value = "组织id", required = true,position = 99)
     @NotBlank(message = "orgId不能为空")
     private String orgId;
 }

+ 0 - 49
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/param/BaseConfigPageParam.java

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

+ 2 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/BaseConfigService.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.biz.modular.org.entity.BizOrg;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.param.*;
 
@@ -36,7 +37,7 @@ public interface BaseConfigService extends IService<BaseConfig> {
      * @author newspaper
      * @date  2023/12/08 10:22
      */
-    List<Tree<String>> tree(BaseConfigOrgIdParam baseConfigOrgIdParam);
+    List<Tree<String>> tree(OrgIdParam orgIdParam);
 
     /**
      * 添加基础设置

+ 3 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseConfig/service/impl/BaseConfigServiceImpl.java

@@ -33,6 +33,7 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.core.enums.BaseDataTypeEnum;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
 import vip.xiaonuo.modular.base.baseConfig.param.*;
@@ -55,8 +56,8 @@ public class BaseConfigServiceImpl extends ServiceImpl<BaseConfigMapper, BaseCon
     private BizOrgMapper bizOrgMapper;
 
     @Override
-    public List<Tree<String>> tree(BaseConfigOrgIdParam baseConfigOrgIdParam) {
-        String orgId = baseConfigOrgIdParam.getOrgId();
+    public List<Tree<String>> tree(OrgIdParam orgIdParam) {
+        String orgId = orgIdParam.getOrgId();
         List<BaseConfig> allConfigs = new ArrayList<>();
         List<BaseConfig> baseConfigs = this.list(new LambdaQueryWrapper<BaseConfig>().eq(BaseConfig::getParentId, 0).orderByAsc(BaseConfig::getSortCode));
         List<BaseConfig> childConfigs = this.list(new LambdaQueryWrapper<BaseConfig>().eq(BaseConfig::getOrgId, orgId).orderByAsc(BaseConfig::getSortCode));

+ 3 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/controller/BaseSeasonController.java

@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseSeason.entity.BaseSeason;
 import vip.xiaonuo.modular.base.baseSeason.param.*;
 import vip.xiaonuo.modular.base.baseSeason.service.BaseSeasonService;
@@ -90,7 +91,7 @@ public class BaseSeasonController {
     @ApiOperation("获取启用季节")
     @CommonLog("获取启用季节")
     @GetMapping("/base/baseSeason/getEnableSeason")
-    public CommonResult<Integer> getEnableSeason(BaseSeasonOrgIdParam baseSeasonOrgIdParam) {
-        return CommonResult.data(baseSeasonService.getEnableSeason(baseSeasonOrgIdParam));
+    public CommonResult<Integer> getEnableSeason(OrgIdParam orgIdParam) {
+        return CommonResult.data(baseSeasonService.getEnableSeason(orgIdParam));
     }
 }

+ 2 - 7
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonEditParam.java

@@ -16,6 +16,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -30,7 +31,7 @@ import java.util.Date;
  **/
 @Getter
 @Setter
-public class BaseSeasonEditParam {
+public class BaseSeasonEditParam extends OrgIdParam {
 
     /** id */
     @ApiModelProperty(value = "id", required = true, position = 1)
@@ -83,10 +84,4 @@ public class BaseSeasonEditParam {
     /** 季节类型 */
     @ApiModelProperty(value = "季节类型", position = 11, example = "0:自定义 1:两分两至法 2:阳历划分法 3:四立划分法")
     private Integer seasonType;
-
-    /** 组织id */
-    @ApiModelProperty(value = "组织id", required = true,position = 99)
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
-
 }

+ 2 - 6
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonTypeParam.java

@@ -16,6 +16,7 @@ import io.swagger.annotations.ApiModelProperty;
 import io.swagger.models.auth.In;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 
@@ -27,15 +28,10 @@ import javax.validation.constraints.NotBlank;
  **/
 @Getter
 @Setter
-public class BaseSeasonTypeParam {
+public class BaseSeasonTypeParam extends OrgIdParam {
 
     /** 季节类型 */
     @ApiModelProperty(value = "季节类型")
     @NotBlank(message = "seasonType不能为空")
     private String seasonType;
-
-    /** 组织id */
-    @ApiModelProperty(value = "组织id")
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
 }

+ 2 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/service/BaseSeasonService.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.base.baseSeason.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseSeason.entity.BaseSeason;
 import vip.xiaonuo.modular.base.baseSeason.param.*;
 
@@ -46,5 +47,5 @@ public interface BaseSeasonService extends IService<BaseSeason> {
 
     BaseSeason getSeason(BaseSeasonTypeParam baseSeasonTypeParam) throws ParseException;
 
-    Integer getEnableSeason(BaseSeasonOrgIdParam baseSeasonOrgIdParam);
+    Integer getEnableSeason(OrgIdParam orgIdParam);
 }

+ 3 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/service/impl/BaseSeasonServiceImpl.java

@@ -30,6 +30,7 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.core.enums.BaseDataTypeEnum;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseSeason.entity.BaseSeason;
 import vip.xiaonuo.modular.base.baseSeason.mapper.BaseSeasonMapper;
 import vip.xiaonuo.modular.base.baseSeason.param.*;
@@ -187,8 +188,8 @@ public class BaseSeasonServiceImpl extends ServiceImpl<BaseSeasonMapper, BaseSea
     }
 
     @Override
-    public Integer getEnableSeason(BaseSeasonOrgIdParam baseSeasonOrgIdParam) {
-        String orgId = baseSeasonOrgIdParam.getOrgId();
+    public Integer getEnableSeason(OrgIdParam orgIdParam) {
+        String orgId = orgIdParam.getOrgId();
         Integer seasonType = new Integer(0);
         BaseSeason baseSeason = this.getOne(new QueryWrapper<BaseSeason>().lambda().eq(BaseSeason::getStatus, 1).eq(BaseSeason::getOrgId, orgId));
         if (ObjectUtil.isNotEmpty(baseSeason)){

+ 0 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyDevice/controller/EnergyDeviceController.java

@@ -12,7 +12,6 @@
  */
 package vip.xiaonuo.modular.energy.energyDevice.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.lang.tree.Tree;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -34,13 +33,11 @@ import vip.xiaonuo.modular.energy.energyDevice.entity.EnergyDevice;
 import vip.xiaonuo.modular.energy.energyDevice.entity.vo.EnergyDeviceCountVo;
 import vip.xiaonuo.modular.energy.energyDevice.param.*;
 import vip.xiaonuo.modular.energy.energyDevice.service.EnergyDeviceService;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 能耗设备控制器

+ 0 - 6
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyDevice/service/impl/EnergyDeviceServiceImpl.java

@@ -15,15 +15,12 @@ package vip.xiaonuo.modular.energy.energyDevice.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
@@ -35,13 +32,10 @@ import vip.xiaonuo.modular.energy.energyDevice.entity.vo.EnergyDeviceCountVo;
 import vip.xiaonuo.modular.energy.energyDevice.mapper.EnergyDeviceMapper;
 import vip.xiaonuo.modular.energy.energyDevice.param.*;
 import vip.xiaonuo.modular.energy.energyDevice.service.EnergyDeviceService;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
 
 import java.text.NumberFormat;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 /**

+ 19 - 7
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/controller/EnvDeviceController.java

@@ -10,9 +10,8 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.controller;
+package vip.xiaonuo.modular.env.envDevice.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.lang.tree.Tree;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -30,16 +29,16 @@ import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.pigpen.param.BasePigpenOrgIdParam;
 import vip.xiaonuo.modular.base.pigpen.service.BasePigpenService;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.entity.vo.EnvDeviceCountVo;
-import vip.xiaonuo.modular.env.envdevice.param.*;
-import vip.xiaonuo.modular.env.envdevice.service.EnvDeviceService;
+import vip.xiaonuo.modular.env.entity.EnvDeviceEquipment;
+import vip.xiaonuo.modular.env.envDevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envDevice.entity.vo.EnvDeviceCountVo;
+import vip.xiaonuo.modular.env.envDevice.param.*;
+import vip.xiaonuo.modular.env.envDevice.service.EnvDeviceService;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 环控设备控制器
@@ -168,4 +167,17 @@ public class EnvDeviceController {
     public CommonResult<List<BaseConfig>> deviceTypeSelector(EnvDeviceOrgIdParam envDeviceOrgIdParam) {
         return CommonResult.data(envDeviceService.deviceTypeSelector(envDeviceOrgIdParam));
     }
+
+    /**
+     * 获取设备类型选择器
+     *
+     * @author newspaper
+     * @date  2023/12/18 09:58
+     */
+    @ApiOperationSupport(order = 9)
+    @ApiOperation("根据单元ID获取单元设备")
+    @GetMapping("/env/envDevice/deviceTypeSelector")
+    public CommonResult<List<EnvDeviceEquipment>> getEquipmentByUnitId(unitIdParam unitIdParam) {
+        return CommonResult.data(envDeviceService.getEquipmentByUnitId(unitIdParam));
+    }
 }

+ 1 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/entity/EnvDevice.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.entity;
+package vip.xiaonuo.modular.env.envDevice.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.fhs.core.trans.anno.Trans;
@@ -23,9 +23,6 @@ import vip.xiaonuo.common.pojo.CommonEntity;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
 
-import java.math.BigDecimal;
-import java.util.Date;
-
 /**
  * 环控设备实体
  *

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/entity/vo/EnvDeviceCountVo.java

@@ -1,4 +1,4 @@
-package vip.xiaonuo.modular.env.envdevice.entity.vo;
+package vip.xiaonuo.modular.env.envDevice.entity.vo;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/enums/EnvDeviceEnum.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.enums;
+package vip.xiaonuo.modular.env.envDevice.enums;
 
 import lombok.Getter;
 

+ 2 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/mapper/EnvDeviceMapper.java

@@ -10,14 +10,14 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.mapper;
+package vip.xiaonuo.modular.env.envDevice.mapper;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envDevice.entity.EnvDevice;
 
 /**
  * 环控设备Mapper接口

+ 2 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/mapper/mapping/EnvDeviceMapper.xml

@@ -2,12 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="vip.xiaonuo.modular.env.envdevice.mapper.EnvDeviceMapper">
 
-    <select id="page" resultType="vip.xiaonuo.modular.env.envdevice.entity.EnvDevice">
+    <select id="page" resultType="vip.xiaonuo.modular.env.envDevice.entity.EnvDevice">
         SELECT d.id,d.device_code,d.device_type,d.device_name,p.build_name AS installPosition,d.status
         FROM `env_device` d LEFT JOIN `base_pigpen` p ON d.install_position = p.id
         ${ew.customSqlSegment}
     </select>
-    <select id="detail" resultType="vip.xiaonuo.modular.env.envdevice.entity.EnvDevice">
+    <select id="detail" resultType="vip.xiaonuo.modular.env.envDevice.entity.EnvDevice">
         SELECT d.id,d.device_code,d.device_type,d.device_name,p.build_name AS installPosition,d.status
         FROM `env_device` d LEFT JOIN `base_pigpen` p ON d.install_position = p.id
         WHERE d.id = #{id}

+ 1 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceAddParam.java

@@ -10,18 +10,14 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
 
 /**
  * 环控设备添加参数

+ 2 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceEditParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -18,8 +18,6 @@ import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
-import java.math.BigDecimal;
-import java.util.Date;
 
 /**
  * 环控设备编辑参数
@@ -29,7 +27,7 @@ import java.util.Date;
  **/
 @Getter
 @Setter
-public class EnvDeviceEditParam {
+public class EnvDeviceEditParam extends EnvDeviceOrgIdParam{
 
     /** id */
     @ApiModelProperty(value = "id", required = true, position = 1)

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceIdParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDeviceOrgIdParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;

+ 1 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/param/EnvDevicePageParam.java

@@ -10,13 +10,11 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
-import java.math.BigDecimal;
-import java.util.Date;
 
 /**
  * 环控设备查询参数

+ 8 - 8
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/baseSeason/param/BaseSeasonOrgIdParam.java

@@ -10,7 +10,7 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.base.baseSeason.param;
+package vip.xiaonuo.modular.env.envDevice.param;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
@@ -19,17 +19,17 @@ import lombok.Setter;
 import javax.validation.constraints.NotBlank;
 
 /**
- * 季节Id参数
+ * 环控阈值Id参数
  *
  * @author newspaper
- * @date  2023/12/18 11:14
+ * @date  2023/12/25 15:38
  **/
 @Getter
 @Setter
-public class BaseSeasonOrgIdParam {
+public class unitIdParam {
 
-    /** 组织id */
-    @ApiModelProperty(value = "组织id", required = true, position = 99)
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
+    /** 单元ID */
+    @ApiModelProperty(value = "单元ID", required = true)
+    @NotBlank(message = "单元ID不能为空")
+    private String unitId;
 }

+ 7 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/service/EnvDeviceService.java

@@ -10,18 +10,18 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.service;
+package vip.xiaonuo.modular.env.envDevice.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.entity.vo.EnvDeviceCountVo;
-import vip.xiaonuo.modular.env.envdevice.param.*;
+import vip.xiaonuo.modular.env.entity.EnvDeviceEquipment;
+import vip.xiaonuo.modular.env.envDevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envDevice.entity.vo.EnvDeviceCountVo;
+import vip.xiaonuo.modular.env.envDevice.param.*;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 环控设备Service接口
@@ -82,4 +82,6 @@ public interface EnvDeviceService extends IService<EnvDevice> {
     EnvDeviceCountVo deviceCount(EnvDeviceOrgIdParam envDeviceOrgIdParam);
 
     List<BaseConfig> deviceTypeSelector(EnvDeviceOrgIdParam envDeviceOrgIdParam);
+
+    List<EnvDeviceEquipment> getEquipmentByUnitId(unitIdParam unitIdParam);
 }

+ 56 - 18
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdevice/service/impl/EnvDeviceServiceImpl.java

@@ -10,40 +10,32 @@
  * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
  * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
  */
-package vip.xiaonuo.modular.env.envdevice.service.impl;
+package vip.xiaonuo.modular.env.envDevice.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
-import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.common.pojo.CommonResult;
-import vip.xiaonuo.core.enums.EnvDataTypeEnum;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
 import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
-import vip.xiaonuo.modular.energy.energyDevice.entity.EnergyDevice;
 import vip.xiaonuo.modular.env.entity.EnvDeviceEquipment;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.entity.vo.EnvDeviceCountVo;
-import vip.xiaonuo.modular.env.envdevice.mapper.EnvDeviceMapper;
-import vip.xiaonuo.modular.env.envdevice.param.*;
-import vip.xiaonuo.modular.env.envdevice.service.EnvDeviceService;
+import vip.xiaonuo.modular.env.envDevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envDevice.entity.vo.EnvDeviceCountVo;
+import vip.xiaonuo.modular.env.envDevice.mapper.EnvDeviceMapper;
+import vip.xiaonuo.modular.env.envDevice.param.*;
+import vip.xiaonuo.modular.env.envDevice.service.EnvDeviceService;
 import vip.xiaonuo.modular.env.mapper.EnvDeviceEquipmentMapper;
 
-import javax.validation.constraints.NotBlank;
 import java.text.NumberFormat;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -117,20 +109,28 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
                 .eq("device_code", envDeviceAddParam.getDeviceCode())
                 .or().eq("install_position", envDeviceAddParam.getInstallPosition());
         if (ObjectUtil.isEmpty(envDeviceMapper.selectOne(queryWrapper))) {
-            for (int i = 0; i < envDeviceAddParam.getFanNum(); i++) {
+            for (int i = 1; i <= envDeviceAddParam.getFanNum(); i++) {
                 EnvDeviceEquipment equipment = new EnvDeviceEquipment();
                 equipment.setDeviceCode(envDeviceAddParam.getDeviceCode());
-                equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "01");
+                if (i < 10){
+                    equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "010"+i);
+                }else {
+                    equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "01"+i);
+                }
                 equipment.setDeviceName(envDeviceAddParam.getDeviceName());
                 equipment.setCreateTime(new Date());
                 equipment.setOrgId(envDeviceAddParam.getOrgId());
                 equipment.setDeviceType(0);
                 equipmentMapper.insert(equipment);
             }
-            for (int i = 0; i < envDeviceAddParam.getCurtainNum(); i++) {
+            for (int i = 1; i <= envDeviceAddParam.getCurtainNum(); i++) {
                 EnvDeviceEquipment equipment = new EnvDeviceEquipment();
                 equipment.setDeviceCode(envDeviceAddParam.getDeviceCode());
-                equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "01");
+                if (i < 10){
+                    equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "020"+i);
+                }else {
+                    equipment.setChipCode(envDeviceAddParam.getDeviceCode() + "02"+i);
+                }
                 equipment.setDeviceName(envDeviceAddParam.getDeviceName());
                 equipment.setCreateTime(new Date());
                 equipment.setOrgId(envDeviceAddParam.getOrgId());
@@ -169,6 +169,37 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
                 .ne(EnvDevice::getId,envDevice.getId())) > 0) {
             throw new CommonException("该位置已存在设备!");
         }
+        equipmentMapper.delete(new QueryWrapper<EnvDeviceEquipment>().lambda()
+                .eq(EnvDeviceEquipment::getDeviceCode,envDeviceEditParam.getDeviceCode())
+                .eq(EnvDeviceEquipment::getOrgId,envDeviceEditParam.getOrgId()));
+        for (int i = 1; i <= envDeviceEditParam.getFanNum(); i++) {
+            EnvDeviceEquipment equipment = new EnvDeviceEquipment();
+            equipment.setDeviceCode(envDeviceEditParam.getDeviceCode());
+            if (i < 10){
+                equipment.setChipCode(envDeviceEditParam.getDeviceCode() + "010"+i);
+            }else {
+                equipment.setChipCode(envDeviceEditParam.getDeviceCode() + "01"+i);
+            }
+            equipment.setDeviceName(envDeviceEditParam.getDeviceName());
+            equipment.setCreateTime(new Date());
+            equipment.setOrgId(envDeviceEditParam.getOrgId());
+            equipment.setDeviceType(0);
+            equipmentMapper.insert(equipment);
+        }
+        for (int i = 1; i <= envDeviceEditParam.getCurtainNum(); i++) {
+            EnvDeviceEquipment equipment = new EnvDeviceEquipment();
+            equipment.setDeviceCode(envDeviceEditParam.getDeviceCode());
+            if (i < 10){
+                equipment.setChipCode(envDeviceEditParam.getDeviceCode() + "020"+i);
+            }else {
+                equipment.setChipCode(envDeviceEditParam.getDeviceCode() + "02"+i);
+            }
+            equipment.setDeviceName(envDeviceEditParam.getDeviceName());
+            equipment.setCreateTime(new Date());
+            equipment.setOrgId(envDeviceEditParam.getOrgId());
+            equipment.setDeviceType(1);
+            equipmentMapper.insert(equipment);
+        }
         this.updateById(envDevice);
     }
 
@@ -227,4 +258,11 @@ public class EnvDeviceServiceImpl extends ServiceImpl<EnvDeviceMapper, EnvDevice
         List<BaseConfig> baseConfigs = baseConfigMapper.selectList(new QueryWrapper<BaseConfig>().lambda().eq(BaseConfig::getParentId, parentId).eq(BaseConfig::getOrgId, orgId));
         return baseConfigs;
     }
+
+    @Override
+    public List<EnvDeviceEquipment> getEquipmentByUnitId(unitIdParam unitIdParam) {
+        EnvDevice envDevice = this.getOne(new QueryWrapper<EnvDevice>().lambda().eq(EnvDevice::getInstallPosition, unitIdParam.getUnitId()));
+
+        return null;
+    }
 }

+ 15 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/controller/EnvDataController.java

@@ -23,8 +23,10 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataCarouselVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataRecentVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataTrendVo;
+import vip.xiaonuo.modular.env.envdata.param.EnvDataBuildNameParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataListParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataPigpenIdParm;
 import vip.xiaonuo.modular.env.envdata.service.EnvDataService;
@@ -73,5 +75,18 @@ public class EnvDataController {
         return CommonResult.data(envDataService.listDataByPigpenId(envDataListParm));
     }
 
+    /**
+     * 获取轮播环控数据
+     *
+     * @author newspaper
+     * @date  2023/12/20 14:38
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("获取轮播环控数据")
+    @PostMapping("/env/envData/listData")
+    public CommonResult<List<EnvDataCarouselVo>> listData(@RequestBody @Valid EnvDataBuildNameParm envDataBuildNameParm){
+        return CommonResult.data(envDataService.listData(envDataBuildNameParm));
+    }
+
 
 }

+ 21 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/entity/vo/EnvDataCarouselVo.java

@@ -0,0 +1,21 @@
+package vip.xiaonuo.modular.env.envdata.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class EnvDataCarouselVo {
+    @ApiModelProperty(value = "单元id", position = 1)
+    private String unitId;
+
+    @ApiModelProperty(value = "位置", position = 2)
+    private String location;
+
+    @ApiModelProperty(value = "温度", position = 3)
+    private BigDecimal temp;
+
+    @ApiModelProperty(value = "湿度", position = 4)
+    private BigDecimal hum;
+}

+ 5 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/entity/vo/EnvDataRecentVo.java

@@ -2,9 +2,11 @@ package vip.xiaonuo.modular.env.envdata.entity.vo;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import vip.xiaonuo.modular.env.entity.EnvDeviceEquipment;
 
 import java.math.BigDecimal;
 import java.sql.Date;
+import java.util.List;
 
 @Data
 public class EnvDataRecentVo {
@@ -19,4 +21,7 @@ public class EnvDataRecentVo {
 
     @ApiModelProperty(value = "栋舍ID", position = 4)
     private String pigpenId;
+
+    @ApiModelProperty(value = "设备列表", position = 5)
+    private List<EnvDeviceEquipment> list;
 }

+ 3 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/EnvDataMapper.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.env.envdata.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import vip.xiaonuo.modular.env.envdata.entity.EnvData;
+import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataCarouselVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataListVo;
 
 import java.util.List;
@@ -32,4 +33,6 @@ public interface EnvDataMapper extends BaseMapper<EnvData> {
     List<EnvDataListVo> listMonth(String pigpenId);
 
     List<EnvDataListVo> listCustom(String pigpenId, String startDate, String endDate);
+
+    List<EnvDataCarouselVo> listData(String buildName, String orgId);
 }

+ 24 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/mapper/mapping/EnvDataMapper.xml

@@ -61,4 +61,28 @@
         ORDER BY
             DATE(update_time) ASC;
     </select>
+    <select id="listData" resultType="vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataCarouselVo">
+        SELECT DISTINCT
+            d.tem_handle_value AS 'temp',
+            d.humi_handle_value AS 'hum',
+            b.id AS 'unitId',
+            b.full_name AS 'location'
+        FROM `base_pigpen` b
+        LEFT OUTER JOIN (
+            SELECT
+                pigpen_id,
+                tem_handle_value,
+                humi_handle_value,
+                update_time
+            FROM `env_data`
+            WHERE (pigpen_id, update_time) IN (
+                SELECT
+                    pigpen_id,
+                    MAX(update_time)
+                FROM `env_data`
+                GROUP BY pigpen_id
+            )
+        ) d ON b.id = d.pigpen_id
+        WHERE b.type = 2 AND b.org_id = #{orgId};
+    </select>
 </mapper>

+ 16 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/param/EnvDataBuildNameParm.java

@@ -0,0 +1,16 @@
+package vip.xiaonuo.modular.env.envdata.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
+
+import javax.validation.constraints.NotBlank;
+
+@Getter
+@Setter
+public class EnvDataBuildNameParm extends OrgIdParam {
+    /** 单元名称 */
+    @ApiModelProperty(value = "单元名称", required = true, position = 1)
+    private String buildName;
+}

+ 4 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/service/EnvDataService.java

@@ -14,8 +14,10 @@ package vip.xiaonuo.modular.env.envdata.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.modular.env.envdata.entity.EnvData;
+import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataCarouselVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataRecentVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataTrendVo;
+import vip.xiaonuo.modular.env.envdata.param.EnvDataBuildNameParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataListParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataPigpenIdParm;
 
@@ -33,4 +35,6 @@ public interface EnvDataService extends IService<EnvData> {
     List<EnvDataRecentVo> getLastDataByPigpenId(EnvDataPigpenIdParm envDataPigpenIdParm);
 
     EnvDataTrendVo listDataByPigpenId(EnvDataListParm envDataListParm);
+
+    List<EnvDataCarouselVo> listData(EnvDataBuildNameParm envDataBuildNameParm);
 }

+ 27 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/env/envdata/service/impl/EnvDataServiceImpl.java

@@ -19,21 +19,24 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
 import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
+import vip.xiaonuo.modular.env.entity.EnvDeviceEquipment;
 import vip.xiaonuo.modular.env.envdata.entity.EnvData;
+import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataCarouselVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataListVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataRecentVo;
 import vip.xiaonuo.modular.env.envdata.entity.vo.EnvDataTrendVo;
 import vip.xiaonuo.modular.env.envdata.mapper.EnvDataMapper;
+import vip.xiaonuo.modular.env.envdata.param.EnvDataBuildNameParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataListParm;
 import vip.xiaonuo.modular.env.envdata.param.EnvDataPigpenIdParm;
 import vip.xiaonuo.modular.env.envdata.service.EnvDataService;
+import vip.xiaonuo.modular.env.envDevice.entity.EnvDevice;
+import vip.xiaonuo.modular.env.envDevice.mapper.EnvDeviceMapper;
+import vip.xiaonuo.modular.env.mapper.EnvDeviceEquipmentMapper;
 
-import javax.validation.constraints.NotBlank;
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -47,9 +50,12 @@ public class EnvDataServiceImpl extends ServiceImpl<EnvDataMapper, EnvData> impl
 
     @Autowired
     private BasePigpenMapper basePigpenMapper;
-
     @Autowired
     private EnvDataMapper envDataMapper;
+    @Autowired
+    private EnvDeviceEquipmentMapper envDeviceEquipmentMapper;
+    @Autowired
+    private EnvDeviceMapper envDeviceMapper;
 
     @Override
     public List<EnvDataRecentVo> getLastDataByPigpenId(EnvDataPigpenIdParm envDataPigpenIdParm) {
@@ -72,12 +78,20 @@ public class EnvDataServiceImpl extends ServiceImpl<EnvDataMapper, EnvData> impl
             basePigpens = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().eq("id", pigpenId));
         }
         for (BasePigpen basePigpen : basePigpens) {
+            EnvDataRecentVo envDataRecent = new EnvDataRecentVo();
             EnvData envData = this.getOne(new QueryWrapper<EnvData>().lambda()
                     .eq(EnvData::getPigpenId, basePigpen.getId())
                     .eq(EnvData::getIsShow,0)
                     .orderByDesc(EnvData::getUpdateTime)
                     .last("limit 1"));
-            EnvDataRecentVo envDataRecent = new EnvDataRecentVo();
+            EnvDevice envDevice = envDeviceMapper.selectOne(new QueryWrapper<EnvDevice>().lambda().eq(EnvDevice::getInstallPosition, basePigpen.getId()));
+            if (ObjectUtil.isNotEmpty(envDevice)){
+                List<EnvDeviceEquipment> envDeviceEquipments = envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().lambda()
+                        .eq(EnvDeviceEquipment::getDeviceCode, envDevice.getDeviceCode()).orderByAsc(EnvDeviceEquipment::getChipCode));
+                if (ObjectUtil.isNotEmpty(envDeviceEquipments)){
+                    envDataRecent.setList(envDeviceEquipments);
+                }
+            }
             if (ObjectUtil.isEmpty(envData)){
                 envDataRecent.setTemp(BigDecimal.ZERO);
                 envDataRecent.setHum(BigDecimal.ZERO);
@@ -117,4 +131,12 @@ public class EnvDataServiceImpl extends ServiceImpl<EnvDataMapper, EnvData> impl
         return envDataTrend;
     }
 
+    @Override
+    public List<EnvDataCarouselVo> listData(EnvDataBuildNameParm envDataBuildNameParm) {
+        String buildName = envDataBuildNameParm.getBuildName();
+        String orgId = envDataBuildNameParm.getOrgId();
+        List<EnvDataCarouselVo> envDatas = envDataMapper.listData(buildName,orgId);
+        return envDatas;
+    }
+
 }

+ 0 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/controller/FeedingEnvController.java

@@ -12,7 +12,6 @@
  */
 package vip.xiaonuo.modular.feed.feedingenv.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -28,9 +27,6 @@ import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDevicePageParam;
 import vip.xiaonuo.modular.feed.feedingenv.entity.FeedingEnv;
 import vip.xiaonuo.modular.feed.feedingenv.param.*;
 import vip.xiaonuo.modular.feed.feedingenv.service.FeedingEnvService;
@@ -39,7 +35,6 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 精准饲喂设备控制器

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/param/FeedingEnvListParam.java

@@ -15,7 +15,7 @@ package vip.xiaonuo.modular.feed.feedingenv.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
+import vip.xiaonuo.modular.env.envDevice.param.EnvDeviceOrgIdParam;
 
 /**
  * 环控设备查询参数

+ 0 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/service/FeedingEnvService.java

@@ -17,9 +17,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDevicePageParam;
 import vip.xiaonuo.modular.feed.feedingenv.entity.FeedingEnv;
 import vip.xiaonuo.modular.feed.feedingenv.param.*;
 

+ 0 - 7
snowy-web-app/src/main/java/vip/xiaonuo/modular/feed/feedingenv/service/impl/FeedingEnvServiceImpl.java

@@ -15,7 +15,6 @@ package vip.xiaonuo.modular.feed.feedingenv.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -24,23 +23,17 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
 import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
-import vip.xiaonuo.modular.env.envdevice.entity.EnvDevice;
-import vip.xiaonuo.modular.env.envdevice.entity.vo.EnvDeviceCountVo;
-import vip.xiaonuo.modular.env.envdevice.param.EnvDeviceOrgIdParam;
 import vip.xiaonuo.modular.feed.feedingenv.entity.FeedingEnv;
 import vip.xiaonuo.modular.feed.feedingenv.mapper.FeedingEnvMapper;
 import vip.xiaonuo.modular.feed.feedingenv.param.*;
 import vip.xiaonuo.modular.feed.feedingenv.service.FeedingEnvService;
 
-import javax.validation.constraints.NotBlank;
-import java.text.DecimalFormat;
 import java.text.NumberFormat;
 import java.util.List;
 

+ 18 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/controller/WarningInfoController.java

@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.warning.warningInfo.entity.WarningInfo;
 import vip.xiaonuo.modular.warning.warningInfo.entity.vo.WarningInfoListVo;
 import vip.xiaonuo.modular.warning.warningInfo.entity.vo.WarningInfoProportionVo;
@@ -74,8 +75,8 @@ public class WarningInfoController {
     @ApiOperationSupport(order = 2)
     @ApiOperation("获取预警占比")
     @GetMapping("/warning/warningInfo/getProportion")
-    public CommonResult<WarningInfoProportionVo> getProportion(WarningInfoOrgIdParam warningInfoOrgIdParam) {
-        return CommonResult.data(warningInfoService.getProportion(warningInfoOrgIdParam));
+    public CommonResult<WarningInfoProportionVo> getProportion(WarningInfoTypeParam warningInfoTypeParam) {
+        return CommonResult.data(warningInfoService.getProportion(warningInfoTypeParam));
     }
 
     /**
@@ -87,8 +88,21 @@ public class WarningInfoController {
     @ApiOperationSupport(order = 3)
     @ApiOperation("获取近七天预警")
     @GetMapping("/warning/warningInfo/listSevenDayWarning")
-    public CommonResult<List<WarningInfoListVo>> listSevenDayWarning(WarningInfoOrgIdParam warningInfoOrgIdParam) {
-        return CommonResult.data(warningInfoService.listSevenDayWarning(warningInfoOrgIdParam));
+    public CommonResult<List<WarningInfoListVo>> listSevenDayWarning(OrgIdParam orgIdParam) {
+        return CommonResult.data(warningInfoService.listSevenDayWarning(orgIdParam));
+    }
+
+    /**
+     * 根据类型获取预警列表
+     *
+     * @author newspaper
+     * @date  2023/12/26 13:40
+     */
+    @ApiOperationSupport(order = 4)
+    @ApiOperation("根据类型获取预警列表")
+    @GetMapping("/warning/warningInfo/listWarningByType")
+    public CommonResult<List<WarningInfo>> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
+        return CommonResult.data(warningInfoService.listWarningByType(warningTypeParam));
     }
 
 

+ 2 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoAddParam.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.warning.warningInfo.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -29,7 +30,7 @@ import java.util.Date;
  **/
 @Getter
 @Setter
-public class WarningInfoAddParam {
+public class WarningInfoAddParam extends OrgIdParam {
 
     /** 预警类型 */
     @ApiModelProperty(value = "预警类型", position = 2)
@@ -55,8 +56,4 @@ public class WarningInfoAddParam {
     @ApiModelProperty(value = "预警时间", position = 7)
     private Date warningTime;
 
-    /** 组织ID */
-    @ApiModelProperty(value = "组织ID", position = 8)
-    private String orgId;
-
 }

+ 2 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoEditParam.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.warning.warningInfo.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
@@ -29,7 +30,7 @@ import java.util.Date;
  **/
 @Getter
 @Setter
-public class WarningInfoEditParam {
+public class WarningInfoEditParam{
 
     /** id */
     @ApiModelProperty(value = "id", required = true, position = 1)

+ 6 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoOrgIdParam.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.warning.warningInfo.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
 
 import javax.validation.constraints.NotBlank;
 
@@ -26,10 +27,10 @@ import javax.validation.constraints.NotBlank;
  **/
 @Getter
 @Setter
-public class WarningInfoOrgIdParam {
+public class WarningInfoTypeParam extends OrgIdParam {
 
-    /** 组织id */
-    @ApiModelProperty(value = "组织id", required = true, position = 99)
-    @NotBlank(message = "orgId不能为空")
-    private String orgId;
+    /** 类型 */
+    @ApiModelProperty(value = "类型", required = true, example = "0今日,1本月")
+    @NotBlank(message = "type不能为空")
+    private String type;
 }

+ 36 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoWarningTypeParam.java

@@ -0,0 +1,36 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.warning.warningInfo.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 预警Id参数
+ *
+ * @author newspaper
+ * @date  2023/12/26 13:40
+ **/
+@Getter
+@Setter
+public class WarningInfoWarningTypeParam extends OrgIdParam {
+
+    /** 类型 */
+    @ApiModelProperty(value = "类型", required = true, example = "0全部,1环境,2能耗,3洗消,4饲喂")
+    @NotBlank(message = "type不能为空")
+    private String type;
+}

+ 5 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/WarningInfoService.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.warning.warningInfo.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.warning.warningInfo.entity.WarningInfo;
 import vip.xiaonuo.modular.warning.warningInfo.entity.vo.WarningInfoListVo;
 import vip.xiaonuo.modular.warning.warningInfo.entity.vo.WarningInfoProportionVo;
@@ -37,7 +38,9 @@ public interface WarningInfoService extends IService<WarningInfo> {
      */
     Page<WarningInfo> page(WarningInfoPageParam warningInfoPageParam);
 
-    WarningInfoProportionVo getProportion(WarningInfoOrgIdParam warningInfoOrgIdParam);
+    WarningInfoProportionVo getProportion(WarningInfoTypeParam warningInfoTypeParam);
 
-    List<WarningInfoListVo> listSevenDayWarning(WarningInfoOrgIdParam warningInfoOrgIdParam);
+    List<WarningInfoListVo> listSevenDayWarning(OrgIdParam orgIdParam);
+
+    List<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam);
 }

+ 19 - 7
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.warning.warningInfo.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -27,6 +28,7 @@ import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
 import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
 import vip.xiaonuo.modular.warning.warningInfo.entity.WarningInfo;
@@ -116,19 +118,24 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
     }
 
     @Override
-    public WarningInfoProportionVo getProportion(WarningInfoOrgIdParam warningInfoOrgIdParam) {
-        String orgId = warningInfoOrgIdParam.getOrgId();
+    public WarningInfoProportionVo getProportion(WarningInfoTypeParam warningInfoTypeParam) {
+        String orgId = warningInfoTypeParam.getOrgId();
         WarningInfoProportionVo warningInfoProportionVo = new WarningInfoProportionVo();
-        long total = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).ge(WarningInfo::getWarningTime, DateUtil.beginOfMonth(new Date())));
+        DateTime dateTime;
+        if (warningInfoTypeParam.getType().equals("0")){
+            dateTime = DateUtil.beginOfDay(new Date());
+        }else {
+           dateTime = DateUtil.beginOfMonth(new Date());
+        }
+        long total = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).ge(WarningInfo::getWarningTime, dateTime));
         warningInfoProportionVo.setTotal(total);
 
         String parentConfig = baseConfigMapper.selectOne(new QueryWrapper<BaseConfig>().lambda().eq(BaseConfig::getParentId, 0).eq(BaseConfig::getConfigName, "预警类型")).getId();
         List<BaseConfig> baseConfigs = baseConfigMapper.selectList(new QueryWrapper<BaseConfig>().lambda().eq(BaseConfig::getParentId, parentConfig).orderByAsc(BaseConfig::getSortCode));
         List<WarningInfoRateVo> warningInfoRateVoList = new ArrayList<>();
-
         for (BaseConfig baseConfig : baseConfigs) {
             WarningInfoRateVo warningInfoRateVo = new WarningInfoRateVo();
-            long count = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).eq(WarningInfo::getWarningType, baseConfig.getId()).ge(WarningInfo::getWarningTime, DateUtil.beginOfMonth(new Date())));
+            long count = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).eq(WarningInfo::getWarningType, baseConfig.getId()).ge(WarningInfo::getWarningTime, dateTime));
             warningInfoRateVo.setName(baseConfig.getConfigName());
             warningInfoRateVo.setValue(count);
             warningInfoRateVoList.add(warningInfoRateVo);
@@ -138,9 +145,14 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
     }
 
     @Override
-    public List<WarningInfoListVo> listSevenDayWarning(WarningInfoOrgIdParam warningInfoOrgIdParam) {
-        String orgId = warningInfoOrgIdParam.getOrgId();
+    public List<WarningInfoListVo> listSevenDayWarning(OrgIdParam orgIdParam) {
+        String orgId = orgIdParam.getOrgId();
         List<WarningInfoListVo> warningInfoListVoList = warningInfoMapper.listSevenDayWarning(orgId);
         return warningInfoListVoList;
     }
+
+    @Override
+    public List<WarningInfo> listWarningByType(WarningInfoWarningTypeParam warningTypeParam) {
+        return null;
+    }
 }