Bläddra i källkod

feature: 客房系统
1.同步开门记录入库

luo.yibo@datuai.com 1 år sedan
förälder
incheckning
e8b72492fd

+ 13 - 9
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/business/lock/LockBusiness.java

@@ -157,7 +157,7 @@ public class LockBusiness {
         if (CollectionUtil.isNotEmpty(roomVos)) {
             roomVos.parallelStream().forEach(p -> {
                 String lockId = p.getLockId();
-                openDoorRecord.updateAndGet(v -> v + this.queryOpenDoorRecord(lockId));
+                openDoorRecord.updateAndGet(v -> v + this.queryOpenDoorRecord(lockId, p.getRoomCode(), p.getRoomName()));
             });
         }
         return openDoorRecord.get();
@@ -166,9 +166,11 @@ public class LockBusiness {
     /**
      * 同步处理开门记录(指定门锁)
      *
-     * @param lockId 门锁Id
+     * @param lockId   门锁Id
+     * @param roomCode
+     * @param roomName
      */
-    public Integer queryOpenDoorRecord(String lockId) {
+    public Integer queryOpenDoorRecord(String lockId, String roomCode, String roomName) {
         Map<String, Object> formMap = new HashMap<>();
         formMap.put("KEYLOCKID", lockId);
         formMap.put("CARDPSWBIT", "1");
@@ -181,7 +183,7 @@ public class LockBusiness {
         if (ObjectUtil.equals(flag, "0")) {
             int totalPage = JSONUtil.parseObj(result).getInt("totalPage");
             for (int i = 0; i < totalPage; i++) {
-                syncCount += queryOpenDoorRecord(lockId, i + 1);
+                syncCount += queryOpenDoorRecord(lockId, roomCode, roomName, i + 1);
             }
         }
         return syncCount;
@@ -190,11 +192,13 @@ public class LockBusiness {
     /**
      * 同步处理开门记录(指定门锁与页码)
      *
-     * @param lockId 门锁Id
-     * @param pageNo 页码
+     * @param lockId   门锁Id
+     * @param roomCode
+     * @param roomName
+     * @param pageNo   页码
      * @return 记录条数
      */
-    public Integer queryOpenDoorRecord(String lockId, int pageNo) {
+    public Integer queryOpenDoorRecord(String lockId, String roomCode, String roomName, int pageNo) {
         Map<String, Object> formMap = new HashMap<>();
         formMap.put("KEYLOCKID", lockId);
         formMap.put("CARDPSWBIT", "1");
@@ -209,8 +213,8 @@ public class LockBusiness {
             pageData.parallelStream().forEach(p -> {
                 JSONObject record = JSONUtil.parseObj(p);
                 RemoteDoorOpenBo remoteBo = new RemoteDoorOpenBo();
-                remoteBo.setRoomCode("A604");
-                remoteBo.setRoomName("A604");
+                remoteBo.setRoomCode(roomCode);
+                remoteBo.setRoomName(roomName);
                 remoteBo.setOpenDoorMode(record.getStr("openWay"));
                 remoteBo.setOpenTime(DateUtil.parse(record.getStr("operateTime"), DefaultConstants.DATE_TIME_FORMAT));
                 remoteBo.setOpenResult(record.getStr("openResult"));

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

@@ -88,7 +88,7 @@ public class LockController {
      */
     @GetMapping(value = "/open/record/{lockId}")
     public ReturnResult queryOpenDoorRecord(@PathVariable String lockId) {
-        Integer syncCount = lockBusiness.queryOpenDoorRecord(lockId);
+        Integer syncCount = lockBusiness.queryOpenDoorRecord(lockId, "", "");
         String message = MessageFormat.format("开门记录同步完成,本次同步了 {0} 条记录", syncCount);
         return ReturnResult.success(message);
     }
@@ -100,7 +100,7 @@ public class LockController {
      */
     @GetMapping(value = "/open/record/{lockId}/{pageNo}")
     public ReturnResult queryOpenDoorRecord(@PathVariable String lockId, @PathVariable int pageNo) {
-        Integer syncCount = lockBusiness.queryOpenDoorRecord(lockId, pageNo);
+        Integer syncCount = lockBusiness.queryOpenDoorRecord(lockId, "", lockId, pageNo);
         String message = MessageFormat.format("开门记录同步完成,本次同步了 {0} 条记录", syncCount);
         return ReturnResult.success(message);
     }