|
@@ -134,58 +134,60 @@ public class AppHomePageAction extends ActionSupport implements ServletRequestAw
|
|
|
public String homePage() {
|
|
public String homePage() {
|
|
|
// 获取民宿列表
|
|
// 获取民宿列表
|
|
|
IPage<Hotel> iPage = appHomePageService.getHotelList(queryValue, hotel_township, type, page, rows);
|
|
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()));
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 用户访问量数据
|
|
// 用户访问量数据
|