Browse Source

更新最近代码

liu 2 years ago
parent
commit
05d92c927f
24 changed files with 511 additions and 101 deletions
  1. 1 1
      src/main/java/com/template/AutoCode.java
  2. 6 4
      src/main/java/com/template/api/HouseNumberStateAPI.java
  3. 4 0
      src/main/java/com/template/api/HouseOrderAPI.java
  4. 2 4
      src/main/java/com/template/controller/AppletLoginController.java
  5. 6 2
      src/main/java/com/template/controller/ClassScheduleController.java
  6. 174 67
      src/main/java/com/template/controller/HouseNumberStateController.java
  7. 30 0
      src/main/java/com/template/controller/HouseOrderController.java
  8. 21 0
      src/main/java/com/template/controller/TbCourseSchedulingController.java
  9. 2 2
      src/main/java/com/template/mapper/HouseNumberMapper.java
  10. 2 0
      src/main/java/com/template/mapper/HouseOrderMapper.java
  11. 16 0
      src/main/java/com/template/mapper/TbCourseSchedulingMapper.java
  12. 13 0
      src/main/java/com/template/model/dto/HouseOrderPriceDto.java
  13. 104 0
      src/main/java/com/template/model/pojo/TbCourseScheduling.java
  14. 41 0
      src/main/java/com/template/model/vo/HouseOrderCheckInShowVo.java
  15. 4 3
      src/main/java/com/template/model/vo/OrderPageVo.java
  16. 2 2
      src/main/java/com/template/services/HouseNumberService.java
  17. 3 0
      src/main/java/com/template/services/HouseOrderService.java
  18. 16 0
      src/main/java/com/template/services/TbCourseSchedulingService.java
  19. 4 11
      src/main/java/com/template/services/impl/HouseNumberServiceImpl.java
  20. 11 1
      src/main/java/com/template/services/impl/HouseOrderServiceImpl.java
  21. 20 0
      src/main/java/com/template/services/impl/TbCourseSchedulingServiceImpl.java
  22. 5 4
      src/main/resources/mapper/template/HouseNumberMapper.xml
  23. 19 0
      src/main/resources/mapper/template/HouseOrderMapper.xml
  24. 5 0
      src/main/resources/mapper/template/TbCourseSchedulingMapper.xml

+ 1 - 1
src/main/java/com/template/AutoCode.java

