|
@@ -48,9 +48,9 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
|
|
|
Integer showType = houseNumberStatusDto.getShowType();
|
|
Integer showType = houseNumberStatusDto.getShowType();
|
|
|
if (StringUtils.isBlank(managerId) || showType == null) return Collections.emptyList();
|
|
if (StringUtils.isBlank(managerId) || showType == null) return Collections.emptyList();
|
|
|
List<House> houseList = housePriceService.queryHouseListByManagerId(houseNumberStatusDto.getManagerId());
|
|
List<House> houseList = housePriceService.queryHouseListByManagerId(houseNumberStatusDto.getManagerId());
|
|
|
- if (houseList.isEmpty()) return houseList;
|
|
|
|
|
|
|
+ if (houseList.isEmpty()) return null;
|
|
|
List<HouseNumber> houseNumberList = houseNumberDao.queryListByHouseIdList(houseList.stream().map(House::getId).collect(Collectors.toList()));
|
|
List<HouseNumber> houseNumberList = houseNumberDao.queryListByHouseIdList(houseList.stream().map(House::getId).collect(Collectors.toList()));
|
|
|
- if (houseNumberList.isEmpty()) return houseList;
|
|
|
|
|
|
|
+ if (houseNumberList.isEmpty()) return null;
|
|
|
|
|
|
|
|
String setDate = houseNumberStatusDto.getSetDate();
|
|
String setDate = houseNumberStatusDto.getSetDate();
|
|
|
Date startDate = DateUtil.parseDateOnly(setDate);
|
|
Date startDate = DateUtil.parseDateOnly(setDate);
|
|
@@ -96,6 +96,7 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
|
|
|
|
|
|
|
|
if (existHouseNumberStatus) {
|
|
if (existHouseNumberStatus) {
|
|
|
houseNumberList.forEach(houseNumber -> {
|
|
houseNumberList.forEach(houseNumber -> {
|
|
|
|
|
+ ArrayList<HouseNumberStatusDto> houseNumberStatuses = new ArrayList<>();
|
|
|
for (HouseNumberStatusDto numberStatusDto : houseNumberStatusDtoList) {
|
|
for (HouseNumberStatusDto numberStatusDto : houseNumberStatusDtoList) {
|
|
|
// 填充预定/入住的一些订单信息
|
|
// 填充预定/入住的一些订单信息
|
|
|
if (numberStatusDto.getStatus() == 5 || numberStatusDto.getStatus() == 6) {
|
|
if (numberStatusDto.getStatus() == 5 || numberStatusDto.getStatus() == 6) {
|
|
@@ -104,9 +105,8 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
|
|
|
}
|
|
}
|
|
|
// 填充房间状态信息
|
|
// 填充房间状态信息
|
|
|
if (Objects.equals(houseNumber.getId(), numberStatusDto.getNumberId())) {
|
|
if (Objects.equals(houseNumber.getId(), numberStatusDto.getNumberId())) {
|
|
|
- houseNumber.setHouseNumberStatus(numberStatusDto);
|
|
|
|
|
- // 已按创建时间倒叙,找到直接退出本次循环
|
|
|
|
|
- break;
|
|
|
|
|
|
|
+ houseNumberStatuses.add(numberStatusDto);
|
|
|
|
|
+ houseNumber.setHouseNumberStatuses(houseNumberStatuses);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -136,23 +136,27 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
|
|
|
dateJsonObject.put("numberId", houseNumber.getId());
|
|
dateJsonObject.put("numberId", houseNumber.getId());
|
|
|
dateJsonObject.put("houseName", house.gethName());
|
|
dateJsonObject.put("houseName", house.gethName());
|
|
|
dateJsonObject.put("numberName", numberName);
|
|
dateJsonObject.put("numberName", numberName);
|
|
|
|
|
+ dateJsonObject.put("sum", getSum(date,houseNumberList));
|
|
|
dateJsonObject.put("housePrice", getPrice(DateUtil.parseDateOnly(date), house, housePriceDtoList));
|
|
dateJsonObject.put("housePrice", getPrice(DateUtil.parseDateOnly(date), house, housePriceDtoList));
|
|
|
- Optional.ofNullable(houseNumber.getHouseNumberStatus()).ifPresent(houseNumberStatus -> {
|
|
|
|
|
- if (date.equals(houseNumberStatus.getSetDate())) {
|
|
|
|
|
- dateJsonObject.put("closeType", houseNumberStatus.getCloseType());
|
|
|
|
|
- dateJsonObject.put("remark", houseNumberStatus.getRemark());
|
|
|
|
|
- dateJsonObject.put("setDate", houseNumberStatus.getSetDate());
|
|
|
|
|
- dateJsonObject.put("status", houseNumberStatus.getStatus());
|
|
|
|
|
- if (houseNumberStatus.getStatus() == 5 || houseNumberStatus.getStatus() == 6) {
|
|
|
|
|
- dateJsonObject.put("orderNum", houseNumberStatus.getOrderNum());
|
|
|
|
|
- dateJsonObject.put("orderUserName", houseNumberStatus.getOrderUserName());
|
|
|
|
|
- dateJsonObject.put("orderUserPhone", houseNumberStatus.getOrderUserPhone());
|
|
|
|
|
- dateJsonObject.put("orderPayAccount", houseNumberStatus.getOrderPayAccount());
|
|
|
|
|
- dateJsonObject.put("orderStartTime", houseNumberStatus.getOrderStartTime());
|
|
|
|
|
- dateJsonObject.put("orderEndTime", houseNumberStatus.getOrderEndTime());
|
|
|
|
|
|
|
+ List<HouseNumberStatusDto> houseNumberStatuses = houseNumber.getHouseNumberStatuses();
|
|
|
|
|
+ if (houseNumberStatuses != null && !houseNumberStatuses.isEmpty()){
|
|
|
|
|
+ houseNumberStatuses.forEach(houseNumberStatus -> {
|
|
|
|
|
+ if (date.equals(houseNumberStatus.getSetDate())) {
|
|
|
|
|
+ dateJsonObject.put("closeType", houseNumberStatus.getCloseType());
|
|
|
|
|
+ dateJsonObject.put("remark", houseNumberStatus.getRemark());
|
|
|
|
|
+ dateJsonObject.put("setDate", houseNumberStatus.getSetDate());
|
|
|
|
|
+ dateJsonObject.put("status", houseNumberStatus.getStatus());
|
|
|
|
|
+ if (houseNumberStatus.getStatus() == 5 || houseNumberStatus.getStatus() == 6) {
|
|
|
|
|
+ dateJsonObject.put("orderNum", houseNumberStatus.getOrderNum());
|
|
|
|
|
+ dateJsonObject.put("orderUserName", houseNumberStatus.getOrderUserName());
|
|
|
|
|
+ dateJsonObject.put("orderUserPhone", houseNumberStatus.getOrderUserPhone());
|
|
|
|
|
+ dateJsonObject.put("orderPayAccount", houseNumberStatus.getOrderPayAccount());
|
|
|
|
|
+ dateJsonObject.put("orderStartTime", houseNumberStatus.getOrderStartTime());
|
|
|
|
|
+ dateJsonObject.put("orderEndTime", houseNumberStatus.getOrderEndTime());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
houseJsonObject.put(date, dateJsonObject);
|
|
houseJsonObject.put(date, dateJsonObject);
|
|
|
});
|
|
});
|
|
|
result.add(houseJsonObject);
|
|
result.add(houseJsonObject);
|
|
@@ -315,4 +319,24 @@ public class HouseNumberStatusImplService implements HouseNumberStatusService {
|
|
|
}
|
|
}
|
|
|
return price;
|
|
return price;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取当日房型剩余房间号
|
|
|
|
|
+ *
|
|
|
|
|
+ * @return 当天剩余房间数量
|
|
|
|
|
+ */
|
|
|
|
|
+ private int getSum(String dateIn, List<HouseNumber> houseNumberList) {
|
|
|
|
|
+ int total = houseNumberList.size();
|
|
|
|
|
+ int used = 0;
|
|
|
|
|
+ for (HouseNumber houseNumber : houseNumberList) {
|
|
|
|
|
+ List<HouseNumberStatusDto> houseNumberStatuses = houseNumber.getHouseNumberStatuses();
|
|
|
|
|
+ if (houseNumberStatuses != null && !houseNumberStatuses.isEmpty()) {
|
|
|
|
|
+ boolean flag = houseNumberStatuses.stream().anyMatch(item -> dateIn.equals(item.getSetDate()));
|
|
|
|
|
+ if (flag) {
|
|
|
|
|
+ used++;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return total - used;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|