Commit 8466fca6 by 吕明尚

修改续单

parent c2a587fc
...@@ -96,19 +96,27 @@ public class RoomStatusServiceImpl implements RoomStatusService { ...@@ -96,19 +96,27 @@ public class RoomStatusServiceImpl implements RoomStatusService {
private List<RoomStatusVo> generatorRoomStatusList(SStore store,SRoom room,List<SOrder> orderList,SCleanRecords cleanRecords,Date day, Integer orderType, SConsumer user){ private List<RoomStatusVo> generatorRoomStatusList(SStore store,SRoom room,List<SOrder> orderList,SCleanRecords cleanRecords,Date day, Integer orderType, SConsumer user){
String nowTime = "00:00"; String nowTime = "00:00";
Boolean isAvailable; Boolean isAvailable = false;
if (orderType.equals(OrderTypeEnum.RENEW.getCode())) { if (orderType.equals(OrderTypeEnum.RENEW.getCode())) {
LambdaQueryWrapper<SOrder> queryWrapper = new LambdaQueryWrapper<>(); if (CollectionUtils.isNotEmpty(orderList)) {
queryWrapper.eq(SOrder::getRoomId, room.getId()); //查询当前用户是否有使用中的订单
queryWrapper.eq(SOrder::getConsumerId, user.getId()); orderList = orderList.stream().filter(order -> order.getConsumerId().compareTo(user.getId()) == 0).collect(Collectors.toList());
queryWrapper.eq(SOrder::getStatus, OrderStatusEnum.USED.getCode()); if (CollectionUtils.isEmpty(orderList)) {
//当前时间减15分钟前的订单 isAvailable = true;
queryWrapper.ge(SOrder::getEndDate, DateUtils.addMinutes(DateUtils.getNowDate(), -15)); }
SOrder one = orderService.getOne(queryWrapper);
if (!ObjectUtils.isEmpty(one) | redisUtil.exists(ReceiptRdeisEnum.ROOM_EXPIRE_TIME.getValue() + one.getOrderNo())) {
isAvailable = true;
} else { } else {
isAvailable = false; LambdaQueryWrapper<SOrder> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SOrder::getRoomId, room.getId());
queryWrapper.eq(SOrder::getConsumerId, user.getId());
queryWrapper.in(SOrder::getStatus, OrderStatusEnum.USED.getCode(), OrderStatusEnum.INUSE.getCode());
//当前时间减15分钟前的订单
queryWrapper.ge(SOrder::getEndDate, DateUtils.addMinutes(DateUtils.getNowDate(), -15));
SOrder one = orderService.getOne(queryWrapper);
if (!ObjectUtils.isEmpty(one) | redisUtil.exists(ReceiptRdeisEnum.ROOM_EXPIRE_TIME.getValue() + one.getOrderNo())) {
isAvailable = true;
} else {
isAvailable = false;
}
} }
} else { } else {
isAvailable = false; isAvailable = false;
...@@ -122,6 +130,8 @@ public class RoomStatusServiceImpl implements RoomStatusService { ...@@ -122,6 +130,8 @@ public class RoomStatusServiceImpl implements RoomStatusService {
} }
List<RoomStatusVo> voList = new ArrayList<>(); List<RoomStatusVo> voList = new ArrayList<>();
String finalNowTime = nowTime; String finalNowTime = nowTime;
Boolean finalIsAvailable = isAvailable;
List<SOrder> finalOrderList = orderList;
Arrays.stream(LOCKS).forEach(lock -> { Arrays.stream(LOCKS).forEach(lock -> {
RoomStatusVo vo = new RoomStatusVo(); RoomStatusVo vo = new RoomStatusVo();
Integer lockInt = Integer.parseInt(lock); Integer lockInt = Integer.parseInt(lock);
...@@ -134,9 +144,9 @@ public class RoomStatusServiceImpl implements RoomStatusService { ...@@ -134,9 +144,9 @@ public class RoomStatusServiceImpl implements RoomStatusService {
vo.setStoreId(store.getId()); vo.setStoreId(store.getId());
vo.setRoomId(room.getId()); vo.setRoomId(room.getId());
vo.setTimeHour(timeHour); vo.setTimeHour(timeHour);
vo.setIsAvailable(isAvailable); vo.setIsAvailable(finalIsAvailable);
Date timeHourDate = DateUtils.parseDate(timeHour); Date timeHourDate = DateUtils.parseDate(timeHour);
setTimeHourStatus(vo,timeHourDate,store,room,orderList,cleanRecords,dayStr,finalNowTime,isToday,orderType, user); setTimeHourStatus(vo, timeHourDate, store, room, finalOrderList, cleanRecords, dayStr, finalNowTime, isToday, orderType, user);
voList.add(vo); voList.add(vo);
}); });
return voList; return voList;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment