覃浩 2 vuotta sitten
vanhempi
commit
6fa3af4c11

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

@@ -510,7 +510,11 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 	 public  Result<Boolean> changeRoom(@RequestBody List<BusLivingLayoutDayPrice> prices, String livingOrderId,String changeRoomId) {
 	 public  Result<Boolean> changeRoom(@RequestBody List<BusLivingLayoutDayPrice> prices, String livingOrderId,String changeRoomId) {
 		 return Result.OK(service.changeLivingRoom(prices, livingOrderId, changeRoomId));
 		 return Result.OK(service.changeLivingRoom(prices, livingOrderId, changeRoomId));
 	 }
 	 }
-
+	 @ApiOperation(value="撤销", notes="撤销")
+	 @RequestMapping(value = "/reverse-living",method = RequestMethod.GET)
+	 public  Result<Boolean> reverseLiving(String livingOrderId,String hotelId) {
+	 	return  Result.OK(service.reverseLiving(livingOrderId,hotelId));
+	 }
 
 
 
 
 
 

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomBookingOrders.java

@@ -204,5 +204,7 @@ public class BusRoomBookingOrders implements Serializable {
 
 
     @TableField(exist = false)
     @TableField(exist = false)
     private Integer settleType;
     private Integer settleType;
+    @TableField(exist = false)
+    private String teamTag;
 
 
 }
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusRoomsLivingOrder.java

@@ -231,4 +231,7 @@ public class BusRoomsLivingOrder implements Serializable {
     @TableField(exist = false)
     @TableField(exist = false)
     private Integer liveDayCount;
     private Integer liveDayCount;
 
 
+    @TableField(exist = false)
+    private String teamTag;
+
 }
 }

+ 3 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/entity/BusTeam.java

@@ -61,4 +61,7 @@ public class BusTeam implements Serializable {
 	@Excel(name = "订单创建类型,1预约2入住", width = 15)
 	@Excel(name = "订单创建类型,1预约2入住", width = 15)
     @ApiModelProperty(value = "订单创建类型,1预约2入住")
     @ApiModelProperty(value = "订单创建类型,1预约2入住")
     private Integer orderType;
     private Integer orderType;
+
+	private String hotelId;
+	private Integer sortIndex;
 }
 }

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

@@ -85,4 +85,5 @@ public interface IBusRoomBookingOrdersService extends IService<BusRoomBookingOrd
      Page<HashMap<String, Object>> ruZhuHistoryList(Page<HashMap<String, Object>> page, String hotelId, String phone);
      Page<HashMap<String, Object>> ruZhuHistoryList(Page<HashMap<String, Object>> page, String hotelId, String phone);
      String delBusData(String hotelId);
      String delBusData(String hotelId);
      Boolean 退你妈的单(List<String> feeId);
      Boolean 退你妈的单(List<String> feeId);
+     Boolean reverseLiving(String livingOrderId, String hotelId);
 }
 }

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

@@ -132,6 +132,9 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
     @Resource
     @Resource
     private IBusOrderFeeGoodsService orderFeeGoodsService;
     private IBusOrderFeeGoodsService orderFeeGoodsService;
 
 
+    @Resource
+    private IBusCancelService cancelService;
+
     @Override
     @Override
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public String bookingOrderSave(BookingOrderSaveDto item, Boolean isTeam,Boolean isLiving,String hotelId) {
     public String bookingOrderSave(BookingOrderSaveDto item, Boolean isTeam,Boolean isLiving,String hotelId) {
@@ -289,8 +292,21 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
             //<editor-fold msg="团队标志">
             //<editor-fold msg="团队标志">
             if(isTeam) {
             if(isTeam) {
                 BusTeam team = new BusTeam();
                 BusTeam team = new BusTeam();
+                List<BusTeam> existTeams = teamService.list(Wrappers.<BusTeam>query().eq("is_delete", 0).eq("hotel_id", hotelId));
+                Integer sortIndex = 0;
+                List<Integer> indexs = existTeams.stream().map(s->s.getSortIndex()).collect(Collectors.toList());
+                while(true){
+                    Integer finalSortIndex = sortIndex;
+                    if(indexs.stream().filter(s->s.equals(finalSortIndex)).count() == 0) {
+                        break;
+                    }
+                    sortIndex++;
+                }
                 team.setBookingOrderId(bookingId);
                 team.setBookingOrderId(bookingId);
                 team.setIsDelete(0);
                 team.setIsDelete(0);
+                team.setHotelId(hotelId);
+                team.setSortIndex(sortIndex);
+
                 teamService.save(team);
                 teamService.save(team);
             }
             }
             //</editor-fold>
             //</editor-fold>
@@ -1333,6 +1349,11 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
                     });
                     });
                     roomsService.updateBatchById(baseRooms);
                     roomsService.updateBatchById(baseRooms);
                 }
                 }
