Browse Source

民宿修改

夏文涛 2 years ago
parent
commit
5358c7a7e0
1 changed files with 47 additions and 45 deletions
  1. 47 45
      mhotel/src/com/happy/action/AppHomePageAction.java

+ 47 - 45
mhotel/src/com/happy/action/AppHomePageAction.java

@@ -134,58 +134,60 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
     public String homePage() {
         // 获取民宿列表
         IPage<Hotel> iPage = appHomePageService.getHotelList(queryValue, hotel_township, type, page, rows);
-        List<Integer> managerIds = iPage.getPageList().stream().map(Hotel::getManagerId).collect(Collectors.toList());
-
-        //2023-09-22 A-jax 获取最低价
-        if(managerIds.size() > 0){
-            List<HotelPriceDataVo> prices = housePriceService.queryHotelPriceDatas(StringUtils.join(managerIds, ","), TimeExchange.getDateStr());
-
-            List<HotelPriceOneDataVo> oneDatas = new ArrayList<>();
-            //获取当天的
-            for (HotelPriceDataVo hp : prices) {
-                HotelPriceOneDataVo oneData = new HotelPriceOneDataVo();
-                oneData.setSetDate(TimeExchange.getDateStr());
-                oneData.setCreateDate(hp.getCreateDate());
-                oneData.setPrice(hp.getPrice());
-                oneData.setManagerId(hp.getManagerId());
-                oneDatas.add(oneData);
-            }
+        if(iPage.getPageList() != null && iPage.getPageList().size() > 0){
+            List<Integer> managerIds = iPage.getPageList().stream().map(Hotel::getManagerId).collect(Collectors.toList());
+
+            //2023-09-22 A-jax 获取最低价
+            if(managerIds.size() > 0){
+                List<HotelPriceDataVo> prices = housePriceService.queryHotelPriceDatas(StringUtils.join(managerIds, ","), TimeExchange.getDateStr());
+
+                List<HotelPriceOneDataVo> oneDatas = new ArrayList<>();
+                //获取当天的
+                for (HotelPriceDataVo hp : prices) {
+                    HotelPriceOneDataVo oneData = new HotelPriceOneDataVo();
+                    oneData.setSetDate(TimeExchange.getDateStr());
+                    oneData.setCreateDate(hp.getCreateDate());
+                    oneData.setPrice(hp.getPrice());
+                    oneData.setManagerId(hp.getManagerId());
+                    oneDatas.add(oneData);
+                }
 
-            /**
-             * 根据房型ID处理重复的数据
-             */
-            List<HotelPriceOneDataVo> newOneDatas = new ArrayList<>();
-            if(oneDatas.size() > 0){
-                for (Integer managerId : managerIds) {
-                    Optional<HotelPriceOneDataVo> one = oneDatas.stream().filter(e -> e.getManagerId().equals(managerId)).sorted(Comparator.comparing(HotelPriceOneDataVo::getCreateDate, Comparator.reverseOrder())).findFirst();
-                    if (one != null && one.isPresent()) {
-                        HotelPriceOneDataVo oneData = new HotelPriceOneDataVo();
-                        oneData.setSetDate(one.get().getSetDate());
-                        oneData.setCreateDate(one.get().getCreateDate());
-                        oneData.setPrice(one.get().getPrice());
-                        oneData.setManagerId(one.get().getManagerId());
-                        newOneDatas.add(oneData);
+                /**
+                 * 根据房型ID处理重复的数据
+                 */
+                List<HotelPriceOneDataVo> newOneDatas = new ArrayList<>();
+                if(oneDatas.size() > 0){
+                    for (Integer managerId : managerIds) {
+                        Optional<HotelPriceOneDataVo> one = oneDatas.stream().filter(e -> e.getManagerId().equals(managerId)).sorted(Comparator.comparing(HotelPriceOneDataVo::getCreateDate, Comparator.reverseOrder())).findFirst();
+                        if (one != null && one.isPresent()) {
+                            HotelPriceOneDataVo oneData = new HotelPriceOneDataVo();
+                            oneData.setSetDate(one.get().getSetDate());
+                            oneData.setCreateDate(one.get().getCreateDate());
+                            oneData.setPrice(one.get().getPrice());
+                            oneData.setManagerId(one.get().getManagerId());
+                            newOneDatas.add(oneData);
+                        }
                     }
                 }
-            }
 
-            /**
-             * 获取商家集合中最低房型价格
-             */
-            List<PriceHotelDataVo> mins = houseService.gethotelMinPrice(StringUtils.join(managerIds, ","));
-            DecimalFormat decimalFormat = new DecimalFormat("#####.##");
-            for (Hotel hotel: iPage.getPageList()) {
-                Optional<HotelPriceOneDataVo> one = newOneDatas.stream().filter(e -> e.getManagerId().equals(hotel.getManagerId())).findFirst();
-                if(one != null && one.isPresent()){
-                    hotel.setMin_price(decimalFormat.format(one.get().getPrice()));
-                }else{
-                    Optional<PriceHotelDataVo> min = mins.stream().filter(e -> e.getManagerId().equals(hotel.getManagerId())).findFirst();
-                    if(min != null && min.isPresent()){
-                        hotel.setMin_price(decimalFormat.format(min.get().getPrice()));
+                /**
+                 * 获取商家集合中最低房型价格
+                 */
+                List<PriceHotelDataVo> mins = houseService.gethotelMinPrice(StringUtils.join(managerIds, ","));
+                DecimalFormat decimalFormat = new DecimalFormat("#####.##");
+                for (Hotel hotel: iPage.getPageList()) {
+                    Optional<HotelPriceOneDataVo> one = newOneDatas.stream().filter(e -> e.getManagerId().equals(hotel.getManagerId())).findFirst();
+                    if(one != null && one.isPresent()){
+                        hotel.setMin_price(decimalFormat.format(one.get().getPrice()));
+                    }else{
+                        Optional<PriceHotelDataVo> min = mins.stream().filter(e -> e.getManagerId().equals(hotel.getManagerId())).findFirst();
+                        if(min != null && min.isPresent()){
+                            hotel.setMin_price(decimalFormat.format(min.get().getPrice()));
+                        }
                     }
                 }
-            }
 
+            }
         }
 
         // 用户访问量数据