Browse Source

【feat】获取设备编码

chengjing 2 years ago
parent
commit
db75ab215a

+ 20 - 0
registration-center/src/main/java/com/huimv/center/controller/BizDeviceRegisterController.java

@@ -1,8 +1,11 @@
 package com.huimv.center.controller;
 package com.huimv.center.controller;
 
 
 
 
+import com.huimv.center.pojo.BizFarm;
 import com.huimv.center.service.BizDeviceRegisterService;
 import com.huimv.center.service.BizDeviceRegisterService;
+import com.huimv.center.service.BizFarmService;
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.common.utils.Result;
+import com.huimv.eartag2.common.utils.ResultCode;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -10,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.ParseException;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -27,6 +31,10 @@ public class BizDeviceRegisterController {
     @Autowired
     @Autowired
     private BizDeviceRegisterService bizDeviceRegisterService;
     private BizDeviceRegisterService bizDeviceRegisterService;
 
 
+    @Resource
+    private BizFarmService bizFarmService;
+
+
     @PostMapping("/add")
     @PostMapping("/add")
     public Result add(@RequestBody Map<String, Object> paramsMap) throws ParseException {
     public Result add(@RequestBody Map<String, Object> paramsMap) throws ParseException {
         String chipId = paramsMap.get("chipId")+"";
         String chipId = paramsMap.get("chipId")+"";
@@ -99,5 +107,17 @@ public class BizDeviceRegisterController {
     public Result synchronizationData(@RequestBody Map<String, String> paramsMap){
     public Result synchronizationData(@RequestBody Map<String, String> paramsMap){
         return bizDeviceRegisterService.synchronizationData(paramsMap);
         return bizDeviceRegisterService.synchronizationData(paramsMap);
     }
     }
+
+    @PostMapping("/getDeviceCode")
+    public Result getDeviceCode(@RequestBody String farmCode){
+        //查询牧场表  获取行政编码 牧场编码
+        BizFarm bizFarmByFarmCode = bizFarmService.getBizFarmByFarmCode(farmCode);
+        String areaCode = bizFarmByFarmCode.getAreaCode();
+        //查询基站顺序码
+        String subFarmCode = bizDeviceRegisterService.getBizDeviceRegisterByFarmCode(farmCode);
+        //拼接返回
+        String resultDeviceCode = areaCode.concat(farmCode).concat(subFarmCode);
+        return new Result(ResultCode.SUCCESS,resultDeviceCode);
+    }
 }
 }
 
 

+ 2 - 0
registration-center/src/main/java/com/huimv/center/service/BizDeviceRegisterService.java

@@ -32,4 +32,6 @@ public interface BizDeviceRegisterService extends IService<BizDeviceRegister> {
     Result updateDeviceAnswerTimes(String chipId) throws ParseException;
     Result updateDeviceAnswerTimes(String chipId) throws ParseException;
 
 
     Result synchronizationData(Map<String, String> paramsMap);
     Result synchronizationData(Map<String, String> paramsMap);
+
+    String getBizDeviceRegisterByFarmCode(String farmCode);
 }
 }

+ 5 - 0
registration-center/src/main/java/com/huimv/center/service/BizFarmService.java

@@ -23,4 +23,9 @@ public interface BizFarmService extends IService<BizFarm> {
     Result remove(String ids);
     Result remove(String ids);
 
 
     Result list(Integer pageNo, Integer pageSize, String farmName, String farmCode, String startDate, String endDate);
     Result list(Integer pageNo, Integer pageSize, String farmName, String farmCode, String startDate, String endDate);
+
+    /**
+     *【查询】 通过农场编码
+     */
+    BizFarm getBizFarmByFarmCode(String farmCode);
 }
 }

+ 24 - 1
registration-center/src/main/java/com/huimv/center/service/impl/BizDeviceRegisterServiceImpl.java

@@ -7,7 +7,6 @@ import com.huimv.center.mapper.BizDeviceRegisterMapper;
 import com.huimv.center.pojo.BizDeviceRegister;
 import com.huimv.center.pojo.BizDeviceRegister;
 import com.huimv.center.producer.Producer;
 import com.huimv.center.producer.Producer;
 import com.huimv.center.service.BizDeviceRegisterService;
 import com.huimv.center.service.BizDeviceRegisterService;
-//import com.huimv.center.utils.DateUtil;
 import com.huimv.center.utils.IDUtil;
 import com.huimv.center.utils.IDUtil;
 import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.common.utils.DateUtil;
 import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.common.utils.Result;
@@ -15,12 +14,15 @@ import com.huimv.eartag2.common.utils.ResultCode;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.ParseException;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -237,4 +239,25 @@ public class BizDeviceRegisterServiceImpl extends ServiceImpl<BizDeviceRegisterM
         producer.fanoutSyncDevice(map);
         producer.fanoutSyncDevice(map);
         return ResultUtil.result(1);
         return ResultUtil.result(1);
     }
     }
+
+    @Override
+    public String getBizDeviceRegisterByFarmCode(String farmCode) {
+        QueryWrapper<BizDeviceRegister> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
+        List<BizDeviceRegister> deviceRegisters = bizDeviceRegisterMapper.selectList(queryWrapper);
+        String code = builderBaseStationCode(deviceRegisters);
+        return  code;
+    }
+
+    private String builderBaseStationCode(List<BizDeviceRegister> deviceRegisters){
+        if (CollectionUtils.isEmpty(deviceRegisters)){
+            //说明没有注册过,直接返回六位顺序码
+            return "000000";
+        }else {
+            //说明注册过、获取列表中最大的数据截取后六位+1f进行返回
+            List<BizDeviceRegister>  sortList= deviceRegisters.stream().sorted(Comparator.comparing(BizDeviceRegister::getDeviceCode).reversed()).collect(Collectors.toList());
+            String maxCode = sortList.get(0).getDeviceCode().substring(sortList.get(0).getDeviceCode().length() - 6);
+            return  Integer.parseInt(maxCode)+1+"";
+        }
+    }
 }
 }

+ 13 - 0
registration-center/src/main/java/com/huimv/center/service/impl/BizFarmServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.text.ParseException;
 import java.text.ParseException;
+import java.util.List;
 import java.util.Objects;
 import java.util.Objects;
 
 
 /**
 /**
@@ -137,4 +138,16 @@ public class BizFarmServiceImpl extends ServiceImpl<BizFarmMapper, BizFarm> impl
         Page<BizFarm> pageBizFarm = BizFarmMapper.selectPage(page, queryWrapper);
         Page<BizFarm> pageBizFarm = BizFarmMapper.selectPage(page, queryWrapper);
         return new Result(ResultCode.SUCCESS,pageBizFarm);
         return new Result(ResultCode.SUCCESS,pageBizFarm);
     }
     }
+
+    @Override
+    public BizFarm getBizFarmByFarmCode(String farmCode) {
+        QueryWrapper<BizFarm> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like(StringUtils.isNotBlank(farmCode),"farm_code", farmCode);
+        List<BizFarm> bizFarms = BizFarmMapper.selectList(queryWrapper);
+        BizFarm bizFarm = new BizFarm();
+        if (bizFarms != null){
+             bizFarm = bizFarms.get(0);
+        }
+        return bizFarm;
+    }
 }
 }