Newspaper hace 1 año
padre
commit
2112fe3409

+ 4 - 2
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/config/RestTemplateConfig.java

@@ -15,6 +15,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 import org.springframework.http.client.ClientHttpRequestFactory;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
@@ -38,13 +39,14 @@ public class RestTemplateConfig {
     @Bean
     public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory lettuceConnectionFactory){
         RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
+        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
         //设置String类型的key设置序列化器
         redisTemplate.setKeySerializer(new StringRedisSerializer());
 
         //设置Hash类型的key设置序列化器
         redisTemplate.setHashKeySerializer(new StringRedisSerializer());
-        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
-        redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
+        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
+        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
         //设置redis链接Lettuce工厂
         redisTemplate.setConnectionFactory(lettuceConnectionFactory);
         return redisTemplate;

+ 22 - 0
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/mapper/SysBaseConfigMapper.java

@@ -0,0 +1,22 @@
+package com.huimv.eartag2.eartag.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.eartag2.eartag.pojo.SysBaseConfig;
+import io.lettuce.core.dynamic.annotation.Param;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author zn
+ * @since 2022-07-19
+ */
+
+@Component
+public interface SysBaseConfigMapper extends BaseMapper<SysBaseConfig> {
+
+}

+ 40 - 0
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/pojo/SysBaseConfig.java

@@ -0,0 +1,40 @@
+package com.huimv.eartag2.eartag.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zn
+ * @since 2022-07-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class SysBaseConfig implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+     private Integer id;
+
+    @TableLogic
+    private  byte isDeleted;
+
+    private String configName;
+
+    private String configKey;
+
+    private String configValue;
+
+    private String rowId;
+
+
+}

+ 17 - 0
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/SysBaseConfigService.java

@@ -0,0 +1,17 @@
+package com.huimv.eartag2.eartag.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.eartag2.eartag.pojo.SysBaseConfig;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-07-19
+ */
+public interface SysBaseConfigService extends IService<SysBaseConfig> {
+
+}

+ 33 - 13
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -9,7 +9,9 @@ import com.huimv.eartag2.common.service.IBaseConfigService;
 import com.huimv.eartag2.common.utils.BizConst;
 import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.eartag.mapper.EartagData2Mapper;
+import com.huimv.eartag2.eartag.mapper.SysBaseConfigMapper;
 import com.huimv.eartag2.eartag.pojo.EartagData;
+import com.huimv.eartag2.eartag.pojo.SysBaseConfig;
 import com.huimv.eartag2.eartag.service.ICacheService;
 import com.huimv.eartag2.eartag.service.IDeviceService;
 import com.huimv.eartag2.eartag.service.IEartagService;
