Przeglądaj źródła

增加牧场公网地址信息接收和更新。

zhuoning 3 lat temu
rodzic
commit
5c4c742898

+ 1 - 1
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/controller/AlarmController.java

@@ -24,7 +24,7 @@ public class AlarmController {
     //发送环境警报信息
     @RequestMapping(value = "/environ/putEnvironAlarm",method = RequestMethod.POST)
     public void putEnvironAlarm(@RequestParam(value = "data",required = true) String alarmInfo){
-        System.out.println(">>>>>>>>>>>>>>> 接收"+alarmInfo);
+//        System.out.println(">>>>>>>>>>>>>>> 接收"+alarmInfo);
         //处理环境警报
         iAlarm.handleEnvironAlarm(alarmInfo);
     }

+ 32 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/controller/NetIPController.java

@@ -0,0 +1,32 @@
+package com.huimv.receiver.farm.controller;
+
+import com.huimv.receiver.farm.service.INetIPService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@CrossOrigin
+@RestController
+@Slf4j
+@RequestMapping(value = "/ip")
+public class NetIPController {
+    @Autowired
+    private INetIPService netIPService;
+
+    @RequestMapping(value = "/updateNetIp",method = RequestMethod.POST)
+//    public void updateIp(@RequestBody String data) throws UnsupportedEncodingException {
+    public void updateIp(@RequestParam(value = "data",required = true) String data) throws UnsupportedEncodingException {
+        //--更新公网ip
+        netIPService.updateNetIP(data);
+    }
+}

+ 97 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/dao/entity/SysCameraAreaEntity.java

@@ -0,0 +1,97 @@
+package com.huimv.receiver.farm.dao.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "sys_camera_area")
+public class SysCameraAreaEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    /**
+     * 区域(单元)名称
+     */
+    @Column(name = "area_name")
+    private String areaName;
+
+    /**
+     * 不用管
+     */
+    @Column(name = "remark")
+    private String remark;
+
+    @Column(name = "farm_id", nullable = false)
+    private Integer farmId;
+
+    @Column(name = "public_url", nullable = false)
+    private String publicUrl;
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    /**
+     * 区域(单元)名称
+     */
+    public void setAreaName(String areaName) {
+        this.areaName = areaName;
+    }
+
+    /**
+     * 区域(单元)名称
+     */
+    public String getAreaName() {
+        return areaName;
+    }
+
+    /**
+     * 不用管
+     */
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    /**
+     * 不用管
+     */
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setFarmId(Integer farmId) {
+        this.farmId = farmId;
+    }
+
+    public Integer getFarmId() {
+        return farmId;
+    }
+
+    public void setPublicUrl(String publicUrl) {
+        this.publicUrl = publicUrl;
+    }
+
+    public String getPublicUrl() {
+        return publicUrl;
+    }
+
+    @Override
+    public String toString() {
+        return "SysCameraAreaEntity{" +
+                "id=" + id + '\'' +
+                "areaName=" + areaName + '\'' +
+                "remark=" + remark + '\'' +
+                "farmId=" + farmId + '\'' +
+                "publicUrl=" + publicUrl + '\'' +
+                '}';
+    }
+}

+ 14 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/dao/repo/SysCameraAreaRepo.java

@@ -0,0 +1,14 @@
+package com.huimv.receiver.farm.dao.repo;
+
+import com.huimv.receiver.farm.dao.entity.SysCameraAreaEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface SysCameraAreaRepo extends JpaRepository<SysCameraAreaEntity, Integer>, JpaSpecificationExecutor<SysCameraAreaEntity> {
+
+    @Query(nativeQuery = true,value = "SELECT * FROM sys_camera_area WHERE farm_id=?1")
+    List<SysCameraAreaEntity> findByFarmId(String farmId);
+}

+ 8 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/service/INetIPService.java

@@ -0,0 +1,8 @@
+package com.huimv.receiver.farm.service;
+
+import java.io.UnsupportedEncodingException;
+
+public interface INetIPService {
+    //
+    void updateNetIP(String NetIP) throws UnsupportedEncodingException;
+}

+ 48 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/farm/service/impl/NetIPServiceImpl.java

@@ -0,0 +1,48 @@
+package com.huimv.receiver.farm.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.receiver.farm.dao.entity.SysCameraAreaEntity;
+import com.huimv.receiver.farm.dao.repo.SysCameraAreaRepo;
+import com.huimv.receiver.farm.service.INetIPService;
+import com.huimv.receiver.utils.TextUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.UnsupportedEncodingException;
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+@Slf4j
+public class NetIPServiceImpl implements INetIPService {
+    @Autowired
+    private TextUtil textUtil;
+    @Autowired
+    private SysCameraAreaRepo cameraAreaRepo;
+
+    @Override
+    public void updateNetIP(String data) throws UnsupportedEncodingException {
+        JSONObject netIPJo = JSONObject.parseObject(textUtil.translateSymbol(data));
+        log.info("接收牧场端发送的公网信息>>"+netIPJo);
+        String farmId = netIPJo.getString("farmId");
+        String farmName = netIPJo.getString("farmName");
+        String netIp = netIPJo.getString("netIp");
+        //--更新最新IP
+        List<SysCameraAreaEntity> cameraAreaEntityList = cameraAreaRepo.findByFarmId(farmId);
+        if(cameraAreaEntityList.size()>0){
+            for(SysCameraAreaEntity cameraAreaEntity:cameraAreaEntityList){
+                cameraAreaEntity.setPublicUrl(netIp);
+            }
+            cameraAreaRepo.saveAll(cameraAreaEntityList);
+            log.info("已经完成牧场公网IP更新>>"+netIp);
+        }
+    }
+}

+ 13 - 0
huimv-farm-receiver/src/main/java/com/huimv/receiver/utils/TextUtil.java

@@ -17,6 +17,13 @@ import java.util.Base64;
 public class TextUtil {
 
     //转义符处理
+    public String translateSymbol2(String data) throws UnsupportedEncodingException {
+        String data11 = data.replace("data=","");
+        System.out.println("data11>>"+data11);
+        return decode2(data11);
+    }
+
+    //转义符处理
     public String translateSymbol(String data) throws UnsupportedEncodingException {
         return decode(data.replace("data=","").replace("%3D","="));
     }
@@ -29,6 +36,12 @@ public class TextUtil {
     }
 
     //base64解码
+    public String decode2(String encodedText) throws UnsupportedEncodingException {
+        final Base64.Decoder decoder = Base64.getDecoder();
+        return new String(decoder.decode(encodedText.toString().replace("\r\n", "")), "UTF-8");
+    }
+
+    //base64解码
     public String decode(String encodedText) throws UnsupportedEncodingException {
         final Base64.Decoder decoder = Base64.getDecoder();
         return new String(decoder.decode(encodedText.toString().replace("\r\n", "")), "UTF-8");