@@ -56,7 +56,7 @@ public class AutoCode {
         mpg.setPackageInfo(pc);
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setInclude("refund_record"); // 设置要映射的表名
+        strategy.setInclude("tb_course_scheduling"); // 设置要映射的表名
         strategy.setNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//下划线转驼峰
         strategy.setEntityLombokModel(true); // 自动lombok;

+ 6 - 4
src/main/java/com/template/api/HouseNumberStateAPI.java

@@ -6,10 +6,7 @@ import com.template.model.result.CommonResult;
 import com.template.model.vo.CleanRoomDtos;
 import com.template.model.vo.DirtyRoomDtos;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
 
 @RequestMapping("/auto/house-number-state")
 public interface HouseNumberStateAPI {
@@ -94,4 +91,9 @@ public interface HouseNumberStateAPI {
     @GetMapping("/reserveHour")
     @ApiOperation(value = "房态管理-管理端钟点房当天占用状态", notes = "房态管理-管理端钟点房当天占用状态", httpMethod = "GET")
     CommonResult reserveHour(String houseNumberId, String startTime, int liveTime, int adminId);
+
+    @GetMapping("/checkInShow")
+    @ApiOperation(value = "房态管理-入住回显", notes = "房态管理-入住回显", httpMethod = "GET")
+    CommonResult checkInShow(@RequestParam String orderNumber);
+
 }

+ 4 - 0
src/main/java/com/template/api/HouseOrderAPI.java

@@ -112,5 +112,9 @@ public interface HouseOrderAPI {
     @ApiOperation(value = "H5——微信退款回调", notes = "小程序——微信退款回调", httpMethod = "POST")
     void returnRefund(HttpServletRequest request, HttpServletResponse response) throws Exception;
 
+    @PostMapping("/payOrderPrice")
+    @ApiOperation(value = "管理端——支付", notes = "管理端——支付", httpMethod = "POST")
+    CommonResult payOrderPrice(@RequestBody HouseOrderPriceDto houseOrderPriceDto);
+
 }
 

+ 2 - 4
src/main/java/com/template/controller/AppletLoginController.java

@@ -1,7 +1,6 @@
 package com.template.controller;
 
 import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fasterxml.jackson.core.type.TypeReference;
@@ -29,7 +28,6 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.client.RestTemplate;
 
-import java.awt.image.Kernel;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.HashMap;
@@ -171,11 +169,11 @@ public class AppletLoginController implements AppletLoginControllerAPI {
 
           //  System.out.println("重定向路径=" + "redirect:"+ "https://chtech.ncjti.edu.cn/hotel/h5/#/?token="+token+"&adminId="+adminId+"&adminMenuId="+adminMenuId+"&adminMenuName="+adminMenuName+"&usersId="+usersId+"&user_head="+user_head);
            return "redirect:"+ "https://chtech.ncjti.edu.cn/hotel/h5/#/?token="+token+"&adminId="+adminId+"&adminMenuId="+adminMenuId+"&adminMenuName="+adminMenuName+"&usersId="+usersId+"&user_head="+user_head+"&name="+name+"&telephone="+telephone+"&department="+identityTitle+"&manager="+manager;
-           // return "redirect:"+ "http://192.168.161.225:8000/hotel/h5/?token="+token+"&adminId="+adminId+"&adminMenuId="+adminMenuId+"&adminMenuName="+adminMenuName+"&usersId="+usersId+"&user_head="+user_head+"&name="+encodeName+"&telephone="+telephone;
+//            return "redirect:"+ "http://192.168.161.33:8000/hotel/h5/?token="+token+"&adminId="+adminId+"&adminMenuId="+adminMenuId+"&adminMenuName="+adminMenuName+"&usersId="+usersId+"&user_head="+user_head+"&name="+encodeName+"&telephone="+telephone+"&department="+identityTitle+"&manager="+manager;
         } catch (Exception e) {
             e.printStackTrace();
             return "redirect:" + "https://chtech.ncjti.edu.cn/hotel/h5/#/error/?errorMsg=" + URLEncoder.encode("获取用户信息失败", "utf-8");
-           //return "redirect:" + "http://192.168.161.225:8000/hotel/h5/#/error/?errorMsg=" + URLEncoder.encode("获取用户信息失败", "utf-8");
+//           return "redirect:" + "http://192.168.161.33:8000/hotel/h5/#/error/?errorMsg=" + URLEncoder.encode("获取用户信息失败", "utf-8");
         }
     }
 

+ 6 - 2
src/main/java/com/template/controller/ClassScheduleController.java

@@ -197,9 +197,13 @@ public class ClassScheduleController implements ClassScheduleAPI {
 
     //    @Scheduled(cron = "0 44 11 * * ? ")
     public void update() {
-        LocalDate localDate = LocalDate.of(2023, 9, 4);
+//        LocalDate localDate = LocalDate.of(2023, 9, 4);
+        LocalDate localDate = LocalDate.of(2024, 2, 26);
 
-        List<ClassSchedule> list = classScheduleService.list(new LambdaQueryWrapper<ClassSchedule>());
+        LambdaQueryWrapper<ClassSchedule> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(ClassSchedule::getXn,"2023-2024")
+                .eq(ClassSchedule::getXq,2);
+        List<ClassSchedule> list = classScheduleService.list(wrapper);
         DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
         ArrayList<ClassSchedule> classSchedules = new ArrayList<>();

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

@@ -106,10 +106,39 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 //        }
 
 //        当时时间
-        Date date = new Date();
+//        Date date = new Date();
+        DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         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);
+        HashMap<Integer, HouseStateVo> map = new HashMap<>();
+        for (HouseStateVo houseStateVo : pageVo1) {
+            Integer houseNumberId = houseStateVo.getHouseNumberId();
+            if (map.containsKey(houseNumberId)) {
+                String reserveLiveTime = houseStateVo.getReserveLiveTime();
+
+                HouseStateVo houseStateVo1 = map.get(houseNumberId);
+                String reserveLiveTime1 = houseStateVo1.getReserveLiveTime();
+
+                LocalDateTime parse = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
+                LocalDateTime parse1 = LocalDateTime.parse(reserveLiveTime1, dateTimeFormatter1);
+
+                if (parse1.isAfter(parse)) {
+                    map.put(houseNumberId,houseStateVo);
+                }
+
+            }else {
+                map.put(houseNumberId,houseStateVo);
+            }
+        }
+        List<HouseStateVo> pageVo=new ArrayList<>();
+        Set<Integer> integers = map.keySet();
+        for (Integer integer : integers) {
+            HouseStateVo houseStateVo = map.get(integer);
+            pageVo.add(houseStateVo);
+        }
 
-        List<HouseStateVo> pageVo = houseNumberService.houseStatePage(keyWord, houseType, date);
         ArrayList<HouseStateManagementVo> vos = new ArrayList<>();
         for (House house : list) {
             HouseStateManagementVo vo = new HouseStateManagementVo();
@@ -266,9 +295,14 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                         String startTime = houseNumberState.getStartTime();
 //                结束时间
                         String endTime = houseNumberState.getEndTime();
+                        LocalDateTime start= LocalDateTime.parse(startTime, dateTimeFormatter1);
+                        Date startDate = Date.from(start.atZone(ZoneId.systemDefault()).toInstant());
+//                        Date startDate = DateUtil.parseDateOnly(startTime);
+
+                        LocalDateTime end= LocalDateTime.parse(endTime, dateTimeFormatter1);
+                        Date endDate = Date.from(end.atZone(ZoneId.systemDefault()).toInstant());
+//                        Date endDate = DateUtil.parseDateOnly(endTime);
 
-                        Date startDate = DateUtil.parseDateOnly(startTime);
-                        Date endDate = DateUtil.parseDateOnly(endTime);
                         Date date1 = Date.from(localDate1.atZone(ZoneId.systemDefault()).toInstant());
                         boolean effectiveDate = DateUtil.isEffectiveDate(date1, startDate, endDate);
                         if (effectiveDate) {
@@ -285,6 +319,9 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                                 houseNumberStatePageVo.setReserveName(houseOrder.getReserveName());
 //                                订单号
                                 houseNumberStatePageVo.setOrderNumber(orderNumber);
+                            }else {
+                                houseNumberStatePageVo.setReserveLiveTime(houseNumberState.getStartTime());
+                                houseNumberStatePageVo.setReserveLeaveTime(houseNumberState.getEndTime());
                             }
 
                         }
@@ -312,6 +349,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
     }
 
+
     @Override
     public CommonResult particular(String houseNumberId, String dateTime) {
         if (ObjectUtils.isEmpty(houseNumberId)) {
@@ -559,13 +597,86 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
 //        获取房间号
         String houseNumberId = reserveDto.getHouseNumberId();
-        //        获取该时间段内的该房间的使用情况
-        List<HouseNumberState> houseNumberStateList = houseNumberStateService.beBooked(houseNumberId, reserveLiveTime, reserveLeaveTime);
+//        判断房型是钟点房还是全日房
+        House house = houseService.getById(houseId);
+        if (ObjectUtils.isEmpty(house)) {
+            return CommonResult.fail("无该房型");
+        }
+        Integer roomType = house.getRoomType();
+        if (roomType == 1) {
+            //        获取该时间段内的该房间的使用情况
+            List<HouseNumberState> houseNumberStateList = houseNumberStateService.beBooked(houseNumberId, reserveLiveTime, reserveLeaveTime);
 
 
-        if (ObjectUtils.isNotEmpty(houseNumberStateList) && houseNumberStateList.size() > 0) {
-            return CommonResult.fail("该时间段无法预定");
+            if (ObjectUtils.isNotEmpty(houseNumberStateList) && houseNumberStateList.size() > 0) {
+                return CommonResult.fail("该时间段无法预定");
+            }
+        } else {
+            DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            LocalDateTime localDateTime = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
+            LocalDateTime localDateTime2 = LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter1);
+
+            //            先判断时间是否在可用时间范围内
+            LocalDateTime start1 = localDateTime.withHour(23).withMinute(59).withSecond(59);
+            String format3 = start1.format(dateTimeFormatter1);
+
+            String[] s1 = reserveLiveTime.split(" ");
+            String startStr = s1[0];
+
+            String[] s2 = reserveLeaveTime.split(" ");
+            String endStr = s2[0];
+
+            //        获取钟点房可用时间段
+            List<ApartmentSetting> list = apartmentSettingService.list(new LambdaQueryWrapper<>());
+            ApartmentSetting apartmentSetting = list.get(0);
+            String hourTime = apartmentSetting.getHourTime();
+            String[] split = hourTime.split(",");
+            Integer status = 1;
+            for (int j = 0; j < split.length; j++) {
+                String s = split[j];
+                String[] split1 = s.split("-");
+                String start2 = split1[0];
+                String end2 = split1[1];
+                String start3 = startStr + " " + start2;
+                String end3 = startStr + " " + end2;
+                LocalDateTime localStart = LocalDateTime.parse(start3, dateTimeFormatter1);
+                LocalDateTime localEnd = LocalDateTime.parse(end3, dateTimeFormatter1);
+
+//            该天最后时间小于结束时间则需要分为2个时间段
+                if (start1.isBefore(localDateTime2)) {
+                    String start4 = endStr + " " + start2;
+                    String end4 = endStr + " " + end2;
+                    LocalDateTime localStart4 = LocalDateTime.parse(start4, dateTimeFormatter1);
+                    LocalDateTime localEnd4 = LocalDateTime.parse(end4, dateTimeFormatter1);
+
+                    if ((localStart.isBefore(localDateTime) || reserveLiveTime.equals(start3)) && (start1.isBefore(localEnd) || format3.equals(end3)) && (localStart4.isBefore(start1) || start4.equals(format3)) && (start1.isBefore(localEnd4) || end4.equals(format3))) {
+//                        可用
+                        status = 2;
+                        break;
+                    }
+
+                } else {
+                    if ((localStart.isBefore(localDateTime) || reserveLiveTime.equals(start3)) && (localDateTime2.isBefore(localEnd) || reserveLeaveTime.equals(end3))) {
+//                        可用
+                        status = 2;
+                        break;
+                    }
+
+                }
+            }
+            if (status == 2) {
+                //        获取该时间段内的房态的使用情况
+                List<HouseNumberState> houseNumberStateList = houseNumberStateService.beBooked(houseNumberId, reserveLiveTime, reserveLeaveTime);
+                if (ObjectUtils.isNotEmpty(houseNumberStateList) && houseNumberStateList.size() > 0) {
+                    return CommonResult.fail("该时间段无法预定");
+                }
+            } else {
+                return CommonResult.fail("当前时间不可预定");
+            }
+
         }
+
+
         try {
             HouseOrder houseOrder = new HouseOrder();
 //            判断是否存在该用户,不存在则添加
@@ -583,10 +694,11 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 users1.setPhone(phone);
                 users1.setCardNumber(cardNumber);
                 users1.setUserMenuId("1");
+                users1.setDepartment("0");
                 boolean save = usersService.save(users1);
-                houseOrder.setLiveUsersId(users1.getId() + "");
+                houseOrder.setReserveUserId(users1.getId() + "");
             } else {
-                houseOrder.setLiveUsersId(users.getId() + "");
+                houseOrder.setReserveUserId(users.getId() + "");
             }
 
 
@@ -659,27 +771,28 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         String houseId = checkIdCardDto.getHouseId();
         String liveTime = checkIdCardDto.getLiveTime();
         String leaveTime = checkIdCardDto.getLeaveTime();
-        //       管理端 计算总金额
-        PriceVo priceVo = houseOrderService.reservePrice(houseId, cardNumber, liveTime, leaveTime);
-        BigDecimal totalPrice = priceVo.getTotalPrice();
-
-        BigDecimal payPrice = checkIdCardDto.getPayPrice();
-//        返回的结果是int类型,-1表示小于,0是等于,1是大于。
-        if (payPrice.compareTo(totalPrice) != 0) {
-            return CommonResult.fail("需付金额异常");
-        }
+//        //       管理端 计算总金额
+//        PriceVo priceVo = houseOrderService.reservePrice(houseId, cardNumber, liveTime, leaveTime);
+//        BigDecimal totalPrice = priceVo.getTotalPrice();
+//
+//        BigDecimal payPrice = checkIdCardDto.getPayPrice();
+////        返回的结果是int类型,-1表示小于,0是等于,1是大于。
+//        if (payPrice.compareTo(totalPrice) != 0) {
+//            return CommonResult.fail("需付金额异常");
+//        }
 
         //        获取该时间段内的该房间的使用情况
-        List<HouseNumberState> houseNumberStateList = houseNumberStateService.beBooked(houseNumberId, liveTime, leaveTime);
-        if (ObjectUtils.isNotEmpty(houseNumberStateList) && houseNumberStateList.size() > 0) {
-            return CommonResult.fail("该时间段无法预定");
-        }
+//        List<HouseNumberState> houseNumberStateList = houseNumberStateService.beBooked(houseNumberId, liveTime, leaveTime);
+//        if (ObjectUtils.isNotEmpty(houseNumberStateList) && houseNumberStateList.size() > 0) {
+//            return CommonResult.fail("该时间段无法预定");
+//        }
 
 
 //        入住人
         String liveName = checkIdCardDto.getLiveName();
 //        电话
         String phone = checkIdCardDto.getPhone();
+
 //        指纹特殊编码
         String fingerprint = checkIdCardDto.getFingerprint();
 //        身份证
@@ -700,49 +813,31 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
 
             LambdaQueryWrapper<HouseOrder> wrapperHo = new LambdaQueryWrapper<>();
             wrapperHo.eq(HouseOrder::getHouseOrderNumber, orderNumber);
-            HouseOrder houseOrder1 = houseOrderService.getOne(wrapperHo);
+            HouseOrder houseOrder = houseOrderService.getOne(wrapperHo);
 
-            HouseOrder houseOrder = new HouseOrder();
-            if (ObjectUtils.isEmpty(houseOrder1)) {
-                //        订单号
-                String orderNumber1 = UUID.randomUUID().toString();
-                orderNumber1 = orderNumber1.replace("-", "");
-                houseOrder.setOrderNumber(orderNumber1);
-                houseOrder.setHouseId(houseId);
-                houseOrder.setHouseNumberId(houseNumberId);
-                houseOrder.setReserveName(liveName);
-                houseOrder.setReservePhone(phone);
-                houseOrder.setReserveLiveTime(liveTime);
-                houseOrder.setReserveLeaveTime(leaveTime);
-                houseOrder.setPrice(priceVo.getPrice());
-                houseOrder.setPayPrice(priceVo.getTotalPrice());
-                houseOrder.setHouseOrderNumber(1);
-                houseOrder.setLiveDay(checkIdCardDto.getLiveDay() + "");
-                houseOrder.setOrderChannel("2");
 
-            } else {
-                BeanUtils.copyProperties(houseOrder1, houseOrder);
-            }
             //            入住人id
-            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);
-                users1.setUserMenuId("1");
-                boolean save = usersService.save(users1);
-                houseOrder.setLiveUsersId(users1.getId() + "");
-            } else {
-                users.setCardNumber(cardNumber);
-                users.setFingerprint(fingerprint);
-                users.setIdCard(idCard);
-                users.setIdCardInformation(idCardInformation);
-                usersService.updateById(users);
-                houseOrder.setLiveUsersId(users.getId() + "");
-            }
+//            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);
+//                users1.setUserMenuId("1");
+//                boolean save = usersService.save(users1);
+//                houseOrder.setLiveUsersId(users1.getId() + "");
+//            } else {
+//                users.setCardNumber(cardNumber);
+//                users.setFingerprint(fingerprint);
+//                users.setIdCard(idCard);
+//                users.setIdCardInformation(idCardInformation);
+//                usersService.updateById(users);
+//                houseOrder.setLiveUsersId(users.getId() + "");
+//            }
+//            houseOrder.setLiveUsersId(users.getId() + "");
+            houseOrder.setLiveUsersId(houseOrder.getReserveUserId());
             DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
             Date liveDate = Date.from(LocalDateTime.parse(liveTime, dateTimeFormatter1).atZone(ZoneId.systemDefault()).toInstant());
             Date leaveDate = Date.from(LocalDateTime.parse(leaveTime, dateTimeFormatter1).atZone(ZoneId.systemDefault()).toInstant());
@@ -752,7 +847,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
             houseOrder.setLiveTime(liveDate);
             houseOrder.setLeaveTime(leaveDate);
             houseOrder.setLiveName(liveName);
-//  todo 获取电起码,水起码
+//  退房时才获取电起码,水起码
 
 //        添加房态或修改房态
             LambdaQueryWrapper<HouseNumberState> wrapperHns = new LambdaQueryWrapper<>();
@@ -812,7 +907,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 unlockingService.save(unlocking);
                 String passWord = unlocking.getPassWord();
                 ArrayList<String> strings = new ArrayList<>();
-                strings.add(cardNumber);
+//                strings.add(cardNumber);
                 weiXiaoComponent.sendNotice(strings, "公寓办理入住成功", "办理入住成功", "您的房间号为:" + roomNumber + ",密码是:" + passWord + "离店时间为:" + liveTime + ",欢迎您入住张玉玲酒店,我们全体员工很荣幸能为您服务,如有任何需要请致电张玉玲,期待为你服务。祝你生活愉快!", null);
             } else if ("2".equals(lockStatus)) {
                 CardInfoDto cid = new CardInfoDto();
@@ -891,6 +986,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         String houseNumberIds = "";
         for (int i = 0; i < houseNumberList.size(); i++) {
             HouseNumber number = houseNumberList.get(i);
+
             String id = number.getId() + "";
             if (i == 0) {
                 houseNumberIds = id;
@@ -1412,7 +1508,7 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         houseNumber.setHouseStatus(1);
 //        关电
         houseNumber.setElectricType("2");
-//        todo 关电
+//        关电
         electricEquipmentService.closeMeterControl(houseNumber.getElectricEquipmentId());
 
         houseNumberService.updateById(houseNumber);
@@ -1566,7 +1662,9 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
                 list.add(houseNumberState);
             }
         }
-
+        if (ObjectUtils.isEmpty(list) || list.size()<=0) {
+            return CommonResult.fail("无锁定房间");
+        }
         houseNumberStateService.updateBatchById(list);
 
 
@@ -1669,6 +1767,15 @@ public class HouseNumberStateController implements HouseNumberStateAPI {
         return CommonResult.ok(reserveDayVos);
     }
 
+    @Override
+    public CommonResult checkInShow(String orderNumber) {
+
+        HouseOrderCheckInShowVo vo = houseOrderService.getOrderNumbre(orderNumber);
+
+
+        return CommonResult.ok(vo);
+    }
+
 
 }
 

