Browse Source

Merge branch 'master' of https://e.coding.net/chuanghaikeji/smarCampus/iHotel_student_houtai into develop-wxl

wanxl 1 year ago
parent
commit
97ee974767

+ 2 - 2
src/main/java/com/template/api/HouseNumberStateAPI.java

@@ -13,12 +13,12 @@ public interface HouseNumberStateAPI {
 
     @GetMapping("/dayList")
     @ApiOperation(value = "房态管理-单日", notes = "房态管理-单日", httpMethod = "GET")
-    CommonResult page(String keyWord, String houseType);
+    CommonResult page(String keyWord, String houseType,Integer houseId,Integer buildingId,Integer status);
 
 
     @GetMapping("/calendarList")
     @ApiOperation(value = "房态管理-日历", notes = "房态管理-日历", httpMethod = "GET")
-    CommonResult calendarPage(String dateTime, String keyWord, String houseType, int page, int size);
+    CommonResult calendarPage(String dateTime, String keyWord, String houseType, int page, int size,Integer houseId,Integer buildingId);
 
     @GetMapping("/particular")
     @ApiOperation(value = "房态管理-房间详情", notes = "房态管理-房间详情", httpMethod = "GET")

+ 96 - 67
src/main/java/com/template/controller/HouseNumberStateController.java

@@ -96,7 +96,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
     ApartmentSettingService apartmentSettingService;
 
     @Override
-    public CommonResult page(String keyWord, String houseType) {
+    public CommonResult page(String keyWord, String houseType,Integer houseId,Integer buildingId,Integer status) {
 
 //        if (ObjectUtils.isEmpty(page) && page <= 0) {
 //            page = 1;
@@ -112,7 +112,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         List<House> list = houseService.list(new LambdaQueryWrapper<>());
         LocalDateTime start = LocalDateTime.now();
         LocalDateTime end = start.withHour(23).withMinute(59).withSecond(59);
-        List<HouseStateVo> pageVo1 = houseNumberService.houseStatePage(keyWord, houseType, start, end);
+        List<HouseStateVo> pageVo1 = houseNumberService.houseStatePage(keyWord, houseType, start, end,houseId,buildingId,status);
         HashMap<Integer, HouseStateVo> map = new HashMap<>();
         for (HouseStateVo houseStateVo : pageVo1) {
             Integer houseNumberId = houseStateVo.getHouseNumberId();
@@ -157,7 +157,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
     }
 
     @Override
-    public CommonResult calendarPage(String dateTime, String keyWord, String houseType, int page, int size) {
+    public CommonResult calendarPage(String dateTime, String keyWord, String houseType, int page, int size,Integer houseId,Integer buildingId) {
         if (ObjectUtils.isEmpty(page) && page <= 0) {
             page = 1;
         }
@@ -233,7 +233,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         map.put("dateTime", list);
 
 
-        PageUtils<CalendarPageVo> pageVo = houseNumberService.houseStateCalendarPage(keyWord, houseType, page, size);
+        PageUtils<CalendarPageVo> pageVo = houseNumberService.houseStateCalendarPage(keyWord, houseType, page, size,houseId,buildingId);
 
         List<CalendarPageVo> listVo = pageVo.getList();
 
@@ -415,6 +415,9 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                     vo.setLeaveTime(houseOrder.getReserveLeaveTime());
 //                  付款
                     vo.setPayPrice(houseOrder.getPayPrice());
+//                  密码
+                    vo.setPassWord(houseOrder.getKeyPassWord());
+
 //                    已入住时间
                     LocalDateTime now = LocalDateTime.now();
                     LocalDateTime stateEnd = LocalDateTime.ofInstant(liveTime.toInstant(), ZoneId.systemDefault());
@@ -477,11 +480,12 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         LambdaQueryWrapper<HouseLock> wrapperHL = new LambdaQueryWrapper<>();
         wrapperHL.eq(HouseLock::getHouseNumberId, houseNumberId);
         HouseLock houseLock = houseLockService.getOne(wrapperHL);
-        String battery = "";
+//        String battery = "";
         if (ObjectUtils.isNotEmpty(houseLock)) {
             String equipmentType = houseLock.getEquipmentType();
 
-            battery = passwordIssController.getDeviceInfo(equipmentType);
+            String battery = passwordIssController.getDeviceInfo(equipmentType);
+            vo.setElectricQuantity(battery + "%");
         }
 
 //        HashMap<String, String> map = new HashMap<>();
@@ -501,7 +505,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 //        JSONObject data = jsonObject.getJSONObject("data");
 //          电量
 //        String battery = data.getString("battery");
-        vo.setElectricQuantity(battery + "%");
+
 
 
         return CommonResult.ok(vo);
@@ -757,6 +761,8 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             houseOrder.setPrice(priceVo.getPrice());
 //        订单渠道
             houseOrder.setOrderChannel("2");
+//            超时时间
+            houseOrder.setTimeOut(reserveDto.getTimeOut());
 
 //        添加房态表
             HouseNumberState houseNumberState = new HouseNumberState();
@@ -796,7 +802,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             return CommonResult.fail("此账号暂无该权限");
         }
         String houseNumberId = checkIdCardDto.getHouseNumberId();
-        String cardNumber = checkIdCardDto.getCardNumber();
+
         String houseId = checkIdCardDto.getHouseId();
         String liveTime = checkIdCardDto.getLiveTime();
         String leaveTime = checkIdCardDto.getLeaveTime();
@@ -820,7 +826,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 //        入住人
         String liveName = checkIdCardDto.getLiveName();
 //        电话
-        String phone = checkIdCardDto.getPhone();
+//        String phone = checkIdCardDto.getPhone();
 
 //        指纹特殊编码
         String fingerprint = checkIdCardDto.getFingerprint();
@@ -832,9 +838,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
 //        判断是否有用户
             LambdaQueryWrapper<Users> wrapperU = new LambdaQueryWrapper<>();
-            wrapperU.eq(Users::getUserName, liveName)
-                    .eq(Users::getPhone, phone)
-                    .eq(ObjectUtils.isNotEmpty(cardNumber), Users::getCardNumber, cardNumber);
+            wrapperU.eq(Users::getIdCard, idCard);
             Users users = usersService.getOne(wrapperU);
 
 //        判断是否有订单,没有订单需先添加订单
@@ -849,8 +853,8 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             if (ObjectUtils.isEmpty(users)) {
                 Users users1 = new Users();
                 users1.setUserName(liveName);
-                users1.setPhone(phone);
-                users1.setCardNumber(cardNumber);
+//                users1.setPhone(phone);
+//                users1.setCardNumber(cardNumber);
                 users1.setFingerprint(fingerprint);
                 users1.setIdCard(idCard);
                 users1.setIdCardInformation(idCardInformation);
@@ -858,7 +862,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 boolean save = usersService.save(users1);
 //                houseOrder.setLiveUsersId(users1.getId() + "");
             } else {
-                users.setCardNumber(cardNumber);
+//                users.setCardNumber(cardNumber);
                 users.setFingerprint(fingerprint);
                 users.setIdCard(idCard);
                 users.setIdCardInformation(idCardInformation);
@@ -890,14 +894,6 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             houseNumberState.setStatus(4);
             houseNumberState.setStartTime(liveTime);
 
-//        获取设备id
-            LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
-            wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
-            HouseLock houseLock = houseLockService.getOne(wrapperHl);
-            if (ObjectUtils.isEmpty(houseLock)) {
-                return CommonResult.fail("请先绑定门锁设备");
-            }
-            String equipmentState = houseLock.getEquipmentType();
 
             //      修改房间状态
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
@@ -913,7 +909,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             String start = String.valueOf(liveDate.getTime());
             String end = String.valueOf(leaveDate.getTime());
 //        发放密码
-            String lockStatus = checkIdCardDto.getLockStatus();
+            Integer lockStatus = checkIdCardDto.getLockStatus();
 //        添加锁的操作记录
             Admin byId = adminService.getById(checkIdCardDto.getAdminId());
 
@@ -924,52 +920,85 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             operatingRecord.setOperatorName(byId.getName());
             operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
             operatingRecord.setContent("姓名:" + liveName);
-
-            if ("1".equals(lockStatus)) {
-                PasswordDto pr = new PasswordDto();
-                pr.setLuid(equipmentState);
-                pr.setStartTime(start);
-                pr.setEndTime(end);
-                pr.setHouseNumberId(houseNumberId);
-                pr.setOrderNumber(houseOrder.getOrderNumber());
-                Unlocking unlocking = passwordIssController.addPassword(pr);
+            houseOrder.setKeyType(lockStatus);
+            if (5==lockStatus) {
+//                默认未归还
+                houseOrder.setGiveBack(2);
+            }else {
+                //        获取设备id
+                LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
+                wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
+                HouseLock houseLock = houseLockService.getOne(wrapperHl);
+                if (ObjectUtils.isEmpty(houseLock)) {
+                    return CommonResult.fail("请先绑定门锁设备");
+                }
+                String equipmentState = houseLock.getEquipmentType();
+
+                if (1==lockStatus) {
+                    PasswordDto pr = new PasswordDto();
+                    pr.setLuid(equipmentState);
+                    pr.setStartTime(start);
+                    pr.setEndTime(end);
+                    pr.setHouseNumberId(houseNumberId);
+                    pr.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addPassword(pr);
 //                添加锁的操作记录类型
-                operatingRecord.setType("添加密码钥匙");
-
-                unlockingService.save(unlocking);
-                String passWord = unlocking.getPassWord();
-                ArrayList<String> strings = new ArrayList<>();
-                strings.add(cardNumber);
-                weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + liveTime + ",欢迎您入住张玉玲酒店,我们全体员工很荣幸能为您服务,如有任何需要请致电张玉玲,期待为你服务。祝你生活愉快!", null);
-            } else if ("2".equals(lockStatus)) {
-                CardInfoDto cid = new CardInfoDto();
-                cid.setCard(idCardInformation);
-                cid.setLuid(equipmentState);
-                cid.setCardType(1);
-                cid.setStartTime(start);
-                cid.setEndTime(end);
-                cid.setHouseNumberId(houseNumberId);
-                cid.setOrderNumber(houseOrder.getOrderNumber());
-                Unlocking unlocking = passwordIssController.addCardInfo(cid);
-                unlockingService.save(unlocking);
-
-                //                添加锁的操作记录类型
-                operatingRecord.setType("添加卡片钥匙");
-            } else if ("3".equals(lockStatus)) {
-                FingerprintDataDto fd = new FingerprintDataDto();
-                fd.setLuid(equipmentState);
-                fd.setHouseNumberId(houseNumberId);
-                fd.setOrderNumber(houseOrder.getOrderNumber());
-                fd.setStartTime(start);
-                fd.setEndTime(end);
-                fd.setFingerprintData(fingerprint);
-                Unlocking unlocking = passwordIssController.addFingerprintData(fd);
-                unlockingService.save(unlocking);
-                //                添加锁的操作记录类型
-                operatingRecord.setType("添加指纹钥匙");
+                    operatingRecord.setType("添加密码钥匙");
+
+                    unlockingService.save(unlocking);
+                    String passWord = unlocking.getPassWord();
+                    houseOrder.setKeyPassWord(passWord);
+//                ArrayList<String> strings = new ArrayList<>();
+                    // strings.add(cardNumber);
+                    // weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + liveTime + ",欢迎您入住张玉玲酒店,我们全体员工很荣幸能为您服务,如有任何需要请致电张玉玲,期待为你服务。祝你生活愉快!", null);
+                } else if (2==lockStatus) {
+                    CardInfoDto cid = new CardInfoDto();
+                    cid.setCard(idCardInformation);
+                    cid.setLuid(equipmentState);
+                    cid.setCardType(0);
+                    cid.setStartTime(start);
+                    cid.setEndTime(end);
+                    cid.setHouseNumberId(houseNumberId);
+                    cid.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addCardInfo(cid);
+                    unlockingService.save(unlocking);
+
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加卡片钥匙");
+                    //                默认未归还
+                    houseOrder.setGiveBack(2);
+
+                } else if (3==lockStatus) {
+                    FingerprintDataDto fd = new FingerprintDataDto();
+                    fd.setLuid(equipmentState);
+                    fd.setHouseNumberId(houseNumberId);
+                    fd.setOrderNumber(houseOrder.getOrderNumber());
+                    fd.setStartTime(start);
+                    fd.setEndTime(end);
+                    fd.setFingerprintData(fingerprint);
+                    Unlocking unlocking = passwordIssController.addFingerprintData(fd);
+                    unlockingService.save(unlocking);
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加指纹钥匙");
+                }else if (4==lockStatus){
+                    CardInfoDto cid = new CardInfoDto();
+                    cid.setCard(idCardInformation);
+                    cid.setLuid(equipmentState);
+                    cid.setCardType(1);
+                    cid.setStartTime(start);
+                    cid.setEndTime(end);
+                    cid.setHouseNumberId(houseNumberId);
+                    cid.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addCardInfo(cid);
+                    unlockingService.save(unlocking);
+
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加身份证钥匙");
+                    //                默认未归还
+                    houseOrder.setGiveBack(2);
+                }
             }
 
-
             houseOrderService.updateById(houseOrder);
             houseNumberStateService.updateById(houseNumberState);
 

+ 209 - 116
src/main/java/com/template/controller/HouseOrderController.java

@@ -180,7 +180,6 @@ public class HouseOrderController implements HouseOrderAPI {
         }
 
 
-
 //        if (house.getNumber() < Func.parseInt(establishOrderDto.getHouseOrderNumber())) {
 //            return CommonResult.fail("超出限定房间数量");
 //        }
@@ -300,6 +299,10 @@ public class HouseOrderController implements HouseOrderAPI {
         houseOrder.setReserveLiveTime(establishOrderDto.getReserveLiveTime());
 //        预定离开时间
         houseOrder.setReserveLeaveTime(establishOrderDto.getReserveLeaveTime());
+//        超时时间
+        String timeOut = now.plusMinutes(15).format(dateTimeFormatter1);
+        houseOrder.setTimeOut(timeOut);
+
 //    单价   全日房  价格单价=总价/房间数/天数
 //       钟点房  价格单价=总价/房间数
         Integer roomType = house.getRoomType();
@@ -447,6 +450,15 @@ public class HouseOrderController implements HouseOrderAPI {
         if (ObjectUtils.isEmpty(houseOrderId)) {
             return CommonResult.fail();
         }
+        Users users = usersService.getById(userId);
+        if (ObjectUtils.isEmpty(users)) {
+            return CommonResult.fail("用户不存在");
+        }
+        String department = users.getDepartment();
+        if (!"4".equals(department)) {
+            return CommonResult.fail("请前往前台办理入住");
+        }
+
         HouseOrder houseOrder = houseOrderService.getById(houseOrderId);
 //      预定人就是入住人
         String reserveName = houseOrder.getReserveName();
@@ -463,7 +475,11 @@ public class HouseOrderController implements HouseOrderAPI {
 
 //        需先获取所属房间号的门锁型号
         String houseNumberId = houseOrder.getHouseNumberId();
-        List<HouseLock> houseLocks = houseLockService.getHouseNumberId(houseNumberId);
+        HouseLock houseLock = houseLockService.getHouseNumberId(houseNumberId);
+//        如果没有房锁则需要去前台
+        if (ObjectUtils.isEmpty(houseLock)) {
+            return CommonResult.fail("请前往前台办理入住");
+        }
 
         try {
             long start = date.getTime();
@@ -471,65 +487,66 @@ public class HouseOrderController implements HouseOrderAPI {
 
 //            设备id
             //      下发门锁密码
-            for (int i = 0; i < houseLocks.size(); i++) {
-                HouseLock houseLock = houseLocks.get(i);
 //                设备id
-                String equipmentType = houseLock.getEquipmentType();
-                PasswordDto pr = new PasswordDto();
-                pr.setLuid(equipmentType);
-                pr.setStartTime(String.valueOf(start));
-                pr.setEndTime(String.valueOf(end));
-                pr.setHouseNumberId(houseNumberId);
-                pr.setOrderNumber(houseOrder.getOrderNumber());
-                Unlocking unlocking = passwordIssController.addPassword(pr);
+            String equipmentType = houseLock.getEquipmentType();
+            PasswordDto pr = new PasswordDto();
+            pr.setLuid(equipmentType);
+            pr.setStartTime(String.valueOf(start));
+            pr.setEndTime(String.valueOf(end));
+            pr.setHouseNumberId(houseNumberId);
+            pr.setOrderNumber(houseOrder.getOrderNumber());
+            Unlocking unlocking = passwordIssController.addPassword(pr);
+
+            String passWord = unlocking.getPassWord();
+
+            houseOrder.setKeyPassWord(passWord);
+            houseOrder.setKeyType(1);
 
-                String passWord = unlocking.getPassWord();
-                //添加
-                unlockingService.save(unlocking);
+            //添加
+            unlockingService.save(unlocking);
 
 //                String password = "测试";
-                Integer houseNumberId1 = houseLock.getHouseNumberId();
-                HouseNumber houseNumber = houseNumberService.getById(houseNumberId1);
+            Integer houseNumberId1 = houseLock.getHouseNumberId();
+            HouseNumber houseNumber = houseNumberService.getById(houseNumberId1);
 //                房间号
-                String roomNumber = houseNumber.getRoomNumber();
+            String roomNumber = houseNumber.getRoomNumber();
 //              获取工号
-                Users users = usersService.getById(userId);
-                String cardNumber = users.getCardNumber();
-                if (ObjectUtils.isEmpty(cardNumber)) {
-                    return CommonResult.fail("无微校卡号");
-                }
-                log.info("微校卡号【{}】", cardNumber);
-                ArrayList<String> strings = new ArrayList<>();
-                strings.add(cardNumber);
-                //        获取手机号,酒店名字
-                List<ApartmentSetting> list = apartmentSettingService.list(new LambdaQueryWrapper<>());
-                ApartmentSetting apartmentSetting = list.get(0);
-                String phoneNumber = apartmentSetting.getPhoneNumbr();
-                String name = apartmentSetting.getName();
-                weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + reserveLeaveTime + ",欢迎您入住"+name+",我们全体员工很荣幸能为您服务,如有任何需要请致电:"+phoneNumber+",期待为你服务。祝你生活愉快!", null);
+            String cardNumber = users.getCardNumber();
+            if (ObjectUtils.isEmpty(cardNumber)) {
+                return CommonResult.fail("无微校卡号");
+            }
+            log.info("微校卡号【{}】", cardNumber);
+            ArrayList<String> strings = new ArrayList<>();
+            strings.add(cardNumber);
+            //        获取手机号,酒店名字
+            List<ApartmentSetting> list2 = apartmentSettingService.list(new LambdaQueryWrapper<>());
+            ApartmentSetting apartmentSetting = list2.get(0);
+            String phoneNumber = apartmentSetting.getPhoneNumbr();
+            String name = apartmentSetting.getName();
+            weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + reserveLeaveTime + ",欢迎您入住" + name + ",我们全体员工很荣幸能为您服务,如有任何需要请致电:" + phoneNumber + ",期待为你服务。祝你生活愉快!", null);
 //              添加锁的操作记录
-                OperatingRecord operatingRecord = new OperatingRecord();
-                operatingRecord.setRoomNumber(houseNumber.getRoomNumber());
-                operatingRecord.setHouseNumberId(houseNumber.getId());
-                operatingRecord.setOperatorName(users.getUserName());
-                operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
-                operatingRecord.setContent("姓名:" + houseOrder.getLiveName());
-                operatingRecord.setType("添加密码钥匙");
-                operatingRecordService.save(operatingRecord);
+            OperatingRecord operatingRecord = new OperatingRecord();
+            operatingRecord.setRoomNumber(houseNumber.getRoomNumber());
+            operatingRecord.setHouseNumberId(houseNumber.getId());
+            operatingRecord.setOperatorName(users.getUserName());
+            operatingRecord.setDataTime(LocalDateTime.now().format(dateTimeFormatter1));
+            operatingRecord.setContent("姓名:" + houseOrder.getLiveName());
+            operatingRecord.setType("添加密码钥匙");
+            operatingRecordService.save(operatingRecord);
 
-                HouseNumber number = houseNumberService.getById(houseLock.getHouseNumberId());
+            HouseNumber number = houseNumberService.getById(houseLock.getHouseNumberId());
 //                开电
 //                Boolean aBoolean = electricEquipmentService.openMeterControl(number.getElectricEquipmentId());
 //                if (!aBoolean) {
 //                    return CommonResult.fail("开电失败");
 //                }
 //                设置开电状态
-                number.setElectricType("1");
+            number.setElectricType("1");
 //                房间号设置成脏房需要退房后设置
 //                number.setHouseStatus(2);
-                houseNumberService.updateById(number);
+            houseNumberService.updateById(number);
+
 
-            }
 //                修改订单状态
 //                订单状态 1.待支付,2.已支付,3.待入住,4.已入住,5.待结账,6.退款中,7.已退款,8.已退房,9.已取消,超时
             houseOrder.setOrderStatus("4");
@@ -733,7 +750,7 @@ public class HouseOrderController implements HouseOrderAPI {
             return CommonResult.fail("此账号暂无该权限");
         }
         String houseNumberId = checkIdCardDto.getHouseNumberId();
-        String cardNumber = checkIdCardDto.getCardNumber();
+//        String cardNumber = checkIdCardDto.getCardNumber();
         String houseId = checkIdCardDto.getHouseId();
         String liveTime = checkIdCardDto.getLiveTime();
         String leaveTime = checkIdCardDto.getLeaveTime();
@@ -757,7 +774,7 @@ public class HouseOrderController implements HouseOrderAPI {
 //        入住人
         String liveName = checkIdCardDto.getLiveName();
 //        电话
-        String phone = checkIdCardDto.getPhone();
+//        String phone = checkIdCardDto.getPhone();
 //        指纹特殊编码
         String fingerprint = checkIdCardDto.getFingerprint();
 //        身份证
@@ -768,9 +785,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
 //        判断是否有用户
             LambdaQueryWrapper<Users> wrapperU = new LambdaQueryWrapper<>();
-            wrapperU.eq(Users::getUserName, liveName)
-                    .eq(Users::getPhone, phone)
-                    .eq(ObjectUtils.isNotEmpty(cardNumber), Users::getCardNumber, cardNumber);
+            wrapperU.eq(Users::getIdCard, idCard);
             Users users = usersService.getOne(wrapperU);
 
 //        判断是否有订单,没有订单需先添加订单
@@ -805,8 +820,6 @@ public class HouseOrderController implements HouseOrderAPI {
             if (ObjectUtils.isEmpty(users)) {
                 Users users1 = new Users();
                 users1.setUserName(liveName);
-                users1.setPhone(phone);
-                users1.setCardNumber(cardNumber);
                 users1.setFingerprint(fingerprint);
                 users1.setIdCard(idCard);
                 users1.setIdCardInformation(idCardInformation);
@@ -814,7 +827,6 @@ public class HouseOrderController implements HouseOrderAPI {
                 boolean save = usersService.save(users1);
                 houseOrder.setLiveUsersId(users1.getId() + "");
             } else {
-                users.setCardNumber(cardNumber);
                 users.setFingerprint(fingerprint);
                 users.setIdCard(idCard);
                 users.setIdCardInformation(idCardInformation);
@@ -847,11 +859,6 @@ public class HouseOrderController implements HouseOrderAPI {
             houseNumberState.setStatus(4);
             houseNumberState.setStartTime(liveTime);
 
-//        获取设备id
-            LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
-            wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
-            HouseLock houseLock = houseLockService.getOne(wrapperHl);
-            String equipmentState = houseLock.getEquipmentType();
 
             //      修改房间状态
             HouseNumber houseNumber = houseNumberService.getById(houseNumberId);
@@ -867,7 +874,7 @@ public class HouseOrderController implements HouseOrderAPI {
             String start = String.valueOf(liveDate.getTime());
             String end = String.valueOf(leaveDate.getTime());
 //        发放密码
-            String lockStatus = checkIdCardDto.getLockStatus();
+            Integer lockStatus = checkIdCardDto.getLockStatus();
 
 //            添加锁的操作记录
             Admin byId = adminService.getById(checkIdCardDto.getAdminId());
@@ -880,44 +887,81 @@ public class HouseOrderController implements HouseOrderAPI {
             operatingRecord.setContent("姓名:" + houseOrder.getLiveName());
 
 
-            if ("1".equals(lockStatus)) {
-                PasswordDto pr = new PasswordDto();
-                pr.setLuid(equipmentState);
-                pr.setStartTime(start);
-                pr.setEndTime(end);
-                pr.setHouseNumberId(houseNumberId);
-                pr.setOrderNumber(houseOrder.getOrderNumber());
-                Unlocking unlocking = passwordIssController.addPassword(pr);
-                unlockingService.save(unlocking);
-
-                String passWord = unlocking.getPassWord();
-                ArrayList<String> strings = new ArrayList<>();
-                strings.add(cardNumber);
-                weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + liveTime + ",欢迎您入住张玉玲酒店,我们全体员工很荣幸能为您服务,如有任何需要请致电张玉玲,期待为你服务。祝你生活愉快!", null);
-                operatingRecord.setType("添加密码钥匙");
-            } else if ("2".equals(lockStatus)) {
-                CardInfoDto cid = new CardInfoDto();
-                cid.setCard(idCardInformation);
-                cid.setLuid(equipmentState);
-                cid.setCardType(1);
-                cid.setStartTime(start);
-                cid.setEndTime(end);
-                cid.setHouseNumberId(houseNumberId);
-                cid.setOrderNumber(houseOrder.getOrderNumber());
-                Unlocking unlocking = passwordIssController.addCardInfo(cid);
-                unlockingService.save(unlocking);
-                operatingRecord.setType("添加卡片钥匙");
-            } else if ("3".equals(lockStatus)) {
-                FingerprintDataDto fd = new FingerprintDataDto();
-                fd.setLuid(equipmentState);
-                fd.setHouseNumberId(houseNumberId);
-                fd.setOrderNumber(houseOrder.getOrderNumber());
-                fd.setStartTime(start);
-                fd.setEndTime(end);
-                fd.setFingerprintData(fingerprint);
-                Unlocking unlocking = passwordIssController.addFingerprintData(fd);
-                unlockingService.save(unlocking);
-                operatingRecord.setType("添加指纹钥匙");
+            houseOrder.setKeyType(lockStatus);
+            if (5 == lockStatus) {
+//                默认未归还
+                houseOrder.setGiveBack(2);
+            } else {
+                //        获取设备id
+                LambdaQueryWrapper<HouseLock> wrapperHl = new LambdaQueryWrapper<>();
+                wrapperHl.eq(HouseLock::getHouseNumberId, houseNumberId);
+                HouseLock houseLock = houseLockService.getOne(wrapperHl);
+                if (ObjectUtils.isEmpty(houseLock)) {
+                    return CommonResult.fail("请先绑定门锁设备");
+                }
+                String equipmentState = houseLock.getEquipmentType();
+
+                if (1 == lockStatus) {
+                    PasswordDto pr = new PasswordDto();
+                    pr.setLuid(equipmentState);
+                    pr.setStartTime(start);
+                    pr.setEndTime(end);
+                    pr.setHouseNumberId(houseNumberId);
+                    pr.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addPassword(pr);
+//                添加锁的操作记录类型
+                    operatingRecord.setType("添加密码钥匙");
+
+                    unlockingService.save(unlocking);
+                    String passWord = unlocking.getPassWord();
+                    houseOrder.setKeyPassWord(passWord);
+//                ArrayList<String> strings = new ArrayList<>();
+                    // strings.add(cardNumber);
+                    // weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + liveTime + ",欢迎您入住张玉玲酒店,我们全体员工很荣幸能为您服务,如有任何需要请致电张玉玲,期待为你服务。祝你生活愉快!", null);
+                } else if (2 == lockStatus) {
+                    CardInfoDto cid = new CardInfoDto();
+                    cid.setCard(idCardInformation);
+                    cid.setLuid(equipmentState);
+                    cid.setCardType(0);
+                    cid.setStartTime(start);
+                    cid.setEndTime(end);
+                    cid.setHouseNumberId(houseNumberId);
+                    cid.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addCardInfo(cid);
+                    unlockingService.save(unlocking);
+
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加卡片钥匙");
+                    //                默认未归还
+                    houseOrder.setGiveBack(2);
+
+                } else if (3 == lockStatus) {
+                    FingerprintDataDto fd = new FingerprintDataDto();
+                    fd.setLuid(equipmentState);
+                    fd.setHouseNumberId(houseNumberId);
+                    fd.setOrderNumber(houseOrder.getOrderNumber());
+                    fd.setStartTime(start);
+                    fd.setEndTime(end);
+                    fd.setFingerprintData(fingerprint);
+                    Unlocking unlocking = passwordIssController.addFingerprintData(fd);
+                    unlockingService.save(unlocking);
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加指纹钥匙");
+                } else if (4 == lockStatus) {
+                    CardInfoDto cid = new CardInfoDto();
+                    cid.setCard(idCardInformation);
+                    cid.setLuid(equipmentState);
+                    cid.setCardType(1);
+                    cid.setStartTime(start);
+                    cid.setEndTime(end);
+                    cid.setHouseNumberId(houseNumberId);
+                    cid.setOrderNumber(houseOrder.getOrderNumber());
+                    Unlocking unlocking = passwordIssController.addCardInfo(cid);
+                    unlockingService.save(unlocking);
+
+                    //                添加锁的操作记录类型
+                    operatingRecord.setType("添加身份证钥匙");
+                }
             }
 
 
@@ -1670,6 +1714,7 @@ public class HouseOrderController implements HouseOrderAPI {
             House byId = houseService.getById(houseId);
             if (ObjectUtils.isNotEmpty(byId)) {
                 orderPageVo.setUrl(byId.getRoomPicture());
+                orderPageVo.setRoomType(byId.getRoomType());
             }
             String houseNumberId = record.getHouseNumberId();
             HouseNumber byId1 = houseNumberService.getById(houseNumberId);
@@ -2253,6 +2298,15 @@ public class HouseOrderController implements HouseOrderAPI {
         if (ObjectUtils.isEmpty(houseOrder)) {
             return CommonResult.fail("无该订单");
         }
+
+//        判断是是否是房卡和钥匙开门,是的话则需要去前台办理
+        Integer keyType = houseOrder.getKeyType();
+        if (keyType == 2) {
+            return CommonResult.fail("未归还房卡,请前往前台办理退房");
+        } else if (keyType == 5) {
+            return CommonResult.fail("未归还钥匙,请前往前台办理退房");
+        }
+
         try {
             houseOrder.setOrderStatus("8");
 
@@ -2688,7 +2742,7 @@ public class HouseOrderController implements HouseOrderAPI {
                         rpr.setIsSuccess(2);
                         rpr.setRemark(rpr.getRemark() + "|微信支付退款失败:" + tradeState + "--" + TimeExchange.getTime());
 
-                    }else{
+                    } else {
                         rpr = new RefundRecord();
                         rpr.setHouseOrderId(rr.getId());
                         rpr.setUserId(Integer.valueOf(rr.getReserveUserId()));
@@ -2847,20 +2901,20 @@ public class HouseOrderController implements HouseOrderAPI {
             houseOrderService.updateById(one);
             return CommonResult.ok(result);
         }
-        if(reFundRecord.getIsSuccess()==1){
-            result.put("code","200");
-            result.put("message","退款已完成");
+        if (reFundRecord.getIsSuccess() == 1) {
+            result.put("code", "200");
+            result.put("message", "退款已完成");
             one.setOrderStatus("7");
             one.setRefundTime(new Date());
             houseOrderService.updateById(one);
             return CommonResult.ok(result);
         }
-        if(reFundRecord.getIsSuccess()==2){
+        if (reFundRecord.getIsSuccess() == 2) {
             one.setOrderStatus("10");
             one.setRefundTime(new Date());
             houseOrderService.updateById(one);
-            result.put("code","1002");
-            result.put("message","退款失败,原因:"+reFundRecord.getRemark());
+            result.put("code", "1002");
+            result.put("message", "退款失败,原因:" + reFundRecord.getRemark());
             //失败不更新订房单
             return CommonResult.ok(result);
         }
@@ -3038,7 +3092,7 @@ public class HouseOrderController implements HouseOrderAPI {
         JSONObject jsonObject1 = JSONObject.parseObject(tokenResponse);
         String openId = (String) jsonObject1.getString("openid");
         if (openId == null || openId == "") {
-            return CommonResult.fail("openid查询失败:"+tokenResponse);
+            return CommonResult.fail("openid查询失败:" + tokenResponse);
         }
         return CommonResult.ok(openId);
     }
@@ -3069,7 +3123,7 @@ public class HouseOrderController implements HouseOrderAPI {
     /**
      * 每天12点查询一次到时间没有点退房的订单,并自动退房
      */
-    @Scheduled(cron = "0 0 12 * * ? ")
+    @Scheduled(cron = "0 1 0/1 * * ? ")
     @Transactional(rollbackFor = Exception.class)
     public void getOrder() {
         LambdaQueryWrapper<HouseOrder> wrapperHo = new LambdaQueryWrapper<>();
@@ -3192,32 +3246,32 @@ public class HouseOrderController implements HouseOrderAPI {
             for (HouseOrder ownerClass : ownerClasses) {
 //                金额
                 BigDecimal electricCost = ownerClass.getElectricCost();
-                electricCostTotal=electricCostTotal.add(electricCost);
+                electricCostTotal = electricCostTotal.add(electricCost);
 //                能耗
                 BigDecimal electricConsume = ownerClass.getElectricConsume();
-                electricTotal=electricTotal.add(electricConsume);
+                electricTotal = electricTotal.add(electricConsume);
 
                 BigDecimal waterCost = ownerClass.getWaterCost();
-                waterCostTotal=waterCostTotal.add(waterCost);
+                waterCostTotal = waterCostTotal.add(waterCost);
 
                 BigDecimal waterConsume = ownerClass.getWaterConsume();
-                waterTotal=waterTotal.add(waterConsume);
+                waterTotal = waterTotal.add(waterConsume);
 
             }
 
 //            需支付金额
             BigDecimal payPrice = new BigDecimal(0);
 //            总额度大于免费额度
-            if (waterTotal.subtract(water).doubleValue()>0) {
-                BigDecimal totalWaterPrice=(waterTotal.subtract(water)).multiply(waterPrice);
-                payPrice=payPrice.add(totalWaterPrice);
+            if (waterTotal.subtract(water).doubleValue() > 0) {
+                BigDecimal totalWaterPrice = (waterTotal.subtract(water)).multiply(waterPrice);
+                payPrice = payPrice.add(totalWaterPrice);
             }
 
-            if (electricTotal.subtract(electric).doubleValue()>0) {
-                BigDecimal totalElectricPrice=(electricTotal.subtract(electric)).multiply(electricPrice);
-                payPrice=payPrice.add(totalElectricPrice);
+            if (electricTotal.subtract(electric).doubleValue() > 0) {
+                BigDecimal totalElectricPrice = (electricTotal.subtract(electric)).multiply(electricPrice);
+                payPrice = payPrice.add(totalElectricPrice);
             }
-            if (payPrice.doubleValue()>0) {
+            if (payPrice.doubleValue() > 0) {
                 HouseOrder houseOrder = new HouseOrder();
                 //        订单号
 //                String orderNumber = UUID.randomUUID().toString();
@@ -3260,10 +3314,49 @@ public class HouseOrderController implements HouseOrderAPI {
             houseOrderService.saveBatch(houseOrders);
 
 
+        }
+
+
+    }
+
+
+    //    到时间超时还未付款则取消
+    @Scheduled(cron = "0 0/5 * * * ? ")
+    public void getTimeOut() {
+//        当前时间
+        LocalDateTime now = LocalDateTime.now();
+        LambdaQueryWrapper<HouseOrder> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(HouseOrder::getOrderStatus, 1)
+                .le(HouseOrder::getTimeOut, now);
+        List<HouseOrder> list = houseOrderService.list(wrapper);
+
+        ArrayList<HouseOrder> houseOrders = new ArrayList<>();
+        for (HouseOrder houseOrder : list) {
+            String orderNumber = houseOrder.getOrderNumber();
+            String houseNumberId = houseOrder.getHouseNumberId();
+
+            LambdaQueryWrapper<HouseNumberState> wrapperHns = new LambdaQueryWrapper<>();
+            wrapperHns.eq(HouseNumberState::getHouseNumberId, houseNumberId)
+                    .eq(HouseNumberState::getOrderNumber, orderNumber);
+            HouseNumberState houseNumberState = houseNumberStateService.getOne(wrapperHns);
+            if (ObjectUtils.isNotEmpty(houseNumberState)) {
+               houseNumberStateService.removeById(houseNumberState.getId());
+            }
+
+            // 修改订单状态
+            houseOrder.setOrderStatus("9");
+            //  设置取消时间
+            houseOrder.setCancelTime(new Date());
+
+            houseOrders.add(houseOrder);
+        }
 
+        if (houseOrders.size()>0) {
+            houseOrderService.updateBatchById(houseOrders);
         }
 
 
+
     }
 
 

+ 1 - 1
src/main/java/com/template/controller/PasswordIssController.java

@@ -180,7 +180,7 @@ public class PasswordIssController {
             String end = sdf.format(Long.valueOf(ciq.getEndTime()));
             unlocking.setStartTime(start);
             unlocking.setEndTime(end);
-            unlocking.setType("4");
+//            unlocking.setType("4");
 
 
             return unlocking;

+ 2 - 4
src/main/java/com/template/mapper/HouseLockMapper.java

@@ -1,11 +1,9 @@
 package com.template.mapper;
 
-import com.template.model.pojo.HouseLock;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.template.model.pojo.HouseLock;
 import org.apache.ibatis.annotations.Mapper;
 
-import java.util.List;
-
 /**
  * <p>
  *  Mapper 接口
@@ -17,5 +15,5 @@ import java.util.List;
 @Mapper
 public interface HouseLockMapper extends BaseMapper<HouseLock> {
 
-    List<HouseLock> getHouseNumberId(String houseNumberId);
+    HouseLock getHouseNumberId(String houseNumberId);
 }

+ 2 - 2
src/main/java/com/template/mapper/HouseNumberMapper.java

@@ -23,9 +23,9 @@ import java.util.List;
 @Mapper
 public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
 
-    List<HouseStateVo> houseStatePage(@Param("keyWord") String keyWord, @Param("houseType") String houseType, @Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
+    List<HouseStateVo> houseStatePage(@Param("keyWord") String keyWord, @Param("houseType") String houseType, @Param("start") LocalDateTime start, @Param("end") LocalDateTime end,@Param("houseId") Integer houseId,@Param("buildingId") Integer buildingId,@Param("status") Integer status);
 
-    IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType);
+    IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType,@Param("houseId") Integer houseId,@Param("buildingId")Integer buildingId);
 
 
     List<houseLockListVo> houseLockListDto(@Param("roomNumber") String roomNumber, @Param("houseIds") String houseIds);

+ 3 - 3
src/main/java/com/template/model/dto/CheckIdCardDto.java

@@ -17,11 +17,11 @@ public class CheckIdCardDto {
     //  入住人姓名
     private String liveName;
     //  入住人电话
-    private String phone;
+//    private String phone;
     //    入住人身份证号
     private String idCard;
     //    入住人卡号(不传则无法使用密码开锁)
-    private String cardNumber;
+//    private String cardNumber;
     //   入住时间
     private String liveTime;
     //    离开时间
@@ -31,7 +31,7 @@ public class CheckIdCardDto {
     //    入住天数
     private int liveDay;
     //   开锁方式
-    private String lockStatus;
+    private Integer lockStatus;
     //    指纹特征码
     private String fingerprint;
     //    身份证特殊码

+ 3 - 0
src/main/java/com/template/model/dto/ReserveDto.java

@@ -26,4 +26,7 @@ public class ReserveDto {
 //  工号/学号
     private String cardNumber;
     private int adminId;
+
+    private String timeOut;
+
 }

+ 5 - 2
src/main/java/com/template/model/pojo/HouseOrder.java

@@ -119,10 +119,13 @@ public class HouseOrder implements Serializable {
     private Integer keyType;
 
     @ApiModelProperty(value = "开锁密码")
-    private String key_pass_word;
+    private String keyPassWord;
 
     @ApiModelProperty(value = "是否归还 1:已归还,2:未归还")
-    private Integer give_back;
+    private Integer giveBack;
+
+    @ApiModelProperty(value = "超时时间")
+    private String timeOut;
 
     @ApiModelProperty(value = "创建时间")
     @TableField(fill = FieldFill.INSERT)

+ 1 - 1
src/main/java/com/template/model/pojo/Users.java

@@ -29,7 +29,7 @@ public class Users implements Serializable {
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
-    @ApiModelProperty(value = "部门")
+    @ApiModelProperty(value = "身份类型,0为其他,1为学生,4为教职工,5为校友,6为访客应用身份,7为临时人员")
     private String department;
 
     @ApiModelProperty(value = "用户名")

+ 3 - 0
src/main/java/com/template/model/vo/CalendarPageVo.java

@@ -39,4 +39,7 @@ public class CalendarPageVo {
 
     //    营业时间
     private String receivingTime;
+
+    private String building;
+    private String element;
 }

+ 3 - 2
src/main/java/com/template/model/vo/HouseStateVo.java

@@ -2,8 +2,6 @@ package com.template.model.vo;
 
 import lombok.Data;
 
-import java.math.BigDecimal;
-
 @Data
 public class HouseStateVo {
 //    房态id
@@ -39,4 +37,7 @@ public class HouseStateVo {
 
 //    房间类型(1:全日房,2:钟点房)
     private Integer roomType;
+
+    private String building;
+    private String element;
 }

+ 15 - 0
src/main/java/com/template/model/vo/OrderPageVo.java

@@ -111,5 +111,20 @@ public class OrderPageVo {
 
     private String roomNumber;
 
+    @ApiModelProperty(value = "房间类型(1:全日房,2:钟点房)")
+    private Integer roomType;
+
+
+    @ApiModelProperty(value = "钥匙类型开锁的方式(1.密码,2.卡片,3.指纹,4.身份证,5.钥匙)")
+    private Integer keyType;
+
+    @ApiModelProperty(value = "开锁密码")
+    private String keyPassWord;
+
+    @ApiModelProperty(value = "是否归还 1:已归还,2:未归还")
+    private Integer giveBack;
+
+    @ApiModelProperty(value = "超时时间")
+    private String timeOut;
 
 }

+ 9 - 0
src/main/java/com/template/model/vo/ParticularHouseNumberStatusVo.java

@@ -1,5 +1,6 @@
 package com.template.model.vo;
 
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -45,4 +46,12 @@ public class ParticularHouseNumberStatusVo {
 
 //    房间状态 状态 1空闲、2脏房、3预定、4入住、5锁定、6维修
     private int houseStatus;
+
+    private String passWord;
+
+    @ApiModelProperty(value = "楼栋")
+    private String building;
+
+    @ApiModelProperty(value = "单元")
+    private String element;
 }

+ 2 - 4
src/main/java/com/template/services/HouseLockService.java

@@ -1,9 +1,7 @@
 package com.template.services;
 
-import com.template.model.pojo.HouseLock;
 import com.baomidou.mybatisplus.extension.service.IService;
-
-import java.util.List;
+import com.template.model.pojo.HouseLock;
 
 /**
  * <p>
@@ -15,6 +13,6 @@ import java.util.List;
  */
 public interface HouseLockService extends IService<HouseLock> {
 
-    List<HouseLock> getHouseNumberId(String houseNumberId);
+    HouseLock getHouseNumberId(String houseNumberId);
 
 }

+ 2 - 2
src/main/java/com/template/services/HouseNumberService.java

@@ -19,9 +19,9 @@ import java.util.List;
  */
 public interface HouseNumberService extends IService<HouseNumber> {
 
-    List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start,LocalDateTime end);
+    List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start,LocalDateTime end,Integer houseId,Integer buildingId,Integer status);
 
-    PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
+    PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size,Integer houseId,Integer buildingId);
 
     List<houseLockListVo>  houseLockPage(String roomNumber, String houseIds);
 

+ 3 - 5
src/main/java/com/template/services/impl/HouseLockServiceImpl.java

@@ -1,14 +1,12 @@
 package com.template.services.impl;
 
-import com.template.model.pojo.HouseLock;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.template.mapper.HouseLockMapper;
+import com.template.model.pojo.HouseLock;
 import com.template.services.HouseLockService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  * <p>
  *  服务实现类
@@ -23,7 +21,7 @@ public class HouseLockServiceImpl extends ServiceImpl<HouseLockMapper, HouseLock
     HouseLockMapper houseLockMapper;
 
     @Override
-    public List<HouseLock> getHouseNumberId(String houseNumberId) {
+    public HouseLock getHouseNumberId(String houseNumberId) {
         return houseLockMapper.getHouseNumberId(houseNumberId);
     }
 }

+ 4 - 4
src/main/java/com/template/services/impl/HouseNumberServiceImpl.java

@@ -31,16 +31,16 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
     HouseNumberMapper houseNumberMapper;
 
     @Override
-    public List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start, LocalDateTime end) {
+    public List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start, LocalDateTime end,Integer houseId,Integer buildingId,Integer status) {
 
-        List<HouseStateVo> result=houseNumberMapper.houseStatePage(keyWord,houseType,start,end);
+        List<HouseStateVo> result=houseNumberMapper.houseStatePage(keyWord,houseType,start,end,houseId,buildingId,status);
         return result;
     }
 
     @Override
-    public PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size) {
+    public PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size,Integer houseId,Integer buildingId) {
         Page<CalendarPageVo> pageVo = new Page<>(page,size);
-        IPage<CalendarPageVo> result=houseNumberMapper.houseStateCalendarPage(pageVo,keyWord,houseType);
+        IPage<CalendarPageVo> result=houseNumberMapper.houseStateCalendarPage(pageVo,keyWord,houseType,houseId,buildingId);
         return new PageUtils(result);
     }
 

+ 1 - 1
src/main/resources/mapper/template/HouseLockMapper.xml

@@ -8,7 +8,7 @@
         FROM
             `house_lock`
         WHERE
-            FIND_IN_SET( house_number_id, #{houseNumberId})
+            house_number_id = #{houseNumberId}
           AND deleted =0
     </select>
 </mapper>

+ 31 - 2
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -17,7 +17,9 @@
         h.receiving_time as receivingTime,
         hns.id as houseNumberStateId,
         ho.order_number as orderNumber,
-        h.room_type as roomType
+        h.room_type as roomType,
+        b.building,
+        b.element
         FROM
         `house_number` hn
         LEFT JOIN house h ON h.id = hn.house_id
@@ -29,6 +31,9 @@
 
         LEFT JOIN house_order ho ON hns.order_number = ho.order_number
         AND ho.deleted = 0
+        LEFT JOIN building b ON b.id = hn.building_id
+        AND b.deleted = 0
+
         <where>
             hn.deleted = 0
             <if test="houseType != null and houseType != ''">
@@ -39,6 +44,18 @@
                 AND ( hn.room_number LIKE '%' #{keyWord} '%' OR ho.reserve_name LIKE '%' #{keyWord} '%' )
             </if>
 
+            <if test="houseId != null and houseId != ''">
+                AND hn.house_id = #{houseId}
+            </if>
+
+            <if test="buildingId != null and buildingId != ''">
+                AND hn.building_id = #{buildingId}
+            </if>
+
+            <if test="status != null and status != ''">
+                AND hns.status = #{status}
+            </if>
+
         </where>
         ORDER BY
         hn.room_number
@@ -59,11 +76,15 @@
         -- ho.reserve_leave_time as reserveLeaveTime,
         h.room_price as price,
         h.room_live_time as roomLiveTime,
-        h.receiving_time as receivingTime
+        h.receiving_time as receivingTime,
+        b.building,
+        b.element
         FROM
         `house_number` hn
         LEFT JOIN house h ON h.id = hn.house_id
         AND h.deleted = 0
+        LEFT JOIN building b ON b.id = hn.building_id
+        AND b.deleted = 0
         -- LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
         -- AND hns.deleted = 0
 
@@ -79,6 +100,14 @@
                 AND hn.room_number LIKE '%' #{keyWord} '%'
             </if>
 
+            <if test="houseId != null and houseId != ''">
+                AND hn.house_id = #{houseId}
+            </if>
+
+            <if test="buildingId != null and buildingId != ''">
+                AND hn.building_id = #{buildingId}
+            </if>
+
         </where>
         ORDER BY
         hn.room_number