Эх сурвалжийг харах

feature: 门锁对接
1.将电量查询接口单独列出

luoyb 1 жил өмнө
parent
commit
df01848881

+ 12 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/lock/LockBusiness.java

@@ -69,7 +69,18 @@ public class LockBusiness {
         }
         return R.fail("远程开门失败", "远程开门失败");
     }
-
+    public R<String> queryLockBattery(String lockId){
+        Map<String, Object> formMap = new HashMap<>();
+        formMap.put("DEVICE_ID", lockId);
+        String result = lockUtils.sendPost(formMap, "queryDeviceStatus");
+        String flag = JSONUtil.parseObj(result).getStr("result");
+        if(ObjectUtil.equals(flag,"0")){
+            JSONObject data = JSONUtil.parseObj(result).getJSONObject("data");
+            String battery = JSONUtil.parseObj(data).getStr("battery");
+            return R.ok(battery,battery);
+        }
+        return R.fail("获取门锁电量失败", "获取门锁电量失败");
+    }
     private Map<String, Object> setGuestCardParam(RoomCardBo bo) {
         Map<String, Object> formMap = new HashMap<>();
         formMap.put("cardSenderLockId", LockConstants.YY_CARD_SENDER_ID);

+ 9 - 8
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/controller/lock/LockController.java

@@ -30,21 +30,22 @@ import java.util.Map;
 @ResponseResult
 @Slf4j
 public class LockController {
-    private final LockUtils lockUtils;
     private final LockBusiness lockBusiness;
 
     /**
-     * 查询门锁状态
+     * 查询门锁电量
      *
      * @param lockId 门锁Id
      * @return 状态
      */
-    @GetMapping(value = "/device/status", produces = "application/json; charset=utf-8")
-    ReturnResult queryDeviceStatus(@RequestParam("lockId") String lockId) {
-        Map<String, Object> formMap = new HashMap<>();
-        formMap.put("DEVICE_ID", lockId);
-        String result = lockUtils.sendPost(formMap, "queryDeviceStatus");
-        return ReturnResult.success(result);
+    @GetMapping(value = "/device/battery", produces = "application/json; charset=utf-8")
+    ReturnResult queryDeviceBattery(@RequestParam("lockId") String lockId) {
+       R<String> result= lockBusiness.queryLockBattery(lockId);
+        if (R.isSuccess(result)) {
+            return ReturnResult.success(result.getData());
+        } else {
+            return ReturnResult.failure(ResultCodeEnum.INTERFACE_OUTER_INVOKE_ERROR, result.getMsg());
+        }
     }
 
     /**