+                BusTeam team = teamService.getOne(Wrappers.<BusTeam>query().eq("booking_order_id",bookingOrderId));
+                if(team != null) {
+                    team.setIsDelete(1);
+                    teamService.updateById(team);
+                }
                 return true;
                 return true;
                 // todo 对账
                 // todo 对账
             } else throw new JeecgBootException("未找到任何入住订单");
             } else throw new JeecgBootException("未找到任何入住订单");
@@ -2564,4 +2585,29 @@ public class BusRoomBookingOrdersServiceImpl extends ServiceImpl<BusRoomBookingO
         feeService.updateById(fee);
         feeService.updateById(fee);
     }
     }
 
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean reverseLiving(String livingOrderId, String hotelId) {
+        BusCancel cancel = cancelService.getOne(Wrappers.<BusCancel>query().eq("hotel_id",hotelId));
+        BusRoomsLivingOrder livingOrder = roomsLivingOrderService.getById(livingOrderId);
+        if(cancel != null) {
+            Calendar c1 = Calendar.getInstance();
+            c1.setTime(livingOrder.getArrivalTime());
+            Calendar c2 = Calendar.getInstance();
+            c2.setTime(new Date());
+
+            Integer diff = DateUtils.dateDiff('m',c1,c2);
+            if(cancel.getStatus().equals(0)) throw new JeecgBootException("不允许撤销入住");
+            if(Math.abs(diff)>cancel.getMinute()) throw new JeecgBootException("超过可撤销入住时间");
+        }
+
+        BusBookingRooms bkroom = bookingRoomsService.getById(livingOrder.getBookingRoomId());
+        CesRooms room = roomsService.getById(bkroom.getRoomId());
+        room.setRoomStatus(RoomStatusEnum.EMPTY_DIRTY.getKey());
+        roomsService.updateById(room);
+        feeService.remove(Wrappers.<BusOrderFee>query().eq("living_order_id", livingOrderId));
+        roomsLivingOrderService.removeById(livingOrderId);
+        return true;
+    }
+
 }
 }

+ 2 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/rooms/controller/CesRoomsController.java

@@ -187,6 +187,7 @@ public class CesRoomsController {
                             Optional<BusTeam> opTeam = teamOrders.stream().filter(r->r.getBookingOrderId().equals(bookingOrders.getId())).findFirst();
                             Optional<BusTeam> opTeam = teamOrders.stream().filter(r->r.getBookingOrderId().equals(bookingOrders.getId())).findFirst();
                             if(opTeam.isPresent()) {
                             if(opTeam.isPresent()) {
                                 opFindRoomVo.get().getBookingData().getBookingOrder().setIsTeam(true);
                                 opFindRoomVo.get().getBookingData().getBookingOrder().setIsTeam(true);
+                                opFindRoomVo.get().getBookingData().getBookingOrder().setTeamTag("团"+opTeam.get().getSortIndex());
                             }
                             }
                         }
                         }
                         if(opFindRoomVo.get().getLivingData().getLivingOrder() != null) {
                         if(opFindRoomVo.get().getLivingData().getLivingOrder() != null) {
@@ -194,6 +195,7 @@ public class CesRoomsController {
                             Optional<BusTeam> opTeam = teamOrders.stream().filter(r->r.getBookingOrderId().equals(livingOrder.getBookingOrderId())).findFirst();
                             Optional<BusTeam> opTeam = teamOrders.stream().filter(r->r.getBookingOrderId().equals(livingOrder.getBookingOrderId())).findFirst();
                             if(opTeam.isPresent()) {
                             if(opTeam.isPresent()) {
                                 opFindRoomVo.get().getLivingData().getLivingOrder().setIsTeam(true);
                                 opFindRoomVo.get().getLivingData().getLivingOrder().setIsTeam(true);
+                                opFindRoomVo.get().getLivingData().getLivingOrder().setTeamTag("团"+opTeam.get().getSortIndex());
                             }
                             }
                         }
                         }
                         roomVo.setBookingData(opFindRoomVo.get().getBookingData());
                         roomVo.setBookingData(opFindRoomVo.get().getBookingData());