Prechádzať zdrojové kódy

【feat】 添加对外服务 api

523096025 1 rok pred
rodič
commit
c3d03b9a57
16 zmenil súbory, kde vykonal 226 pridanie a 44 odobranie
  1. 11 0
      huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/controller/OpenApi.java
  2. 2 0
      huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/service/IEartagData2Service.java
  3. 29 0
      huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/service/impl/EartagData2ServiceImpl.java
  4. 3 3
      huimv-eartag2-platform/huimv-eartag2-api/src/main/resources/application-prod2.yml
  5. 1 0
      huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/ResultCode.java
  6. 1 0
      huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/CacheServiceImpl.java
  7. 11 1
      huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java
  8. 16 0
      huimv-eartag2-platform/huimv-eartag2-eartag/src/test/java/com/huimv/eartag2/eartag/service/ServiceTest.java
  9. 3 0
      huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/service/impl/DataServiceImpl.java
  10. 3 0
      huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/service/impl/EartagServiceImpl.java
  11. 2 2
      huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties
  12. 70 24
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/schedule/EartagTask.java
  13. 39 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/schedule/NumberUtils.java
  14. 28 13
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java
  15. 3 1
      huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagServiceImpl.java
  16. 4 0
      huimv-eartag2-platform/huimv-eartag2-manage2/src/test/java/com/huimv/eartag2/manange2/CodeGenerator.java

+ 11 - 0
huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/controller/OpenApi.java

@@ -1,10 +1,15 @@
 package com.huimv.eartag2.api.controller;
 
 import com.huimv.eartag2.api.service.IEartagData2Service;
+import com.huimv.eartag2.common.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 @RestController
 @RequestMapping("/openApi")
 public class OpenApi {
@@ -12,5 +17,11 @@ public class OpenApi {
     @Autowired
     private IEartagData2Service eartagDataService;
 
+    @PostMapping("/getEartagDataByUser")
+    public Result getEartagDataByUser(@RequestBody Map<String, String> maps){
+        return eartagDataService.getEartagDataByUser(maps);
+    }
+
+
 
 }

+ 2 - 0
huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/service/IEartagData2Service.java

@@ -35,4 +35,6 @@ public interface IEartagData2Service extends IService<EartagData2> {
     Result getEnvByTimePanan(Map<String, String> map);
 
     Result getEnvLast(Map<String, String> map);
+
+    Result getEartagDataByUser(Map<String, String> maps);
 }

+ 29 - 0
huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/service/impl/EartagData2ServiceImpl.java

@@ -265,4 +265,33 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
         List<EartagData2> eartagData2List = this.list(new QueryWrapper<EartagData2>().eq("earmark", earmark).orderByDesc("add_time").last(String.format("limit %s", quantity)));
         return new Result(ResultCode.SUCCESS,eartagData2List);
     }
+
+    @Override
+    public Result getEartagDataByUser(Map<String, String> maps) {
+        try {
+            String account = maps.get("account");
+            String password = maps.get("password");
+            String startDate = maps.get("startDate");
+            String endDate = maps.get("endDate");
+            SysAccountMultilevel count = sysAccountMultilevelMapper.selectOne(new QueryWrapper<SysAccountMultilevel>().eq("account", account).eq("password", password));
+            if (ObjectUtil.isEmpty(count)){
+                return new Result(10001,"账号密码错误",false);
+            }
+            QueryWrapper<EartagData2> wrapper = new QueryWrapper<>();
+            Date date = new Date();
+            if (StringUtils.isBlank(startDate)){
+                wrapper.ge("ask_time",DateUtil.beginOfDay(date));
+            }else {
+                wrapper.ge("ask_time",DateUtil.parse(startDate));
+                wrapper.le(StringUtils.isNotBlank(endDate),"ask_time",DateUtil.parse(endDate));
+            }
+            String farmIds = count.getFarmIds();
+            wrapper.eq("farm_id", farmIds);
+            wrapper.orderByDesc("id");
+            return new Result(ResultCode.SUCCESSLIST,this.list(wrapper));
+        }catch (Exception e){
+            return new Result(10002,e.toString(),false);
+        }
+
+    }
 }

+ 3 - 3
huimv-eartag2-platform/huimv-eartag2-api/src/main/resources/application-prod2.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8099
+  port: 8093
 spring:
   application:
     name: huimv-eartag2-api
@@ -21,8 +21,8 @@ spring:
   #redis
   redis:
     database: 0
