Explorar el Código

fix-->续住/提前

覃浩 hace 2 años
padre
commit
ca20880ad3

+ 12 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomBookingOrdersController.java

@@ -301,6 +301,18 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 	 	return Result.OK(isOk);
 	 }
 
+
+	 /**
+	  * 续住/提前
+	  * @return
+	  */
+	 @ApiOperation(value="酒店预定订单-续住/提前", notes="酒店预定订单-续住/提前")
+	 @RequestMapping(value = "/continue-living",method = RequestMethod.POST)
+	 public Result<Boolean> continueLiving(@RequestBody BusOrderFee fees, Date dueOutTime,String livingOrderId , String hotelId) {
+		 Boolean isOk = service.continueLiving(fees,dueOutTime,livingOrderId,hotelId);
+		 return Result.OK(isOk);
+	 }
+
 	 /**
 	  * 单房结账
 	  * @param livingOrderId

+ 1 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/IBusRoomBookingOrdersService.java

@@ -53,6 +53,7 @@ public interface IBusRoomBookingOrdersService extends IService<BusRoomBookingOrd
 
     BigDecimal getOrderFeeTotal(String livingOrderId,String bookingOrderId);
     Boolean settleBillCheckOut(List<BusOrderFee> settleFees, String bookingOrderId);
+    Boolean continueLiving(BusOrderFee settleFee, Date dueOutTime,String livingOrderId,String hotelId);
     Boolean livingSettleBillCheckOut(List<BusOrderFee> settleFees, String livingOrderId);
     Boolean partialSettle(PartialSettleVo param);
     Boolean splitLiving(String livingOrderId);

+ 23 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/service/impl/BusRoomBookingOrdersServiceImpl.java

@@ -1196,6 +1196,29 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    public Boolean continueLiving(BusOrderFee settleFee, Date dueOutTime,String livingOrderId,String hotelId) {
+
+        BusRoomsLivingOrder order = roomsLivingOrderService.getById(livingOrderId);
+        if(order == null) throw new JeecgBootException("订单错误");
+        BusBookingRooms bkRoom = bookingRoomsService.getById(order.getBookingRoomId());
+        if(bkRoom == null) throw new JeecgBootException("订单房间不存在");
+        if(order.getArrivalTime().getTime() >= dueOutTime.getTime()) throw new JeecgBootException("预离时间不能小于预抵时间");
+        order.setDueOutTime(dueOutTime);
+        roomsLivingOrderService.updateById(order);
+        if(settleFee != null && settleFee.getMoney() != null && !settleFee.getMoney().equals(new BigDecimal(0))) {
+            settleFee.setLivingOrderId(livingOrderId);
+            settleFee.setFeeType(2);
+            settleFee.setSubjectType(FeeSubjectType.YU_SHOU.getKey());
+            settleFee.setHotelId(hotelId);
+            settleFee.setRoomId(bkRoom.getRoomId());
+            settleFee.setPreferentialStatus(1); // 未结账
+            feeService.save(settleFee);
+            return  true;
+        }
+        throw new JeecgBootException("设置失败");
+    }
+    @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean settleBillCheckOut(List<BusOrderFee> settleFees, String bookingOrderId) {
         if(bookingOrderId != null && !bookingOrderId.isEmpty()) {
             List<BusRoomsLivingOrder> livingOrders = roomsLivingOrderService.list(Wrappers.<BusRoomsLivingOrder>query()