Просмотр исходного кода

房态列表接口数据格式修改,增加返回提示查询无房间提示,增加显示剩余房间数量

lijie 2 лет назад
Родитель
Сommit
496873decd

+ 7 - 5
mhotel/src/com/happy/Model/HouseNumber.java

@@ -3,6 +3,8 @@ package com.happy.Model;
 import com.happy.dto.HouseNumberStatusDto;
 import com.happy.dto.HouseNumberStatusDto;
 
 
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
+
 /**
 /**
  * @Description  
  * @Description  
  * @Author  raojiaolong
  * @Author  raojiaolong
@@ -22,7 +24,7 @@ public class HouseNumber {
 	/**
 	/**
 	 * 房态信息 房态管理-房态管理
 	 * 房态信息 房态管理-房态管理
 	 */
 	 */
-	private HouseNumberStatusDto houseNumberStatus;
+	private List<HouseNumberStatusDto> houseNumberStatuses;
 
 
 
 
 	public String getId() {
 	public String getId() {
@@ -87,11 +89,11 @@ public class HouseNumber {
 		this.status = status;
 		this.status = status;
 	}
 	}
 
 
-	public HouseNumberStatusDto getHouseNumberStatus() {
-		return houseNumberStatus;
+	public List<HouseNumberStatusDto> getHouseNumberStatuses() {
+		return houseNumberStatuses;
 	}
 	}
 
 
-	public void setHouseNumberStatus(HouseNumberStatusDto houseNumberStatus) {
-		this.houseNumberStatus = houseNumberStatus;
+	public void setHouseNumberStatuses(List<HouseNumberStatusDto> houseNumberStatuses) {
+		this.houseNumberStatuses = houseNumberStatuses;
 	}
 	}
 }
 }

+ 14 - 6
mhotel/src/com/happy/action/HouseNumberStatusAction.java

@@ -11,6 +11,7 @@ import lombok.SneakyThrows;
 import org.apache.struts2.ServletActionContext;
 import org.apache.struts2.ServletActionContext;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
+import java.util.List;
 
 
 public class HouseNumberStatusAction extends BaseController implements ModelDriven<HouseNumberStatusDto> {
 public class HouseNumberStatusAction extends BaseController implements ModelDriven<HouseNumberStatusDto> {
     private final HouseNumberStatusDto houseNumberStatusDto = new HouseNumberStatusDto();
     private final HouseNumberStatusDto houseNumberStatusDto = new HouseNumberStatusDto();
@@ -26,12 +27,19 @@ public class HouseNumberStatusAction extends BaseController implements ModelDriv
      * 表格数据 房态管理-房态管理
      * 表格数据 房态管理-房态管理
      */
      */
     public void queryData() {
     public void queryData() {
-        ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
-            put("message", "请求成功");
-            put("code", 200);
-            put("data", houseNumberStatusService.queryData(houseNumberStatusDto));
-        }}.toString());
-
+        List<?> objects = houseNumberStatusService.queryData(houseNumberStatusDto);
+        if (objects != null){
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "请求成功");
+                put("code", 200);
+                put("data", objects);
+            }}.toString());
+        }else {
+            ResUtil.writeJson(ServletActionContext.getResponse(), new JSONObject() {{
+                put("message", "该房型未新增房间号");
+                put("code", 200);
+            }}.toString());
+        }
     }
     }
 
 
     /**
     /**

+ 44 - 20
mhotel/src/com/happy/service/impl/HouseNumberStatusImplService.java

@@ -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;
+    }
 }
 }