-#    host: 121.36.134.218
-    host: 10.0.0.14
+    host: 121.36.134.218
+#    host: 10.0.0.14
     port: 6379
     password: hm123456
     timeout: 5000ms

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/utils/ResultCode.java

@@ -2,6 +2,7 @@ package com.huimv.eartag2.common.utils;
 
 public enum ResultCode {
     SUCCESS(true,10000,"操作成功!"),
+    SUCCESSLIST(true,10000,"查询成功!"),
     //---系统错误返回码-----
     FAIL(false,10001,"操作失败"),
     UNAUTHENTICATED(false,10002,"您还未登录"),

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-device/src/main/java/com/huimv/eartag2/device/service/impl/CacheServiceImpl.java

@@ -41,6 +41,7 @@ public class CacheServiceImpl implements ICacheService {
         return entriesMap;
     }
 
+
     @Override
     public Object getHashProperty(String hashKey, String fieldName) {
         Object obj = redisTemplate.opsForHash().get(hashKey, fieldName);

+ 11 - 1
huimv-eartag2-platform/huimv-eartag2-eartag/src/main/java/com/huimv/eartag2/eartag/service/impl/EartagServiceImpl.java

@@ -709,8 +709,18 @@ public class EartagServiceImpl implements IEartagService {
         Example<EartagEartagRegister2Entity> example = Example.of(eartagEartagRegister2Entity);
         Optional<EartagEartagRegister2Entity> optional = eartagEartagRegister2EntityRepo.findOne(example);
         if (optional.isPresent()) {
+
+            EartagResetCountEntity eartagResetCountEntity = new EartagResetCountEntity();
+            eartagResetCountEntity.setEarmark(earmark);
+            Example<EartagResetCountEntity> example1 = Example.of(eartagResetCountEntity);
+            List<EartagResetCountEntity> all = eartagResetCountEntityRepo.findAll(example1);
+            Integer timers = 0;
+            for (EartagResetCountEntity resetCountEntity : all) {
+                timers += resetCountEntity.getTimes();
+            }
+
             EartagEartagRegister2Entity eartagEartagRegister2Entity2 = optional.get();
-            eartagEartagRegister2Entity2.setRebootTimes(resetTimes);
+            eartagEartagRegister2Entity2.setRebootTimes(timers);
             eartagEartagRegister2EntityRepo.saveAndFlush(eartagEartagRegister2Entity2);
         }
     }

+ 16 - 0
huimv-eartag2-platform/huimv-eartag2-eartag/src/test/java/com/huimv/eartag2/eartag/service/ServiceTest.java

@@ -2,10 +2,13 @@ package com.huimv.eartag2.eartag.service;
 
 import com.huimv.eartag2.common.service.IBaseConfigService;
 import com.huimv.eartag2.common.service.impl.BaseConfigServiceImpl;
+import com.huimv.eartag2.common.utils.BizConst;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.core.HashOperations;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.util.Map;
@@ -24,10 +27,23 @@ public class ServiceTest {
 
     @Autowired
     private IBaseConfigService iBaseConfigService;
+    @Autowired
+    private RedisTemplate redisTemplate;
 
     @Test
     public void test_1(){
         Map map = iBaseConfigService.getConfigValue("dropDataEartagOffLineTime","330784002","0");
         System.out.println("map.toString="+map.toString());
     }
+    @Test
+    public  void s() {
+//        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
+        String hashKey ="hash:register:device:330784001000009";
+        HashOperations hashOperations = redisTemplate.opsForHash();
+
+        System.out.println(hashOperations.get(hashKey,"farmId"));
+        hashOperations.put(hashKey, "farmId", "220101001");
+        System.out.println(hashOperations.get(hashKey,"farmId"));
+    }
+
 }

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/service/impl/DataServiceImpl.java

@@ -761,6 +761,9 @@ public class DataServiceImpl implements IDataService {
         Object lastAct = redisTemplate.opsForHash().get(deviceCode, "act");
         Integer act1 = Integer.parseInt(nowAct) - Integer.parseInt(lastAct.toString());
 //        redisTemplate.opsForHash().put(deviceCode, "act1", act1);
+        if(act1<0){
+            return Integer.parseInt(nowAct);
+        }
         return act1;
     }
 

+ 3 - 0
huimv-eartag2-platform/huimv-eartag2-input/src/main/java/com/huimv/eartag2/service/impl/EartagServiceImpl.java

@@ -81,6 +81,9 @@ public class EartagServiceImpl implements IEartagService {
         Object lastAct = redisTemplate.opsForHash().get(deviceCode, "act");
         Integer act1 = Integer.parseInt(nowAct) - Integer.parseInt(lastAct.toString());
 //        redisTemplate.opsForHash().put(deviceCode, "act1", act1);
+        if(act1<0){
+            return Integer.parseInt(nowAct);
+        }
         return act1;
     }
 

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-input/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-#spring.profiles.active=prod2
-spring.profiles.active=dev
+spring.profiles.active=prod2
+#spring.profiles.active=dev
 
 #¿ªÆô½¡¿µ¼à¿Ø
 management.endpoints.web.exposure.include=*

+ 70 - 24
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/schedule/EartagTask.java

@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.eartag2.common.utils.MathUtil;
 import com.huimv.eartag2.manage2.mapper.*;
 import com.huimv.eartag2.manage2.pojo.*;
 import com.huimv.eartag2.manage2.service.EartagDeviceRegisterService;
@@ -57,6 +58,8 @@ public class EartagTask {
     private String pigPrice;
     @Autowired
     private FarmerDayageWeightMapper farmerDayageWeightMapper;
+    @Autowired
+    private EartagData2Mapper eartagData2Mapper;
 
 
 /**
@@ -84,7 +87,6 @@ public class EartagTask {
     }
 
 
-
 /**
      * @Method : updateDevice
      * @Description : 判断设备离线状态
@@ -96,7 +98,8 @@ public class EartagTask {
      */
 
     // 5分钟
-//    @Scheduled(cron = "0 0/5 * * * ? ")
+//    @Scheduled(cron = "0 * * * * ? ")
+    @Scheduled(cron = "0 0 * * * ? ")
     private void updateDevice() {
         List<SysBaseConfig> baseConfig = baseConfigService.list(new QueryWrapper<SysBaseConfig>().groupBy("row_id"));
 
@@ -106,33 +109,76 @@ public class EartagTask {
             SysBaseConfig one = baseConfigService.getOne(new QueryWrapper<SysBaseConfig>().eq("row_id", rowId).eq("config_key", "deviceOfflineTime"));
 
             String configValueStr = one.getConfigValue();
-            if (StringUtils.isNotBlank(configValueStr)) {
-                int configValueInt = Integer.parseInt(configValueStr);
-                DateTime dateTime = DateUtil.offsetMinute(new Date(), -configValueInt);
-
-                UpdateWrapper<EartagDeviceRegister> wrapper = new UpdateWrapper<>();
-                wrapper.ge("last_time", dateTime);
-                EartagDeviceRegister deviceRegister = new EartagDeviceRegister();
-                //未离线
-                deviceRegister.setActiveStatus(1);
-                deviceRegister.setDeviceStatus(1);
-                deviceRegisterService.update(deviceRegister, wrapper);
-
-                //离线
-                deviceRegister.setActiveStatus(2);
-                deviceRegister.setDeviceStatus(0);
-                wrapper.clear();
-                wrapper.le("last_time", dateTime);
-                deviceRegisterService.update(deviceRegister, wrapper);
-            } else {
-                System.out.println("未设置定时时长");
+            if (StringUtils.isBlank(configValueStr)) {
+                configValueStr ="1440";
             }
 
-            System.out.println("测试数据");
-        }
+            int configValueInt = Integer.parseInt(configValueStr);
+            DateTime dateTime = DateUtil.offsetMinute(new Date(), -configValueInt);
+
+            UpdateWrapper<EartagDeviceRegister> wrapper = new UpdateWrapper<>();
+            wrapper.ge("last_time", dateTime);
+            EartagDeviceRegister deviceRegister = new EartagDeviceRegister();
+            //未离线
+            deviceRegister.setActiveStatus(1);
+            deviceRegister.setDeviceStatus(1);
+            deviceRegisterService.update(deviceRegister, wrapper);
 
+            //离线
+            deviceRegister.setActiveStatus(2);
+            deviceRegister.setDeviceStatus(0);
+            wrapper.clear();
+            wrapper.le("last_time", dateTime).or().isNull("last_time");
+            deviceRegisterService.update(deviceRegister, wrapper);
+        }
     }
 
+//    @Scheduled(cron = "59 0/11 * * * ? ")
+//    private void updateEartag() {
+//        String farmId ="330784001";
+//        List<EartagEartagRegister2> eartagEartagRegister2s = eartagEartagRegister2Mapper.selectList(new QueryWrapper<EartagEartagRegister2>().eq("farm_id", farmId).ne("earmark", "311111122220006"));
+//        EartagEartagRegister2 earmark = eartagEartagRegister2Mapper.selectOne(new QueryWrapper<EartagEartagRegister2>().eq("earmark", "311111122220006"));
+//        System.out.println("----start----");
+//        int i = 3;
+//        int x = 7;
+//        Date lastTime = earmark.getLastTime();
+//        for (EartagEartagRegister2 eartagEartagRegister2 : eartagEartagRegister2s) {
+//            DateTime dateTime = DateUtil.offsetMinute(lastTime, -i);
+//            DateTime dateTime1 = DateUtil.offsetSecond(dateTime, -x);
+//            eartagEartagRegister2.setLastTime(dateTime1);
+//            eartagEartagRegister2Mapper.updateById(eartagEartagRegister2);
+//           i= i+3;
+//           x = x +5;
+//            EartagData2 eartagData2 = new EartagData2();
+//            eartagData2.setEarTemp1(eartagEartagRegister2.getEarTemp1()+Float.parseFloat(NumberUtils.getNum(-1,1,1)));
+//            eartagData2.setAct(eartagEartagRegister2.getAct());
+//            eartagData2.setAct1(eartagEartagRegister2.getAct());
+//            eartagData2.setAskDate(eartagEartagRegister2.getLastTime());
+//            eartagData2.setAddTime(eartagEartagRegister2.getLastTime());
+//            eartagData2.setBat(eartagEartagRegister2.getBat());
+//            eartagData2.setEarmark(eartagEartagRegister2.getEarmark());
+//            eartagData2.setDevice(eartagEartagRegister2.getLastDevice());
+//            eartagData2.setEnvTemp1(eartagEartagRegister2.getEnvTemp1()+Float.parseFloat(NumberUtils.getNum(-1,1,1)));
+//            eartagData2Mapper.insert(eartagData2);
+//        }
+//
+//        earmark.setLastTime(DateUtil.offsetSecond(new Date(),11));
+//
+//        eartagEartagRegister2Mapper.updateById(earmark);
+//        EartagData2 eartagData2 = new EartagData2();
+//        eartagData2.setEarTemp1(earmark.getEarTemp1()+Float.parseFloat(NumberUtils.getNum(-1,1,1)));
+//        eartagData2.setAct(earmark.getAct());
+//        eartagData2.setAct1(earmark.getAct());
+//        eartagData2.setAskDate(earmark.getLastTime());
+//        eartagData2.setAddTime(earmark.getLastTime());
+//        eartagData2.setBat(earmark.getBat());
+//        eartagData2.setEarmark(earmark.getEarmark());
+//        eartagData2.setDevice(earmark.getLastDevice());
+//        eartagData2.setEnvTemp1(earmark.getEnvTemp1()+Float.parseFloat(NumberUtils.getNum(-1,1,1)));
+//        eartagData2Mapper.insert(eartagData2);
+
+//    }
+
 //    @Scheduled(cron = "0 0 0/6 * * ? ")
     private void countAssetInEveryMonth() throws ParseException {
         //--读取所有农户和采集器

+ 39 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/schedule/NumberUtils.java

@@ -0,0 +1,39 @@
+package com.huimv.eartag2.manage2.schedule;
+
+
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+
+import java.text.DecimalFormat;
+import java.util.Random;
+
+public class NumberUtils {
+
+    public static DecimalFormat df = new DecimalFormat("#,##0.00");
+    public static String format(String str) {
+        if (StringUtils.isBlank(str)){
+            return "0.00";
+        }
+        return df.format(Double.valueOf(str));
+    }
+    //num 是小数位数
+    public static String getNum(Integer min,Integer max, Integer num) {
+        Random rand = new Random();
+        int result = rand.nextInt(max - min ) +min;
+        if (num >0){
+            return result+"."+(rand.nextInt((int) Math.pow(10,num)));
+        }
+        return  result+"";
+    }
+    // 是小数位数
+    public static String getNumFloat(Double min, Double max) {
+        double v = Math.random() * (max - min) + min;
+        DecimalFormat df = new DecimalFormat("0.0");
+        return df.format(v);
+    }
+
+    public static String getNumFloat2(Double min, Double max) {
+        double v = Math.random() * (max - min) + min;
+        DecimalFormat df = new DecimalFormat("0.00");
+        return df.format(v);
+    }
+}

+ 28 - 13
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java

@@ -42,6 +42,9 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
     @Autowired
     private EartagData2Mapper eartagData2Mapper;
 
+    @Autowired
+    private EartagHourActMapper eartagHourAct;
+
     @Override
     public Result listFarmUnitEartagData(Map<String, String> params) {
         String pageSize = params.get("pageSize");
@@ -86,16 +89,12 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         if (user.getIsUser() == 0){
          for (EartagEartagRegister2 record : page.getRecords()) {
              String earmark1 = record.getEarmark();
-             EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
-//             EartagData2 eartagData2Temp = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).ge("ask_time",DateUtil.beginOfDay(new Date())).orderByDesc("ear_temp1").last("limit 1"));
-//             if (ObjectUtil.isNotEmpty(eartagData2Temp)){
-//                 record.setEarTemp1(eartagData2Temp.getEarTemp1());
+//             EartagData2 eartagData2 = eartagData2Mapper.selectOne(new QueryWrapper<EartagData2>().eq("earmark",earmark1).orderByDesc("id").last("limit 1"));
+//             if (ObjectUtil.isNotEmpty(eartagData2)){
+//                 record.setAct(eartagData2.getAct());
 //             }
-             if (ObjectUtil.isNotEmpty(eartagData2)){
-                 record.setAct(eartagData2.getAct());
-             }
             Float earTemp1 = record.getEarTemp1();
-            Long act = record.getAct();
+
                 if (earTemp1 >40){
                     record.setEarTemp1(40F);
                 }
@@ -106,12 +105,20 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
 
                     record.setEarTemp1(Float.parseFloat(str));
                 }
-                if (act >300){
-                    record.setAct(300L);
-                }
-                if (act<0){
-                    record.setAct(0L);
+             EartagHourAct eartagHourAct = this.eartagHourAct.selectOne(new QueryWrapper<EartagHourAct>().eq("earmark", earmark1).orderByDesc("id").last("limit 1"));
+                Integer act = 0;
+                if (ObjectUtil.isNotEmpty(eartagHourAct)){
+                    act = eartagHourAct.getAct();
+                    if (act<0)
+                        act = 0;
                 }
+             record.setAct(act.longValue());
+//                if (act >300){
+//                    record.setAct(300L);
+//                }
+//                if (act<0){
+//                    record.setAct(0L);
+//                }
             }
         }
         Map map = new HashMap();
@@ -361,6 +368,14 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         wrapper.orderByDesc("ask_time");
         Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
         System.out.println("listUserEartagData page.getRecords().size()="+page.getRecords().size());
+        for (EartagEartagRegister2 record : page.getRecords()) {
+            List<EartagResetCount> eartagResetCounts = eartagResetCountMapper.selectList(new QueryWrapper<EartagResetCount>().eq("earmark", record.getEarmark()).eq("farm_code", record.getFarmId()));
+            Integer reboot = 0;
+            for (EartagResetCount eartagResetCount : eartagResetCounts) {
+                reboot += eartagResetCount.getTimes();
+            }
+            record.setRebootTimes(reboot);
+        }
 //        int i=0;
 //        for (EartagEartagRegister2 record : page.getRecords()) {
 //            System.out.println("------------> i="+(++i));

+ 3 - 1
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagServiceImpl.java

@@ -97,8 +97,10 @@ public class EartagServiceImpl implements IEartagService {
                         offlineTimes++;
                         if(offlineSb.length()>0){
                             offlineSb.append(",");
+                        }if (eartagEartagRegister2.getLiveStatus() == 1){
+                            offlineSb.append(eartagEartagRegister2.getEarmark());
                         }
-                        offlineSb.append(eartagEartagRegister2.getEarmark());
+
                     }else{
                         eartagEartagRegister2.setLiveStatus(1);
                         onlineTimes++;

+ 4 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/test/java/com/huimv/eartag2/manange2/CodeGenerator.java

@@ -17,7 +17,10 @@ import com.baomidou.mybatisplus.generator.config.PackageConfig;
 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
 import com.baomidou.mybatisplus.generator.config.rules.DateType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.huimv.eartag2.common.utils.BizConst;
+import org.junit.Test;
 import org.junit.platform.commons.util.StringUtils;
+import org.springframework.data.redis.core.RedisTemplate;
 
 import java.util.Scanner;
 
@@ -42,6 +45,7 @@ public class CodeGenerator {
 
 
 
+
     public static void main(String[] args) {
         // 代码生成器
         AutoGenerator mpg = new AutoGenerator();