Просмотр исходного кода

数据中心端同步数据:增加同步删除功能。

zhuoning 3 лет назад
Родитель
Сommit
3627b502f9

+ 7 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/controller/CenterDeviceController.java

@@ -38,4 +38,11 @@ public class CenterDeviceController {
         System.out.println("接收远程推送数据>>"+deviceData);
         System.out.println("接收远程推送数据>>"+deviceData);
         return iCenterDevice.syncEditFarmDevice(deviceData);
         return iCenterDevice.syncEditFarmDevice(deviceData);
     }
     }
+
+    @RequestMapping(value = "/syncRemoveFarmDevice")
+    public Result syncRemoveDevice(@RequestBody String deviceData) throws UnsupportedEncodingException {
+        System.out.println("接收远程推送数据>>"+deviceData);
+        return iCenterDevice.syncRemoveDevice(deviceData);
+    }
+
 }
 }

+ 6 - 1
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/dao/repo/FarmDeviceRepo.java

@@ -5,11 +5,16 @@ import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.jpa.repository.Query;
 
 
+import java.util.List;
 import java.util.Optional;
 import java.util.Optional;
 
 
 public interface FarmDeviceRepo extends JpaRepository<FarmDeviceEntity, Integer>, JpaSpecificationExecutor<FarmDeviceEntity> {
 public interface FarmDeviceRepo extends JpaRepository<FarmDeviceEntity, Integer>, JpaSpecificationExecutor<FarmDeviceEntity> {
 
 
-    //查询
+    //查询*
     @Query(nativeQuery = true,value = "SELECT * FROM farm_device WHERE data_id=?1")
     @Query(nativeQuery = true,value = "SELECT * FROM farm_device WHERE data_id=?1")
     Optional<FarmDeviceEntity> getByDataId(Long dataId);
     Optional<FarmDeviceEntity> getByDataId(Long dataId);
+
+    //查询ID
+    @Query(nativeQuery = true,value = "SELECT id FROM farm_device WHERE data_id=?1")
+    List<Object[]> getDevice(Long dataId);
 }
 }

+ 5 - 2
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/service/ICenterDevice.java

@@ -5,9 +5,12 @@ import com.huimv.common.utils.Result;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
 
 
 public interface ICenterDevice {
 public interface ICenterDevice {
-    //同步添加牧场设备数据
+    //同步添加数据中心端数据
     Result syncAddFarmDevice(String deviceData) throws UnsupportedEncodingException;
     Result syncAddFarmDevice(String deviceData) throws UnsupportedEncodingException;
 
 
-    //同步编辑牧场设备数据
+    //同步编辑数据中心端数据
     Result syncEditFarmDevice(String deviceData) throws UnsupportedEncodingException;
     Result syncEditFarmDevice(String deviceData) throws UnsupportedEncodingException;
+
+    //同步删除数据中心端数据
+    Result syncRemoveDevice(String deviceData) throws UnsupportedEncodingException;
 }
 }

+ 20 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/service/impl/CenterDeviceImpl.java

@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
 
 
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
 import java.sql.Timestamp;
 import java.sql.Timestamp;
+import java.util.List;
 import java.util.Optional;
 import java.util.Optional;
 
 
 /**
 /**
@@ -84,4 +85,23 @@ public class CenterDeviceImpl implements ICenterDevice {
         log.info("同步更新数据中心端设备数据>>"+editEntity);
         log.info("同步更新数据中心端设备数据>>"+editEntity);
         return new Result(ResultCode.SUCCESS,editEntity);
         return new Result(ResultCode.SUCCESS,editEntity);
     }
     }
+
+    @Override
+    public Result syncRemoveDevice(String deviceData) throws UnsupportedEncodingException {
+        //转义符号处理
+        Long dataId = Long.parseLong(textUtil.translateSymbol(deviceData));
+        //查询目标设备数据
+        List<Object[]> existList = deviceRepo.getDevice(dataId);
+        if(existList.size()>0) {
+            Object[] object = existList.get(0);
+            Integer id = (Integer) object[0];
+            deviceRepo.deleteById(id);
+            log.info("同步删除牧场端设备数据.");
+            return new Result(ResultCode.SUCCESS);
+        }else{
+            String ERR_INFO="暂无需要删除的设备数据.";
+            log.info(ERR_INFO);
+            return new Result(10001,ERR_INFO,false);
+        }
+    }
 }
 }