+ 30 - 0
src/main/java/com/template/controller/HouseOrderController.java

@@ -1448,6 +1448,17 @@ public class HouseOrderController implements HouseOrderAPI {
 //                再次预定
                 orderPageVo.setType("5");
             }
+//            找到对应订单的房间图片和房间号
+            String houseId = record.getHouseId();
+            House byId = houseService.getById(houseId);
+            if (ObjectUtils.isNotEmpty(byId)) {
+                orderPageVo.setUrl(byId.getRoomPicture());
+            }
+            String houseNumberId = record.getHouseNumberId();
+            HouseNumber byId1 = houseNumberService.getById(houseNumberId);
+            if (ObjectUtils.isNotEmpty(byId1)) {
+                orderPageVo.setRoomNumber(byId1.getRoomNumber());
+            }
 
             orderPageVos.add(orderPageVo);
 
@@ -2395,6 +2406,25 @@ public class HouseOrderController implements HouseOrderAPI {
 
     }
 
+    @Override
+    public CommonResult payOrderPrice(HouseOrderPriceDto houseOrderPriceDto) {
+        Double price = houseOrderPriceDto.getPrice();
+
+        if (price<0) {
+            return CommonResult.fail("金额异常");
+        }
+
+        String orderNumber = houseOrderPriceDto.getOrderNumber();
+
+        LambdaQueryWrapper<HouseOrder> wrapper=new LambdaQueryWrapper<>();
+        wrapper.eq(HouseOrder::getOrderNumber,orderNumber);
+        HouseOrder one = houseOrderService.getOne(wrapper);
+
+
+
+        return null;
+    }
+
     public static void main(String[] args) throws Exception {
 //        获取签名
         //        随机字符串

+ 21 - 0
src/main/java/com/template/controller/TbCourseSchedulingController.java

@@ -0,0 +1,21 @@
+package com.template.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 课程安排 前端控制器
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-07-09
+ */
+@RestController
+@RequestMapping("/auto/tb-course-scheduling")
+public class TbCourseSchedulingController {
+
+}
+

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

@@ -10,7 +10,7 @@ import com.template.model.vo.houseLockListVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -24,7 +24,7 @@ import java.util.List;
 @Mapper
 public interface HouseNumberMapper extends BaseMapper<HouseNumber> {
 
-    List<HouseStateVo> houseStatePage(@Param("keyWord") String keyWord,@Param("houseType") String houseType,@Param("date") Date date);
+    List<HouseStateVo> houseStatePage(@Param("keyWord") String keyWord, @Param("houseType") String houseType, @Param("start") LocalDateTime start,@Param("end") LocalDateTime end);
 
     IPage<CalendarPageVo> houseStateCalendarPage(Page<CalendarPageVo> pageVo, @Param("keyWord") String keyWord, @Param("houseType") String houseType);
 

File diff suppressed because it is too large
+ 2 - 0
src/main/java/com/template/mapper/HouseOrderMapper.java


+ 16 - 0
src/main/java/com/template/mapper/TbCourseSchedulingMapper.java

@@ -0,0 +1,16 @@
+package com.template.mapper;
+
+import com.template.model.pojo.TbCourseScheduling;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 课程安排 Mapper 接口
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-07-09
+ */
+public interface TbCourseSchedulingMapper extends BaseMapper<TbCourseScheduling> {
+
+}

+ 13 - 0
src/main/java/com/template/model/dto/HouseOrderPriceDto.java

@@ -0,0 +1,13 @@
+package com.template.model.dto;
+
+import lombok.Data;
+
+@Data
+public class HouseOrderPriceDto {
+    private String orderNumber;
+
+    private Double price;
+
+    private Integer payType;
+
+}

+ 104 - 0
src/main/java/com/template/model/pojo/TbCourseScheduling.java

@@ -0,0 +1,104 @@
+package com.template.model.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 课程安排
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-07-09
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="TbCourseScheduling对象", description="课程安排")
+public class TbCourseScheduling implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键id,优化查询用,无需推送")
+    @TableId(value = "id", type = IdType.UUID)
+    private Integer id;
+
+    @ApiModelProperty(value = "序号")
+    private String pushId;
+
+    @ApiModelProperty(value = "课程编号")
+    private String pushKcbh;
+
+    @ApiModelProperty(value = "课程名称")
+    private String pushKcmc;
+
+    @ApiModelProperty(value = "教学班id")
+    private String pushJxbid;
+
+    @ApiModelProperty(value = "教学班名称")
+    private String pushJxbmc;
+
+    @ApiModelProperty(value = "教师工号")
+    private String pushJsgh;
+
+    @ApiModelProperty(value = "教师姓名")
+    private String pushJsxm;
+
+    @ApiModelProperty(value = "学年")
+    private String pushXn;
+
+    @ApiModelProperty(value = "学期")
+    private String pushXq;
+
+    @ApiModelProperty(value = "第几周")
+    private String pushDjz;
+
+    @ApiModelProperty(value = "周几")
+    private String pushZj;
+
+    @ApiModelProperty(value = "节次")
+    private String pushJc;
+
+    @ApiModelProperty(value = "上课地点")
+    private String pushSkdd;
+
+    @ApiModelProperty(value = "教学班组成")
+    private String pushJxbzc;
+
+    @ApiModelProperty(value = "课程类型(课设、实验、临时课程相关)")
+    private String pushCourseType;
+
+    @ApiModelProperty(value = "上课开始时间(课设、实验、临时课程相关)")
+    private Date pushStartTime;
+
+    @ApiModelProperty(value = "上课结束时间(课设、实验、临时课程相关)")
+    private Date pushEndTime;
+
+    @ApiModelProperty(value = "校区(课设、实验、临时课程相关)")
+    private String pushCampus;
+
+    @ApiModelProperty(value = "楼栋(课设、实验、临时课程相关)")
+    private String pushBuilding;
+
+    @ApiModelProperty(value = "教学班人数(课设、实验、临时课程相关)")
+    private Integer pushStudentNum;
+
+    @ApiModelProperty(value = "操作类型:new、changed、deleted")
+    @TableField("OPERATION_TYPE")
+    private String operationType;
+
+    @ApiModelProperty(value = "操作时间")
+    @TableField("OPERATION_TIME")
+    private Date operationTime;
+
+
+}

