Sfoglia il codice sorgente

新增设备同步功能。

zhuoning 3 anni fa
parent
commit
08742d6992

+ 3 - 3
huimv-farm-admin/src/main/java/com/huimv/admin/device/controller/DeviceController.java

@@ -45,16 +45,16 @@ public class DeviceController {
     public Result editDevice(@RequestParam(value = "deviceName",required = true) String deviceName, @RequestParam(value = "deviceCode",required = true) String deviceCode, @RequestParam(value = "deviceType",required = true) String deviceType,
                              @RequestParam(value = "factory",required = true) String factory, @RequestParam(value = "worker",required = true) String worker, @RequestParam(value = "mainParams",required = true) String mainParams,
                              @RequestParam(value = "state",required = true) Integer state, @RequestParam(value = "record",required = true) String record, @RequestParam(value = "farmId",required = true) Integer farmId,
-                             @RequestParam(value = "id",required = true) Integer id){
+                             @RequestParam(value = "id",required = true) Integer id) throws UnsupportedEncodingException {
             //
         return iDevice.editDevice(deviceName,deviceCode,deviceType,factory,worker,mainParams,state,record,farmId,id);
     }
 
     //删除设备信息
     @RequestMapping(value = "/removeDevice",method = RequestMethod.GET)
-    public Result removeDevice(@RequestParam(value = "ids",required = true) String ids, @RequestParam(value = "farmId",required = true) Integer farmId){
+    public Result removeDevice(@RequestParam(value = "id",required = true) Integer id, @RequestParam(value = "farmId",required = true) Integer farmId) throws UnsupportedEncodingException {
         //
-        return iDevice.removeDevice(ids,farmId);
+        return iDevice.removeDevice(id,farmId);
     }
 
     //列表展示设备

+ 4 - 2
huimv-farm-admin/src/main/java/com/huimv/admin/device/service/IDevice.java

@@ -9,10 +9,12 @@ public interface IDevice {
     Result newDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, String mainParams, Integer state, String record, Integer farmId) throws UnsupportedEncodingException;
 
     //
-    Result editDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, String mainParams, Integer state, String record, Integer farmId, Integer id);
+    Result editDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, String mainParams, Integer state, String record, Integer farmId, Integer id) throws UnsupportedEncodingException;
 
     //
-    Result removeDevice(String ids, Integer farmId);
+    Result removeDevice(Integer id, Integer farmId) throws UnsupportedEncodingException;
+
+    Result removeBatichDevice(String ids, Integer farmId);
 
     //
     Result listDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, Integer state, Integer farmId, String startDate, String endDate, Integer pageNo, Integer pageSize);

+ 64 - 3
huimv-farm-admin/src/main/java/com/huimv/admin/device/service/impl/DeviceImpl.java

