Browse Source

修改小程序创建订单接口

liu 1 year ago
parent
commit
9c885e4e4f

+ 32 - 8
src/main/java/com/template/controller/HouseOrderController.java

@@ -205,8 +205,6 @@ public class HouseOrderController implements HouseOrderAPI {
 //        判断课表,临时人员
 
 
-
-
         String userId = establishOrderDto.getUserId();
 
         String houseId = establishOrderDto.getHouseId();
@@ -216,6 +214,33 @@ public class HouseOrderController implements HouseOrderAPI {
             return CommonResult.fail("无此房间,请重新查询");
         }
 
+//        计算总金额
+        BigDecimal totalPrice = houseOrderService.getHouseOrderPrice(establishOrderDto.getHouseOrderNumber(), userId, houseId, establishOrderDto.getReserveLiveTime(), establishOrderDto.getReserveLeaveTime(),source);
+        double v = totalPrice.doubleValue();
+        Integer roomType = house.getRoomType();
+//        当金额不是0时,则判断时间是否为当天
+        if (roomType==1) {
+
+            if (v > 0) {
+//                判断是否到12点了
+                LocalDateTime now = LocalDateTime.now();
+                LocalDateTime localDateTime = now.withHour(12).withMinute(0).withSecond(0);
+                if (now.isBefore(localDateTime)) {
+                    return CommonResult.fail("未到预定时间");
+                }
+
+                LocalDateTime start =now.withHour(0).withMinute(0).withSecond(0);
+                LocalDateTime end = start.plusDays(1);
+                LocalDateTime end2 = start.plusDays(2);
+//            预定时间在start和end之前,离店时间在
+                LocalDateTime time = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
+                LocalDateTime time2 = LocalDateTime.parse(reserveLeaveTime, dateTimeFormatter1);
+
+                if (!(time.isAfter(start)&&time.isBefore(end)&&time2.isAfter(end)&&time2.isBefore(end2))) {
+                    return CommonResult.fail("不支持跨天预定");
+                }
+            }
+        }
 
 //        if (house.getNumber() < Func.parseInt(establishOrderDto.getHouseOrderNumber())) {
 //            return CommonResult.fail("超出限定房间数量");
@@ -238,8 +263,7 @@ public class HouseOrderController implements HouseOrderAPI {
                 ids = ids + "," + id;
             }
         }
-//        String reserveLiveTime = establishOrderDto.getReserveLiveTime();
-//        String reserveLeaveTime = establishOrderDto.getReserveLeaveTime();
+
 
 
         LocalDateTime now = LocalDateTime.now();
@@ -268,8 +292,8 @@ public class HouseOrderController implements HouseOrderAPI {
 
         HouseOrder houseOrder = new HouseOrder();
 
-//        计算总金额
-        BigDecimal totalPrice = houseOrderService.getHouseOrderPrice(establishOrderDto.getHouseOrderNumber(), userId, houseId, establishOrderDto.getReserveLiveTime(), establishOrderDto.getReserveLeaveTime(),source);
+
+
 
         BigDecimal payPrice = establishOrderDto.getPayPrice();
 //        返回的结果是int类型,-1表示小于,0是等于,1是大于。
@@ -303,7 +327,7 @@ public class HouseOrderController implements HouseOrderAPI {
             HouseNumberState houseNumberState = new HouseNumberState();
             houseNumberState.setHouseNumberId(id);
             houseNumberState.setStatus(3);
-            Integer roomType = house.getRoomType();
+//            Integer roomType = house.getRoomType();
             if (1 == roomType) {
 //                DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 //                LocalDateTime start = LocalDateTime.parse(reserveLiveTime, dateTimeFormatter1);
@@ -343,7 +367,7 @@ public class HouseOrderController implements HouseOrderAPI {
 
 //    单价   全日房  价格单价=总价/房间数/天数
 //       钟点房  价格单价=总价/房间数
-        Integer roomType = house.getRoomType();
+//        Integer roomType = house.getRoomType();
         BigDecimal price;
         if (roomType == 1) {
             price = payPrice.divide(new BigDecimal(houseOrderNumber), 2, BigDecimal.ROUND_HALF_UP).divide(new BigDecimal(establishOrderDto.getLiveDay()), 2, BigDecimal.ROUND_HALF_UP);

+ 11 - 10
src/main/java/com/template/model/dto/EstablishOrderDto.java

@@ -6,25 +6,26 @@ import java.math.BigDecimal;
 
 @Data
 public class EstablishOrderDto {
-//    用户id
+    //    用户id
     private String userId;
-//     房型id
+    //     房型id
     private String houseId;
-//   需付金额
+    //   需付金额
     private BigDecimal payPrice;
-//     所需房间数
+    //     所需房间数
     private int houseOrderNumber;
-//      住宿时长
+    //      住宿时长
     private String liveDay;
-//    预定入住时间
+    //    预定入住时间
     private String reserveLiveTime;
-//    预定离开时间
+    //    预定离开时间
     private String reserveLeaveTime;
-//  预定人电话
+    //  预定人电话
     private String reservePhone;
-//    预定人姓名
+    //    预定人姓名
     private String reserveName;
-//   免费订单来源
+    //   免费订单来源
     private Integer source;
 
+
 }