+ 41 - 0
src/main/java/com/template/model/vo/HouseOrderCheckInShowVo.java

@@ -0,0 +1,41 @@
+package com.template.model.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class HouseOrderCheckInShowVo {
+
+    @ApiModelProperty(value = "预定入住时间")
+    private String reserveLiveTime;
+
+    @ApiModelProperty(value = "预定离开时间")
+    private String reserveLeaveTime;
+
+    private String roomType;
+
+    //    房型id
+    private String houseId;
+    //    房间号
+    private String houseNumberId;
+    //  姓名
+    private String liveName;
+    //  入住人电话
+    private String phone;
+    //    入住人身份证号
+    private String idCard;
+    //    入住人卡号(不传则无法使用密码开锁)
+    private String cardNumber;
+    //    房间总价
+    private BigDecimal payPrice;
+    //    入住天数
+    private int liveDay;
+    //     订单号
+    private String orderNumber;
+
+
+
+
+}

+ 4 - 3
src/main/java/com/template/model/vo/OrderPageVo.java

@@ -1,15 +1,12 @@
 package com.template.model.vo;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.List;
 
 @Data
 public class OrderPageVo {
@@ -110,5 +107,9 @@ public class OrderPageVo {
 //    取消:1,支付:2,入住:3,退房:4,再次预定:5
     private String type;
 
+    private String url;
+
+    private String roomNumber;
+
 
 }

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

@@ -7,7 +7,7 @@ import com.template.model.vo.CalendarPageVo;
 import com.template.model.vo.HouseStateVo;
 import com.template.model.vo.houseLockListVo;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -20,7 +20,7 @@ import java.util.List;
  */
 public interface HouseNumberService extends IService<HouseNumber> {
 
-    List<HouseStateVo> houseStatePage(String keyWord, String houseType, Date date);
+    List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start,LocalDateTime end);
 
     PageUtils<CalendarPageVo> houseStateCalendarPage(String keyWord, String houseType, int page, int size);
 

+ 3 - 0
src/main/java/com/template/services/HouseOrderService.java

@@ -1,6 +1,7 @@
 package com.template.services;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.template.model.vo.HouseOrderCheckInShowVo;
 import com.template.model.vo.HouseOrderPageListVo;
 import com.template.model.pojo.HouseOrder;
 import com.template.model.result.PageUtils;
@@ -45,4 +46,6 @@ public interface HouseOrderService extends IService<HouseOrder> {
     List<QueryExportVo> queryExport(String keyWord, String houseType, String orderStatus, String payPriceStartTime, String payPriceEndTime, String refundStartTime, String refundEndTime, String cancelStartTime, String cancelEndTime, String liveStartTime, String liveEndTime, String leaveStartTime, String leaveEndTime);
 
 
+    HouseOrderCheckInShowVo getOrderNumbre(String orderNumber);
+
 }

+ 16 - 0
src/main/java/com/template/services/TbCourseSchedulingService.java

@@ -0,0 +1,16 @@
+package com.template.services;
+
+import com.template.model.pojo.TbCourseScheduling;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 课程安排 服务类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-07-09
+ */
+public interface TbCourseSchedulingService extends IService<TbCourseScheduling> {
+
+}

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

@@ -1,26 +1,19 @@
 package com.template.services.impl;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.template.mapper.HouseNumberMapper;
 import com.template.model.pojo.HouseNumber;
 import com.template.model.result.PageUtils;
 import com.template.model.vo.CalendarPageVo;
 import com.template.model.vo.HouseStateVo;
-import com.template.model.vo.HouseVo;
 import com.template.model.vo.houseLockListVo;
 import com.template.services.HouseNumberService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.apache.http.client.methods.HttpGet;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
 
-import java.util.Date;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -38,9 +31,9 @@ public class HouseNumberServiceImpl extends ServiceImpl<HouseNumberMapper, House
     HouseNumberMapper houseNumberMapper;
 
     @Override
-    public List<HouseStateVo> houseStatePage(String keyWord, String houseType, Date date) {
+    public List<HouseStateVo> houseStatePage(String keyWord, String houseType, LocalDateTime start, LocalDateTime end) {
 
-        List<HouseStateVo> result=houseNumberMapper.houseStatePage(keyWord,houseType,date);
+        List<HouseStateVo> result=houseNumberMapper.houseStatePage(keyWord,houseType,start,end);
         return result;
     }
 

+ 11 - 1
src/main/java/com/template/services/impl/HouseOrderServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.template.common.utils.DateUtil;
 import com.template.mapper.HouseOrderMapper;
+import com.template.model.vo.HouseOrderCheckInShowVo;
 import com.template.model.vo.HouseOrderPageListVo;
 import com.template.model.pojo.*;
 import com.template.model.result.PageUtils;
@@ -286,7 +287,11 @@ public class HouseOrderServiceImpl extends ServiceImpl<HouseOrderMapper, HouseOr
             }
         }
         priceVo.setTotalPrice(totalPrice);
