Bläddra i källkod

打开关闭WiFi

zhj 2 år sedan
förälder
incheckning
f6c96c9ab5

+ 27 - 1
src/main/java/com/welampiot/controller/MapController.java

@@ -2025,10 +2025,36 @@ public class MapController{
             return toolUtils.response(InterfaceResultEnum.WIFI_PWD_LENGTH_ERROR,version);
         String sendTopic = "/WEGW2/WriteIn/" + wifiDTO.getNum();
         String resTopic = "/WEGW2/WriteOut/" + wifiDTO.getNum();
-        String cmd = "0001{\"B1\":\"" + wifiName + "\",\"B2\":" + wifiType +  ",\"B3\":\"" + wifiPwd + "\"}";
+        String cmd = "01" + "{\"B1\":\"" + wifiName + "\",\"B2\":" + wifiType +  ",\"B3\":\"" + wifiPwd + "\"}";
         System.out.println("cmd:" + cmd);
         String resCmd = toolUtils.sendMqttCmd(sendTopic, cmd, resTopic);
         System.out.println("resCmd:" + resCmd);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
+
+    /**
+     * 打开关闭WiFi
+     * @param request lampPoleId
+     * @return WiFi开关状态
+     */
+    @RequestMapping(value = "/wifiOpenClose", method = RequestMethod.POST)
+    public BaseResult<?> wifiOpenClose(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        Integer lampPoleId = (Integer) toolUtils.getRequestContent(request,"lampPoleId",1);
+        if (lampPoleId == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        WifiDTO wifiDTO = wifiService.getWifiInfoByLampPoleId(lampPoleId);
+        if (wifiDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        Integer status = (Integer) toolUtils.getRequestContent(request,"status",1);
+        String sendTopic = "/WEGW2/WriteIn/" + wifiDTO.getNum();
+        String resTopic = "/WEGW2/WriteOut/" + wifiDTO.getNum();
+        String cmd = "01" + "{\"B4\":" + status + "}";
+        System.out.println("cmd:" + cmd);
+        String resCmd = toolUtils.sendMqttCmd(sendTopic, cmd, resTopic);
+        System.out.println("resCmd:" + resCmd);
+        WifiDTO dto = new WifiDTO();
+        dto.setStatus(status);
+        dto.setLampPoleId(lampPoleId);
+        wifiService.updateWifiStatus(dto);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 1 - 0
src/main/java/com/welampiot/dao/WifiDao.java

@@ -28,4 +28,5 @@ public interface WifiDao {
     WifiDTO getDetailByDTO(WifiDTO dto);
     Integer deleteById(@Param("id")Integer id);
     WifiDTO getWifiInfoByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
+    void updateWifiStatus(WifiDTO wifiDTO);
 }

+ 1 - 0
src/main/java/com/welampiot/service/WifiService.java

@@ -30,4 +30,5 @@ public interface WifiService {
     Integer deleteById(@Param("id")Integer id);
     List<WifiDTO> getWifiListByDTO(WifiDTO dto);
     WifiDTO getWifiInfoByLampPoleId(Integer lampPoleId);
+    void updateWifiStatus(WifiDTO wifiDTO);
 }

+ 5 - 0
src/main/java/com/welampiot/service/impl/WifiServiceImpl.java

@@ -182,4 +182,9 @@ public class WifiServiceImpl implements WifiService {
     public WifiDTO getWifiInfoByLampPoleId(Integer lampPoleId) {
         return wifiDao.getWifiInfoByLampPoleId(lampPoleId);
     }
+
+    @Override
+    public void updateWifiStatus(WifiDTO wifiDTO) {
+        wifiDao.updateWifiStatus(wifiDTO);
+    }
 }

+ 9 - 0
src/main/resources/mapper/WifiMapper.xml

@@ -157,4 +157,13 @@
         where w.lamp_pole_id = #{lampPoleId}
     </select>
 
+    <update id="updateWifiStatus" parameterType="WifiDTO">
+        update
+            wifi w
+        set
+            w.status = #{status}
+        where
+            w.lamp_pole_id = #{lampPoleId}
+    </update>
+
 </mapper>