@@ -86,7 +86,7 @@ public class DeviceImpl implements IDevice {
         if(dataSync){
             log.info("同步牧场端设备数据。");
             //从数据库查询出牧场id
-            String farmIp = "http://192.168.1.49:8091";
+            String farmIp = _getFarmIP(farmId);
             String serviceUrl = farmIp + deviceAddService;
             System.out.println("serviceUrl>>"+serviceUrl);
             String data = textUtil.encode(JSON.toJSONString(outFarmDeviceEntity));
@@ -98,6 +98,11 @@ public class DeviceImpl implements IDevice {
         return new Result(ResultCode.SUCCESS, outFarmDeviceEntity);
     }
 
+    //获取牧场
+    private String _getFarmIP(Integer farmId){
+        return  "http://192.168.1.49:8091";
+    }
+
     /**
      * @Method : editDevice
      * @Description : 编辑设备
@@ -108,7 +113,7 @@ public class DeviceImpl implements IDevice {
      * @Time : 22:03
      */
     @Override
-    public Result editDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, String mainParams, Integer state, String record, Integer farmId, Integer id) {
+    public Result editDevice(String deviceName, String deviceCode, String deviceType, String factory, String worker, String mainParams, Integer state, String record, Integer farmId, Integer id) throws UnsupportedEncodingException {
 
         Optional<FarmDeviceEntity> optional = deviceRepo.findById(id);
         if (!optional.isPresent()) {
@@ -127,6 +132,20 @@ public class DeviceImpl implements IDevice {
         deviceEntity.setState(state);
         deviceEntity.setLastTime(new Timestamp(new Date().getTime()));
         FarmDeviceEntity outFarmDeviceEntity = deviceRepo.saveAndFlush(deviceEntity);
+        log.info("数据中心添加设备信息>>"+outFarmDeviceEntity);
+        //同步牧场端设备数据
+        if(dataSync){
+            log.info("同步牧场端设备数据。");
+            //从数据库查询出牧场id
+            String farmIp = _getFarmIP(farmId);
+            String serviceUrl = farmIp + deviceEditService;
+            System.out.println("serviceUrl>>"+serviceUrl);
+            String data = textUtil.encode(JSON.toJSONString(outFarmDeviceEntity));
+            System.out.println("密文>>"+data);
+
+            //提交请求
+            httpTemplete.doPostSimple(serviceUrl,data);
+        }
         return new Result(ResultCode.SUCCESS, outFarmDeviceEntity);
     }
 
@@ -140,7 +159,49 @@ public class DeviceImpl implements IDevice {
      * @Time : 22:02
      */
     @Override
-    public Result removeDevice(String ids, Integer farmId) {
+    public Result removeDevice(Integer id, Integer farmId) throws UnsupportedEncodingException {
+//        String[] idArray = ids.split(",");
+//        List idList = new ArrayList<>();
+//        for (int a = 0; a < idArray.length; a++) {
+//            idList.add(Integer.parseInt(idArray[a]));
+//        }
+//        deviceRepo.deleteAllByIdInBatch(idList);
+        Optional<FarmDeviceEntity> optional = deviceRepo.findById(id);
+        if (!optional.isPresent()) {
+            String ERROR_INFO = "该记录已不存在.";
+            log.error(ERROR_INFO);
+            return new Result(10001, ERROR_INFO, false);
+        }
+        //
+        deviceRepo.deleteById(id);
+        //同步牧场端设备数据
+        if(dataSync){
+            log.info("同步牧场端设备数据。");
+            //从数据库查询出牧场id
+            String farmIp = _getFarmIP(farmId);
+            String serviceUrl = farmIp + deviceRemoveService;
+            System.out.println("serviceUrl>>"+serviceUrl);
+            String data = textUtil.encode(JSON.toJSONString(id));
+            System.out.println("密文>>"+data);
+
+            //提交请求
+            httpTemplete.doPostSimple(serviceUrl,data);
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    /**
+     * @Method      : removeBatichDevice
+     * @Description : 
+     * @Params      : [ids, farmId]
+     * @Return      : com.huimv.common.utils.Result
+     * 
+     * @Author      : ZhuoNing
+     * @Date        : 2021/12/16       
+     * @Time        : 10:07
+     */
+    @Override
+    public Result removeBatichDevice(String ids, Integer farmId) {
         String[] idArray = ids.split(",");
         List idList = new ArrayList<>();
         for (int a = 0; a < idArray.length; a++) {

+ 1 - 1
huimv-farm-admin/src/main/resources/application-dev.yml

@@ -5,7 +5,7 @@ spring:
     name: pigfarm-local-device
   #------DataSource-----
   datasource:
-    url: jdbc:mysql://192.168.1.7:3306/huimv-farm-device?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://192.168.1.7:3306/huimv-farm-center?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: hm123456
     driver-class-name: com.mysql.cj.jdbc.Driver

+ 1 - 1
huimv-farm-admin/src/main/resources/application.properties

@@ -19,7 +19,7 @@ weight.batch_interval=4
 weight.batch.prefix=W
 weight.batchCode.spacemark=-
 
-#牧场设备数据是否同步(true/false)
+#牧场设备数据是否同步(true/false)
 farm.device.sync=true
 farm.device.addService=/farm/local/device/syncAddFarmDevice
 farm.device.editService=/farm/local/device/syncEditFarmDevice