-        BigDecimal price = totalPrice.divide(new BigDecimal(until), 2, BigDecimal.ROUND_HALF_UP);
+        BigDecimal price =new BigDecimal(0);
+        if (totalPrice.doubleValue()>0) {
+             price = totalPrice.divide(new BigDecimal(until), 2, BigDecimal.ROUND_HALF_UP);
+        }
+
         priceVo.setPrice(price);
         return priceVo;
     }
@@ -303,4 +308,9 @@ public class HouseOrderServiceImpl extends ServiceImpl<HouseOrderMapper, HouseOr
         return houseOrderMapper.queryExport(keyWord,houseType,orderStatus,payPriceStartTime,payPriceEndTime,refundStartTime,refundEndTime,cancelStartTime,cancelEndTime,liveStartTime,liveEndTime,leaveStartTime,leaveEndTime);
 
     }
+
+    @Override
+    public HouseOrderCheckInShowVo getOrderNumbre(String orderNumber) {
+        return houseOrderMapper.getOrderNumber(orderNumber);
+    }
 }

+ 20 - 0
src/main/java/com/template/services/impl/TbCourseSchedulingServiceImpl.java

@@ -0,0 +1,20 @@
+package com.template.services.impl;
+
+import com.template.model.pojo.TbCourseScheduling;
+import com.template.mapper.TbCourseSchedulingMapper;
+import com.template.services.TbCourseSchedulingService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 课程安排 服务实现类
+ * </p>
+ *
+ * @author ceshi
+ * @since 2024-07-09
+ */
+@Service
+public class TbCourseSchedulingServiceImpl extends ServiceImpl<TbCourseSchedulingMapper, TbCourseScheduling> implements TbCourseSchedulingService {
+
+}