@@ -101,6 +103,8 @@ public class EartagServiceImpl implements IEartagService {
     private BaseFarmRepo baseFarmRepo;
     @Autowired
     private RestTemplate restTemplate;
+    @Autowired
+    private SysBaseConfigMapper sysBaseConfigMapper;
 
     @Override
     public void handleEartag(JSONObject dataJo) throws ParseException {
@@ -417,20 +421,34 @@ public class EartagServiceImpl implements IEartagService {
     private void handleEartempAlarmAndCount(JSONObject dataJo, java.sql.Date todayDate, Timestamp nowTimestamp, String farmCode) {
         String earmark = dataJo.getString("earmark");
         System.out.println("farmCode================" + farmCode);
-        // {获取异常耳标阈值最大值或最小值}
-//        Map maxAndMinMap = getMaxAndMinEartemp(farmCode);
-        Map maxAndMinMap = getMaxAndMin2(farmCode, "eartagMaxTem", "eartagMinTem");
-        System.out.println("maxAndMinMap>>>>>>>>>>>>>>>>>>>>>>>>>>>" + maxAndMinMap.toString());
-        if (!(maxAndMinMap.get("eartagMaxTem") instanceof Integer)) {
-            return;
-        }
-        if (!(maxAndMinMap.get("eartagMinTem") instanceof Integer)) {
-            return;
+        String eartagMaxTem = null,eartagMinTem = null;
+
+        String hashKey = BizConst.HASH_EARTEMP_TH_PREFIX + farmCode;
+        Object maxTem = redisTemplate.opsForHash().get(hashKey, "eartagMaxTem");
+        Object minTem = redisTemplate.opsForHash().get(hashKey, "eartagMaxTem");
+        
+        if (ObjectUtil.isEmpty(maxTem) || ObjectUtil.isEmpty(minTem)){
+            SysBaseConfig baseConfig = sysBaseConfigMapper.selectOne(new QueryWrapper<SysBaseConfig>().lambda()
+                    .eq(SysBaseConfig::getConfigKey, "farmCode")
+                    .eq(SysBaseConfig::getConfigValue, farmCode));
+            if (ObjectUtil.isNotEmpty(baseConfig)){
+                eartagMaxTem = sysBaseConfigMapper.selectOne(new QueryWrapper<SysBaseConfig>()
+                        .lambda().eq(SysBaseConfig::getRowId, baseConfig.getRowId())
+                        .eq(SysBaseConfig::getConfigKey, "eartagMaxTem")).getConfigValue();
+                eartagMinTem = sysBaseConfigMapper.selectOne(new QueryWrapper<SysBaseConfig>()
+                        .lambda().eq(SysBaseConfig::getRowId, baseConfig.getRowId())
+                        .eq(SysBaseConfig::getConfigKey, "eartagMinTem")).getConfigValue();
+                redisTemplate.opsForHash().put(hashKey,"eartagMaxTem",eartagMaxTem);
+                redisTemplate.opsForHash().put(hashKey,"eartagMinTem",eartagMinTem);
+            }
+        }else {
+            eartagMaxTem = maxTem.toString();
+            eartagMinTem = minTem.toString();
         }
-        System.out.println(ObjectUtil.isEmpty(maxAndMinMap.get("eartagMaxTem")));
-        System.out.println(ObjectUtil.isEmpty(maxAndMinMap.get("eartagMinTem")));
-        BigDecimal configMaxTempBd = new BigDecimal(maxAndMinMap.get("eartagMaxTem").toString());
-        BigDecimal configMinTempBd = new BigDecimal(maxAndMinMap.get("eartagMinTem").toString());
+        System.out.println(eartagMaxTem);
+        System.out.println(eartagMinTem);
+        BigDecimal configMaxTempBd = new BigDecimal(eartagMaxTem);
+        BigDecimal configMinTempBd = new BigDecimal(eartagMinTem);
         BigDecimal earTemp1Bd = new BigDecimal(dataJo.getString("earTemp1"));
         if (earTemp1Bd.compareTo(configMaxTempBd) >= 0) {
             // 保存耳标高温报警
@@ -467,6 +485,8 @@ public class EartagServiceImpl implements IEartagService {
             //低温次数记录
             saveEartagTempDataCount(todayDate, nowTimestamp, farmCode);
         }
+
+
     }
 
     // 保存异常耳标温度计数

+ 21 - 0
huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/SysBaseConfigServiceImpl.java

@@ -0,0 +1,21 @@
+package com.huimv.eartag2.eartag.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag2.eartag.mapper.SysBaseConfigMapper;
+import com.huimv.eartag2.eartag.pojo.SysBaseConfig;
+import com.huimv.eartag2.eartag.service.SysBaseConfigService;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author zn
+ * @since 2022-07-19
+ */
+@Service
+public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, SysBaseConfig> implements SysBaseConfigService {
+
+}

+ 1 - 1
huimv-eartag2-eartag/src/main/resources/bootstrap.yml

@@ -1,6 +1,6 @@
 spring:
   application:
-    name: huimv-eartag2-eartag2
+    name: huimv-eartag2-eartag
   profiles:
     active: dev
   cloud:

+ 6 - 0
huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagDeviceRegisterServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.eartag2.manage2.mapper.BaseFarmMapper;
 import com.huimv.eartag2.manage2.pojo.BaseFarmer;
 import com.huimv.eartag2.manage2.pojo.EartagDeviceRegister;
 import com.huimv.eartag2.manage2.utils.IDUtil;
@@ -44,6 +45,8 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
     @Resource
     private BaseFarmerMapper baseFarmerMapper;
     @Resource
+    private BaseFarmMapper baseFarmMapper;
+    @Resource
     private BasePigpenMapper basePigpenMapper;
     @Autowired
     private ResultUtil resultUtil;
@@ -204,6 +207,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
     @Override
     public Result add(Map<String, String> mapList) {
         String deviceType = mapList.get("deviceType");
+        String farmName = baseFarmMapper.selectById(mapList.get("farmId")).getFarmName();
         if ("1".equals(deviceType)){
             //采集器
             String farmId = mapList.get("farmId");
@@ -217,6 +221,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             System.out.println(deviceCode);
             EartagDeviceRegister eartagDeviceRegister = new EartagDeviceRegister();
             eartagDeviceRegister.setChipId(chipId);
+            eartagDeviceRegister.setFarmerName(farmName);
             eartagDeviceRegister.setDeviceAlias(deviceAlias);
             eartagDeviceRegister.setDeviceCode(deviceCode);
             eartagDeviceRegister.setActiveStatus(Integer.valueOf(activeStatus));
@@ -258,6 +263,7 @@ public class EartagDeviceRegisterServiceImpl extends ServiceImpl<EartagDeviceReg
             String deviceCode = (String)getDeviceCode(farmId).getData();
             EartagDeviceRegister eartagDeviceRegister = new EartagDeviceRegister();
             eartagDeviceRegister.setFarmId(farmId);
+            eartagDeviceRegister.setFarmName(farmName);
             eartagDeviceRegister.setDeviceCode(deviceCode);
             eartagDeviceRegister.setDeviceType(Integer.parseInt(deviceType));
             eartagDeviceRegister.setRemark(remark);

+ 9 - 1
huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/SysBaseConfigServiceImpl.java

@@ -3,6 +3,7 @@ package com.huimv.eartag2.manage2.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.eartag2.common.utils.BizConst;
 import com.huimv.eartag2.manage2.pojo.BaseFarm;
 import com.huimv.eartag2.manage2.pojo.EartagDeviceRegister;
 import com.huimv.eartag2.manage2.pojo.SysBaseConfig;
@@ -18,6 +19,7 @@ import com.huimv.eartag2.manage2.vo.SysBaseConfigVo;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
@@ -48,6 +50,8 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
     private EartagDeviceRegisterMapper eartagDeviceRegisterMapper;
     @Autowired
     private RestTemplate restTemplate;
+    @Autowired
+    private RedisTemplate redisTemplate;
 
     @Override
     public Result add(List<Map<String, String>> mapList) {
@@ -327,10 +331,11 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
         wrapper.eq("config_key","eartagMaxTem");
         wrapper.eq("row_id",rowId);
         SysBaseConfig eartagMaxTemSys = sysBaseConfigMapper.selectOne(wrapper);
-
+        String hashKey = BizConst.HASH_EARTEMP_TH_PREFIX + farmId;
         if (ObjectUtil.isNotEmpty(eartagMaxTemSys)){
             eartagMaxTemSys.setConfigValue(eartagMaxTem);
             sysBaseConfigMapper.updateById(eartagMaxTemSys);
+
         }else {
             SysBaseConfig newBaseConfig = new SysBaseConfig();
             newBaseConfig.setConfigKey("eartagMaxTem");
@@ -392,6 +397,9 @@ public class SysBaseConfigServiceImpl extends ServiceImpl<SysBaseConfigMapper, S
             newBaseConfig.setRowId(rowId);
             sysBaseConfigMapper.insert(newBaseConfig);
         }
+        redisTemplate.opsForHash().delete(hashKey);
+        redisTemplate.opsForHash().put(hashKey,"eartagMaxTem",eartagMaxTem);
+        redisTemplate.opsForHash().put(hashKey,"eartagMinTem",eartagMinTem);
 
         return new Result(10000,"修改成功",true);