Administrator 2 years ago
parent
commit
beb8eff7ce

+ 1 - 1
mhotel/src/com/happy/Until/Enum/OrderEnum.java

@@ -1,5 +1,5 @@
 package com.happy.Until.Enum;
 
 public enum OrderEnum {
-    间, 晚,房间已满,有空房,微信支付,微信退款;
+    间, 晚,房间已满,超出限定房间数量,有空房,微信支付,微信退款;
 }

+ 7 - 8
mhotel/src/com/happy/action/AppBookingAction.java

@@ -236,7 +236,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
         String endDate = DateUtil.parseDateToStr((Func.parseDate(endTime)), DateUtil.Time_Formatter_Day);
 
         // 创建订单之前,先验证是否有房间
-        String backMessage = appBookService.varificationHouse(houseId, startDate, endDate);
+        String backMessage = appBookService.varificationHouse(houseId, startDate, endDate,houseOrderNumber);
         if (!Func.checkNull(backMessage)) {
             jsonObject.put(B.code, ResultStatusCode.CANNTBOOKING.getStatus());
             jsonObject.put(B.message, backMessage);
@@ -279,7 +279,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
 
         //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款,10退款中
         int status = Func.parseInt(book.getOrderStatus());
-        if (status == 1)
+        if (status == PayEnum.待支付.getNum())
         {
             book.setOrderStatus(Func.parseStr(PayEnum.已取消.getNum())); // 如果在1待支付情况,用户点击取消订单按钮,后台直接修改取消订单操作
             book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
@@ -288,11 +288,11 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             jsonObject.put(B.message, ResultStatusCode.OK.getMsg());
             ResponseUtil.writeJson(ServletActionContext.getResponse(), jsonObject.toString());
             return null;
-        }else if (status == 2 || status == 3)
+        }else if (status == PayEnum.已支付.getNum() || status == PayEnum.待入住.getNum())
         {
             book.setOrderStatus(Func.parseStr(PayEnum.退款中.getNum())); // 如果在2已支付,3待入住 情况,商家点击取消订单按钮,后台先修改状态为退款中,然后走退款流程
             book.setRemake(Func.parseStr(PayEnum.已退单.getPayStatus()));
-        }else if(status == 4)
+        }else if(status == PayEnum.已入住.getNum())
         {
             book.setOrderStatus(Func.parseStr(PayEnum.退款中.getNum())); // 如果在2已支付,3待入住 情况,商家点击取消订单按钮,后台先修改状态为退款中,然后走退款流程
             book.setRemake(Func.parseStr(PayEnum.已退款.getPayStatus()));
@@ -341,7 +341,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
 
         //1待支付,2已支付,3待入住,4已入住,5已消费,6支付超时,7已取消,8已退单,9已退款,10退款中
         int status = Func.parseInt(book.getOrderStatus());
-        if (status == 1)
+        if (status == PayEnum.待入住.getNum())
         {
             book.setOrderStatus(Func.parseStr(PayEnum.已取消.getNum())); // 如果在1待支付情况,用户点击取消订单按钮,后台直接修改取消订单操作
             book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
@@ -352,7 +352,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             ResponseUtil.writeJson(ServletActionContext.getResponse(), jsonObject.toString());
             return null;
 
-        }else if (status == 2 || status == 3)
+        }else if (status == PayEnum.已支付.getNum() || status == PayEnum.待入住.getNum())
         {
             // 如果在2已支付,3待入住 情况,用户点击取消订单按钮,后台先修改状态为退款中,然后走退款流程
             book.setOrderStatus(Func.parseStr(PayEnum.退款中.getNum()));
@@ -675,7 +675,7 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
             return null;
         }
 
-        String backMessage = appBookService.varificationHouse(houseId, startTime, endTime);
+        String backMessage = appBookService.varificationHouse(houseId, startTime, endTime,houseOrderNumber);
 
         if (!Func.checkNull(backMessage)) {
             jsonObject.put(B.code, ResultStatusCode.BAD_REQUEST.getStatus());
@@ -779,7 +779,6 @@ public class AppBookingAction extends ActionSupport implements ServletRequestAwa
                 // 保存支付信息
                 booking.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
                 booking.setOrderStatus(Func.parseStr(PayEnum.待支付.getNum()));
-                booking.setPayTime(DateUtil.getFormatPaternDate(new Date()));
                 booking.setPayAccount(totalPrice);
                 booking.setPayWay(OrderEnum.微信支付.toString());
                 bookService.updateBooking(booking);

+ 1 - 1
mhotel/src/com/happy/service/AppBookService.java

@@ -43,7 +43,7 @@ public interface AppBookService {
 
      * @return
      */
-    public String varificationHouse(String houseId, String startTime, String endTime) ;
+    public String varificationHouse(String houseId, String startTime, String endTime, String houseOrderNumber) ;
 
 
 }

+ 13 - 1
mhotel/src/com/happy/service/impl/AppBookImplService.java

@@ -172,10 +172,15 @@ public class AppBookImplService implements AppBookService {
 //    }
 
     @Override
-    public String varificationHouse(String houseId, String startTime, String endTime) {
+    public String varificationHouse(String houseId, String startTime, String endTime, String houseOrderNumber) {
         House house = houseService.getById(Func.parseInt(houseId));
         if (house == null)
             return "无此房间,请重新查询";
+        if (Func.checkNull(houseOrderNumber))
+            houseOrderNumber = "0";
+
+        if(house.getNumber() < Func.parseInt(houseOrderNumber))
+            return OrderEnum.超出限定房间数量.toString();
 
         // 判断是否有房间,对每个房型进行标识
         StringBuffer strSqlBook = new StringBuffer();
@@ -204,8 +209,15 @@ public class AppBookImplService implements AppBookService {
             totalNum += booking.getHouseOrderNumber();
         }
 
+        // 订单中房数量》= 总房间数量 表示已满
         if (totalNum >= house.getNumber())
             return OrderEnum.房间已满.toString();
+
+        // 现存房数量 《 要订的订房数量   表示已满
+        if((house.getNumber() - totalNum) < Func.parseInt(houseOrderNumber))
+            return OrderEnum.房间已满.toString();
+
+
         return null;
     }
 }

+ 8 - 1
mhotel/src/com/happy/service/impl/BookImplService.java

@@ -127,13 +127,20 @@ public class BookImplService implements BookService {
         if (Func.checkNull(bookingId))
             return "未传入订单id";
 
-        // 是否假删除:1删除,2正常
+        // 是否假删除:0删除,1正常
         Booking book = bookDao.getById(Func.parseInt(bookingId));
         if (book == null)
             return "无此订单,请重新查询";
 
         book.setStatus_del(0);
         book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
+
+        int status = Func.parseInt(book.getOrderStatus());
+        if (status == PayEnum.待支付.getNum()) {
+            book.setOrderStatus(Func.parseStr(PayEnum.已取消.getNum())); // 如果在1待支付情况,用户点击删除订单按钮,后台直接修改取消订单操作,(应当释放房间)
+            book.setUpdateTime(DateUtil.getFormatPaternDate(new Date()));
+            book.setRemake(Func.parseStr(PayEnum.已取消.getPayStatus()));
+        }
         bookDao.updateBooking(book);
         return null;
     }