+ 5 - 4
src/main/resources/mapper/template/HouseNumberMapper.xml

@@ -11,8 +11,8 @@
         h.room_name as houseName,
         hns.`status` AS status,
         ho.reserve_name as reserveName,
-        ho.reserve_live_time as reserveLiveTime,
-        ho.reserve_leave_time as reserveLeaveTime,
+        hns.start_time as reserveLiveTime,
+        hns.end_time as reserveLeaveTime,
         h.room_live_time as roomLiveTime,
         h.receiving_time as receivingTime,
         hns.id as houseNumberStateId,
@@ -24,8 +24,9 @@
         AND h.deleted = 0
         LEFT JOIN house_number_state hns ON hn.id = hns.house_number_id
         AND hns.deleted = 0
-        AND #{date} > hns.start_time
-        AND hns.end_time > #{date}
+        AND #{end}>= hns.start_time
+        AND hns.end_time>= #{start}
+
         LEFT JOIN house_order ho ON hns.order_number = ho.order_number
         AND ho.deleted = 0
         <where>

+ 19 - 0
src/main/resources/mapper/template/HouseOrderMapper.xml

@@ -138,5 +138,24 @@
         ORDER BY
         ho.create_time DESC
     </select>
+    <select id="getOrderNumber" resultType="com.template.model.vo.HouseOrderCheckInShowVo">
+        SELECT ho.reserve_name as liveName,
+               u.phone,
+               ho.reserve_live_time as reserveLiveTime,
+               ho.reserve_leave_time as reserveLeaveTime,
+               h.room_type as roomType,
+               ho.house_id as houseId,
+               ho.house_number_id as houseNumberId,
+               u.id_card as idCard,
+               u.card_number as cardNumber,
+               ho.pay_price as payPrice,
+               ho.live_day as liveDay,
+               ho.order_number as orderNumber
+        FROM `house_order` ho
+                 LEFT JOIN house h on ho.house_id = h.id
+                 LEFT JOIN users u on ho.reserve_user_id = u.id
+        WHERE ho.order_number = #{orderNumber} and ho.deleted=0
+
+    </select>
 
 </mapper>

+ 5 - 0
src/main/resources/mapper/template/TbCourseSchedulingMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.template.mapper.TbCourseSchedulingMapper">
+
+</mapper>