diff --git a/src/main/java/com/lanhai/MybatisPlusGenerator.java b/src/main/java/com/lanhai/MybatisPlusGenerator.java index 94618c1..358b239 100644 --- a/src/main/java/com/lanhai/MybatisPlusGenerator.java +++ b/src/main/java/com/lanhai/MybatisPlusGenerator.java @@ -80,7 +80,7 @@ public class MybatisPlusGenerator { public static void main(String[] args) { - new MybatisPlusGenerator().generator("surv_transdata_vocs","surv_transdata_vocs_min");//指标 + new MybatisPlusGenerator().generator("surv_transdata_flowmeter","surv_hisdata_flowmeter");//指标 } diff --git a/src/main/java/com/lanhai/constant/PollutionConstants.java b/src/main/java/com/lanhai/constant/PollutionConstants.java index 20ecab8..f3732ee 100644 --- a/src/main/java/com/lanhai/constant/PollutionConstants.java +++ b/src/main/java/com/lanhai/constant/PollutionConstants.java @@ -27,6 +27,8 @@ public interface PollutionConstants { String SOIL_SURV = "soil"; + + String STINK = "stink"; String CAMERA = "camera"; @@ -64,6 +66,11 @@ public interface PollutionConstants { */ String PEST_LIGHT="9_pestlight"; + /** + * 流量计 + */ + String FLOWMETER = "10_flowmeter"; + /** * 数据生成间隔 单位秒 */ diff --git a/src/main/java/com/lanhai/controller/SurvHisdataFlowmeterController.java b/src/main/java/com/lanhai/controller/SurvHisdataFlowmeterController.java new file mode 100644 index 0000000..e44ac1e --- /dev/null +++ b/src/main/java/com/lanhai/controller/SurvHisdataFlowmeterController.java @@ -0,0 +1,21 @@ +package com.lanhai.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 流量计监测历史数据 前端控制器 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Controller +@RequestMapping("/survHisdataFlowmeter") +public class SurvHisdataFlowmeterController { + +} + diff --git a/src/main/java/com/lanhai/controller/SurvTransdataFlowmeterController.java b/src/main/java/com/lanhai/controller/SurvTransdataFlowmeterController.java new file mode 100644 index 0000000..355d92c --- /dev/null +++ b/src/main/java/com/lanhai/controller/SurvTransdataFlowmeterController.java @@ -0,0 +1,21 @@ +package com.lanhai.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 流量计监测数据 前端控制器 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Controller +@RequestMapping("/survTransdataFlowmeter") +public class SurvTransdataFlowmeterController { + +} + diff --git a/src/main/java/com/lanhai/entity/SurvHisdataFlowmeter.java b/src/main/java/com/lanhai/entity/SurvHisdataFlowmeter.java new file mode 100644 index 0000000..15f2ee4 --- /dev/null +++ b/src/main/java/com/lanhai/entity/SurvHisdataFlowmeter.java @@ -0,0 +1,174 @@ +package com.lanhai.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.time.LocalDateTime; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 流量计监测历史数据 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvHisdataFlowmeter extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据1 + */ + @TableField("S_DATA1") + private String sData1; + + /** + * 数据2 + */ + @TableField("S_DATA2") + private String sData2; + + /** + * 数据3 + */ + @TableField("S_DATA3") + private String sData3; + + /** + * 数据4 + */ + @TableField("S_DATA4") + private String sData4; + + /** + * 数据5 + */ + @TableField("S_DATA5") + private String sData5; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private LocalDateTime dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEPLOY_ID") + private String deployId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEPLOY_CODE") + private String deployCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 转储时间 + */ + @TableField("TRANS_DATE") + private Date transDate; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private LocalDateTime createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private LocalDateTime updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/lanhai/entity/SurvTransdataFlowmeter.java b/src/main/java/com/lanhai/entity/SurvTransdataFlowmeter.java new file mode 100644 index 0000000..9609187 --- /dev/null +++ b/src/main/java/com/lanhai/entity/SurvTransdataFlowmeter.java @@ -0,0 +1,168 @@ +package com.lanhai.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.time.LocalDateTime; +import java.util.Date; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * 流量计监测数据 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class SurvTransdataFlowmeter extends Model { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "ID", type = IdType.ID_WORKER_STR) + private String id; + + /** + * 数据1 + */ + @TableField("S_DATA1") + private String sData1; + + /** + * 数据2 + */ + @TableField("S_DATA2") + private String sData2; + + /** + * 数据3 + */ + @TableField("S_DATA3") + private String sData3; + + /** + * 数据4 + */ + @TableField("S_DATA4") + private String sData4; + + /** + * 数据5 + */ + @TableField("S_DATA5") + private String sData5; + + /** + * 数据更新时间 + */ + @TableField("DATA_DATE_TIME") + private LocalDateTime dataDateTime; + + /** + * 数据类型;realTime=实时,dayTime=日数据,month=月数据,year=年数据 + */ + @TableField("DATA_GATHER_TYPE") + private String dataGatherType; + + /** + * 站点ID + */ + @TableField("STATION_ID") + private String stationId; + + /** + * 设备ID + */ + @TableField("DEPLOY_ID") + private String deployId; + + /** + * 站点编号 + */ + @TableField("STATION_CODE") + private String stationCode; + + /** + * 设备编号 + */ + @TableField("DEPLOY_CODE") + private String deployCode; + + /** + * 机构ID + */ + @TableField("CORP_ID") + private String corpId; + + /** + * 站点名称 + */ + @TableField("STATION_NAME") + private String stationName; + + /** + * 设备名称 + */ + @TableField("DEVICE_NAME") + private String deviceName; + + /** + * 租户号 + */ + @TableField("TENANT_ID") + private String tenantId; + + /** + * 乐观锁 + */ + @TableField("RE_VISION") + private Integer reVision; + + /** + * 创建人 + */ + @TableField("CREATED_BY") + private String createdBy; + + /** + * 创建时间 + */ + @TableField("CREATE_TIME") + private LocalDateTime createTime; + + /** + * 更新人 + */ + @TableField("UPDATED_BY") + private String updatedBy; + + /** + * 逻辑删除 + */ + @TableField("IS_DEL") + private Integer isDel; + + /** + * 更新时间 + */ + @TableField("UPDATED_TIME") + private LocalDateTime updatedTime; + + + @Override + protected Serializable pkVal() { + return this.id; + } + +} diff --git a/src/main/java/com/lanhai/enums/DeviceDeployEnum.java b/src/main/java/com/lanhai/enums/DeviceDeployEnum.java index c8b40d4..8b0d6da 100644 --- a/src/main/java/com/lanhai/enums/DeviceDeployEnum.java +++ b/src/main/java/com/lanhai/enums/DeviceDeployEnum.java @@ -12,12 +12,23 @@ public enum DeviceDeployEnum { WATER_LIVE("water_live", "畜禽水污染监测","surv"), /** 水质监测 */ WATER_QULITY("6_water", "水质监测","surv"), + /** + * 虫情监测 + */ + BUG_SURV("7_bugsurv", "虫情监测", "surv"), + + /** + * 孢子监测 + */ + SPORE_SURV("8_sporesurv", "孢子监测", "surv"), /**损耗出库*/ STINK("stink", "恶臭设备","surv"), CAMERA("camera", "摄像头","surv"), - PEST_LIGHT("pestlight", "杀虫灯","guard"), + PEST_LIGHT("9_pestlight", "杀虫灯","guard"), + + FLOWMETER("10_flowmeter", "流量计","surv"), CONTROL_CAB("control_cab", "温室控制柜","control"), diff --git a/src/main/java/com/lanhai/mapper/SurvHisdataFlowmeterMapper.java b/src/main/java/com/lanhai/mapper/SurvHisdataFlowmeterMapper.java new file mode 100644 index 0000000..93247dc --- /dev/null +++ b/src/main/java/com/lanhai/mapper/SurvHisdataFlowmeterMapper.java @@ -0,0 +1,16 @@ +package com.lanhai.mapper; + +import com.lanhai.entity.SurvHisdataFlowmeter; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 流量计监测历史数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +public interface SurvHisdataFlowmeterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/lanhai/mapper/SurvTransdataFlowmeterMapper.java b/src/main/java/com/lanhai/mapper/SurvTransdataFlowmeterMapper.java new file mode 100644 index 0000000..e6e4e1e --- /dev/null +++ b/src/main/java/com/lanhai/mapper/SurvTransdataFlowmeterMapper.java @@ -0,0 +1,16 @@ +package com.lanhai.mapper; + +import com.lanhai.entity.SurvTransdataFlowmeter; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 流量计监测数据 Mapper 接口 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +public interface SurvTransdataFlowmeterMapper extends BaseMapper { + +} diff --git a/src/main/java/com/lanhai/mapper/xml/SurvHisdataFlowmeterMapper.xml b/src/main/java/com/lanhai/mapper/xml/SurvHisdataFlowmeterMapper.xml new file mode 100644 index 0000000..c2e261e --- /dev/null +++ b/src/main/java/com/lanhai/mapper/xml/SurvHisdataFlowmeterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/lanhai/mapper/xml/SurvTransdataFlowmeterMapper.xml b/src/main/java/com/lanhai/mapper/xml/SurvTransdataFlowmeterMapper.xml new file mode 100644 index 0000000..8b69350 --- /dev/null +++ b/src/main/java/com/lanhai/mapper/xml/SurvTransdataFlowmeterMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/main/java/com/lanhai/service/ISurvHisdataFlowmeterService.java b/src/main/java/com/lanhai/service/ISurvHisdataFlowmeterService.java new file mode 100644 index 0000000..f3c10ca --- /dev/null +++ b/src/main/java/com/lanhai/service/ISurvHisdataFlowmeterService.java @@ -0,0 +1,20 @@ +package com.lanhai.service; + +import com.lanhai.entity.SurvDeviceDeploy; +import com.lanhai.entity.SurvHisdataFlowmeter; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * 流量计监测历史数据 服务类 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +public interface ISurvHisdataFlowmeterService extends IService { + + +} diff --git a/src/main/java/com/lanhai/service/ISurvTransdataFlowmeterService.java b/src/main/java/com/lanhai/service/ISurvTransdataFlowmeterService.java new file mode 100644 index 0000000..6d73cf1 --- /dev/null +++ b/src/main/java/com/lanhai/service/ISurvTransdataFlowmeterService.java @@ -0,0 +1,19 @@ +package com.lanhai.service; + +import com.lanhai.entity.SurvDeviceDeploy; +import com.lanhai.entity.SurvTransdataFlowmeter; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.Map; + +/** + *

+ * 流量计监测数据 服务类 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +public interface ISurvTransdataFlowmeterService extends IService { + void saveBaowen(Map dataMap, SurvDeviceDeploy deploy, Map deviceDeployMap); +} diff --git a/src/main/java/com/lanhai/service/Impl/SurvHisdataFlowmeterServiceImpl.java b/src/main/java/com/lanhai/service/Impl/SurvHisdataFlowmeterServiceImpl.java new file mode 100644 index 0000000..074b773 --- /dev/null +++ b/src/main/java/com/lanhai/service/Impl/SurvHisdataFlowmeterServiceImpl.java @@ -0,0 +1,31 @@ +package com.lanhai.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.lanhai.entity.*; +import com.lanhai.mapper.SurvHisdataFlowmeterMapper; +import com.lanhai.service.ISurvHisdataFlowmeterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lanhai.util.DateTimeUtils; +import com.lanhai.util.TUtil; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Map; + +/** + *

+ * 流量计监测历史数据 服务实现类 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Service +public class SurvHisdataFlowmeterServiceImpl extends ServiceImpl implements ISurvHisdataFlowmeterService { + +} diff --git a/src/main/java/com/lanhai/service/Impl/SurvTransdataFlowmeterServiceImpl.java b/src/main/java/com/lanhai/service/Impl/SurvTransdataFlowmeterServiceImpl.java new file mode 100644 index 0000000..161be39 --- /dev/null +++ b/src/main/java/com/lanhai/service/Impl/SurvTransdataFlowmeterServiceImpl.java @@ -0,0 +1,138 @@ +package com.lanhai.service.Impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.lanhai.entity.*; +import com.lanhai.mapper.SurvTransdataFlowmeterMapper; +import com.lanhai.service.ISurvAlertRecordService; +import com.lanhai.service.ISurvDeviceDeployService; +import com.lanhai.service.ISurvTransdataFlowmeterService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.lanhai.util.DateTimeUtils; +import com.lanhai.util.TUtil; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.Map; + +/** + *

+ * 流量计监测数据 服务实现类 + *

+ * + * @author ${author} + * @since 2026-07-28 + */ +@Service +@Slf4j +public class SurvTransdataFlowmeterServiceImpl extends ServiceImpl implements ISurvTransdataFlowmeterService { + + @Autowired + private SurvAlertRecordServiceImpl alertRecordService; + @Autowired + private SurvDeviceDeployServiceImpl deviceDeployService; + @Autowired + private SurvHisdataFlowmeterServiceImpl flowmeterService; + @Autowired + private SurvStationInfoServiceImpl survStationInfoService; + + + @Override + public void saveBaowen(Map baowenMap, SurvDeviceDeploy survDeviceDeploy, Map deviceDeployMap) { + + String mn = baowenMap.get("mn"); + String DataTime = baowenMap.get("DataTime"); + //保存或者更新实时表 + SurvTransdataFlowmeter flowmeter = getOneByDeviceId(survDeviceDeploy.getId()); + LocalDateTime kDateTime = null; + LocalDateTime nowTime = LocalDateTime.now(); + if(flowmeter == null){ + flowmeter = new SurvTransdataFlowmeter(); + flowmeter.setCreatedBy("task");//创建人 + flowmeter.setCreateTime(nowTime);//创建时间 + }else{ + flowmeter.setUpdatedBy("task");//创建人 + flowmeter.setUpdatedTime(nowTime);//创建时间 + kDateTime = flowmeter.getDataDateTime(); + } + + int soilCount = 0; + String formatSoilTime = kDateTime!=null? DateUtil.format(kDateTime,"yyyy-MM-dd HH:mm:ss"):""; + if(!formatSoilTime.equals(DataTime)){ + if(!survDeviceDeploy.getScEquZhibiaoList().isEmpty()){ + for (ScEquZhibiao scEquZhibiao : survDeviceDeploy.getScEquZhibiaoList()) { + boolean isSuccess = TUtil.setFieldValue(flowmeter,scEquZhibiao.getEntityField(),baowenMap.get(scEquZhibiao.getCode())); + if(isSuccess){ + soilCount++; + } + } + } + } + +// System.out.println("nSoilCheck==============:"+soilCount); + if(soilCount > 0){//只有数据有效时才入库 + flowmeter.setDataDateTime(DateTimeUtils.parse(DataTime));//数据时间 + flowmeter.setDataGatherType("realTime");//数据类型-realTime=实时,dayTime=日数据,month=月数据,year=年数据 + flowmeter.setDeployCode(mn);//设备编号 + flowmeter.setTenantId(survDeviceDeploy.getTenantId()); + +// SurvDeviceDeploy survDeviceDeploy = deviceDeployMap.get(deploy.getDeployCode()+"_"+ DeviceDeployEnum.SURV_SOIL.getType()); + + + + if(survDeviceDeploy!=null){ + flowmeter.setDeployId(survDeviceDeploy.getId()); + flowmeter.setStationCode(survDeviceDeploy.getStationCode()); + flowmeter.setDeviceName(survDeviceDeploy.getDeployDes()); + if(StringUtils.isNotBlank(survDeviceDeploy.getStationCode())){ + SurvStationInfo survStationInfo = survStationInfoService.getByCode(survDeviceDeploy.getStationCode()); + if(survStationInfo!=null) { + flowmeter.setStationName(survStationInfo.getStationName()); + flowmeter.setStationId(survStationInfo.getId()); + } + } + } + saveOrUpdate(flowmeter); + //更新设备的上次更新时间 + deviceDeployService.update(new LambdaUpdateWrapper() + .eq(SurvDeviceDeploy::getId, survDeviceDeploy.getId()) + .set(SurvDeviceDeploy::getLastsyncTime, nowTime)); + + //保存土壤历史表 + if(kDateTime == null || !DataTime.equals(DateUtil.format(kDateTime,"yyyy-MM-dd HH:mm:ss"))){ + SurvHisdataFlowmeter hisdataFlowmeter = new SurvHisdataFlowmeter(); + BeanUtil.copyProperties(flowmeter,hisdataFlowmeter); + hisdataFlowmeter.setId(IdUtil.getSnowflakeNextIdStr()); + hisdataFlowmeter.setCreateTime(nowTime); + flowmeterService.save(hisdataFlowmeter); + }else{ + String dateStr = kDateTime!=null?DateUtil.format(kDateTime,"yyyy-MM-dd HH:mm:ss"):""; + log.error("****** 跳过,数据日期为:{},已存在于土壤历史表******",dateStr); + } + } + + //更新设备的上次更新时间 + deviceDeployService.update(new LambdaUpdateWrapper() + .eq(SurvDeviceDeploy::getId, survDeviceDeploy.getId())//只能根据设备号更新,因为存在单个设备同时对应土壤空气的情况 + .set(SurvDeviceDeploy::getLastsyncTime, nowTime)); + + //处理报警 + if(survDeviceDeploy != null){ + alertRecordService.saveBaojingV2(baowenMap,survDeviceDeploy,deviceDeployMap); + } + } + + + public SurvTransdataFlowmeter getOneByDeviceId(String deployId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(SurvTransdataFlowmeter::getDeployId,deployId).last("limit 1"); + return getOne(queryWrapper); + } +} diff --git a/src/main/java/com/lanhai/task/MultithreadTask.java b/src/main/java/com/lanhai/task/MultithreadTask.java index f206cda..1108cee 100644 --- a/src/main/java/com/lanhai/task/MultithreadTask.java +++ b/src/main/java/com/lanhai/task/MultithreadTask.java @@ -66,6 +66,8 @@ public class MultithreadTask { deviceType.add(PollutionConstants.AIR_SURV); deviceType.add(PollutionConstants.SOIL_SURV); deviceType.add(PollutionConstants.WATER_QULITY); + deviceType.add(PollutionConstants.FLOWMETER); + List protocolList = new ArrayList(){ {add(IotConstants.xph_v2); add(IotConstants.tuya_standard); diff --git a/src/main/java/com/lanhai/util/SdrkUtils.java b/src/main/java/com/lanhai/util/SdrkUtils.java index 8ca57df..401c167 100644 --- a/src/main/java/com/lanhai/util/SdrkUtils.java +++ b/src/main/java/com/lanhai/util/SdrkUtils.java @@ -2,6 +2,9 @@ package com.lanhai.util; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; +import com.lanhai.constant.PollutionConstants; +import com.lanhai.enums.DeviceDeployEnum; +import com.lanhai.service.*; import com.xxl.job.core.context.XxlJobHelper; import com.lanhai.constant.IotConstants; import com.lanhai.entity.SurvConfig; @@ -12,9 +15,6 @@ import com.lanhai.o.iot.renke.RenkeDataRealTimeDetail; import com.lanhai.o.iot.renke.RenkeDataRealTimePack; import com.lanhai.o.vo.HttpResponseVo; import com.lanhai.o.vo.VOIotAccess; -import com.lanhai.service.ISurvSurvConfigService; -import com.lanhai.service.IScEquZhibiaoService; -import com.lanhai.service.ISurvTransdataSoilService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.RedisTemplate; @@ -25,10 +25,7 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -44,6 +41,7 @@ public class SdrkUtils { static ISurvSurvConfigService configService = SpringContextUtil.getBean(ISurvSurvConfigService.class); static IScEquZhibiaoService scEquZhibiaoService = SpringContextUtil.getBean(IScEquZhibiaoService.class); static ISurvTransdataSoilService survTransdataSoilService = SpringContextUtil.getBean(ISurvTransdataSoilService.class); + static ISurvTransdataFlowmeterService flowmeterService = SpringContextUtil.getBean(ISurvTransdataFlowmeterService.class); private static String domain = "http://www.0531yun.com"; @@ -96,8 +94,14 @@ public class SdrkUtils { } } } + if(dataMap.size()>1){//不值包含mn - survTransdataSoilService.saveBaowen(dataMap, deploy,deviceDeployMap); + if(DeviceDeployEnum.SURV_SOIL.getType().equals(deploy.getDeployType())){//土壤监测设备 + survTransdataSoilService.saveBaowen(dataMap, deploy,deviceDeployMap); + }else if(DeviceDeployEnum.FLOWMETER.getType().equals(deploy.getDeployType())){ + flowmeterService.saveBaowen(dataMap, deploy,deviceDeployMap); + } + } } } @@ -223,11 +227,12 @@ public class SdrkUtils { return null; } String token = getToken(voIotAccess.getAppId(),voIotAccess.getAppSecret()); - String url = domain + "/api/data/getRealTimeDataByDeviceAddr?deviceAddrs={deviceAddrs}"; + String url = domain + "/api/data/getRealTimeDataByDeviceAddr?deviceAddrs={deviceAddrs}&rc={rc}"; Map headerMap = new HashMap<>(); headerMap.put("authorization",token); Map requestMap = new HashMap<>(); requestMap.put("deviceAddrs",deploy.getDeployCode()); + requestMap.put("rc", UUID.randomUUID().toString().replace("-","")); String result = HttpReqestUtils.getExchangeImgs(url,requestMap,headerMap); XxlJobHelper.log("===============实时数据返回:{}===========",result); log.warn("===============实时数据返回:{}===========",result);