|
@@ -171,13 +171,13 @@ public class HotelImplDao implements HotelDao {
|
|
|
public List<Hotel> queryPagePrice(String sqlx, int page, int rows) {
|
|
public List<Hotel> queryPagePrice(String sqlx, int page, int rows) {
|
|
|
SqlUtil.filterKeyword(sqlx);
|
|
SqlUtil.filterKeyword(sqlx);
|
|
|
int start = (page - 1) * rows;// 每页的起始下标
|
|
int start = (page - 1) * rows;// 每页的起始下标
|
|
|
- String sql = "SELECT a.*,b.min_price,c.hotel_township,d.hotel_township_name, e.h_type_name,c.hotel_name,c.link_pro_url,(SELECT round( AVG( score ), 1 ) as score FROM `booking_comment` bc where bc.comment_parent_id IS NULL AND bc.hotel_id = a.id AND `status` = 1) as score" +
|
|
|
|
|
|
|
+ String sql = "SELECT a.*,(select Count(*) from booking where hotel_id = a.id and order_status = 5) as booking_num,b.min_price,c.hotel_township,d.hotel_township_name, e.h_type_name,c.hotel_name,c.link_pro_url,(SELECT round( AVG( score ), 1 ) as score FROM `booking_comment` bc where bc.comment_parent_id IS NULL AND bc.hotel_id = a.id AND `status` = 1) as score" +
|
|
|
" FROM `hotel` a " +
|
|
" FROM `hotel` a " +
|
|
|
"left join (select manager_id,min(price) min_price from house where status=1 group by manager_id) b on a.manager_id = b.manager_id " +
|
|
"left join (select manager_id,min(price) min_price from house where status=1 group by manager_id) b on a.manager_id = b.manager_id " +
|
|
|
"left join (select id,manager_id,hotel_township,hotel_name,type,status,link_pro_url from admin_manager ) c on a.manager_id = c.id " +
|
|
"left join (select id,manager_id,hotel_township,hotel_name,type,status,link_pro_url from admin_manager ) c on a.manager_id = c.id " +
|
|
|
"LEFT JOIN ( SELECT id,name as hotel_township_name,status FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
|
|
"LEFT JOIN ( SELECT id,name as hotel_township_name,status FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
|
|
|
"LEFT JOIN ( SELECT id,name as h_type_name FROM hotel_dict GROUP BY id) e ON e.id = a.htype " +
|
|
"LEFT JOIN ( SELECT id,name as h_type_name FROM hotel_dict GROUP BY id) e ON e.id = a.htype " +
|
|
|
- " WHERE hstatus = 1 and a.status=1 and c.status = 1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
|
|
|
|
|
|
|
+ " WHERE hstatus = 1 and a.status=1 and c.status = 1 "+sqlx+" ORDER BY booking_num DESC limit :start,:rows ";
|
|
|
MapSqlParameterSource sps = new MapSqlParameterSource();
|
|
MapSqlParameterSource sps = new MapSqlParameterSource();
|
|
|
sps.addValue("start", start);
|
|
sps.addValue("start", start);
|
|
|
sps.addValue("rows", rows);
|
|
sps.addValue("rows", rows);
|
|
@@ -186,6 +186,61 @@ public class HotelImplDao implements HotelDao {
|
|
|
if (list != null && list.size() > 0) return list;
|
|
if (list != null && list.size() > 0) return list;
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 优选 按评分倒序排序
|
|
|
|
|
+ * @param sqlx
|
|
|
|
|
+ * @param page
|
|
|
|
|
+ * @param rows
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Hotel> queryPreferredPagePrice(String sqlx, int page, int rows) {
|
|
|
|
|
+ SqlUtil.filterKeyword(sqlx);
|
|
|
|
|
+ int start = (page - 1) * rows;// 每页的起始下标
|
|
|
|
|
+ String sql = "SELECT a.*,(SELECT round( AVG( score ), 1 ) as score FROM booking_comment WHERE comment_parent_id IS NULL AND hotel_id = a.id AND status = 1) as score_num,b.min_price,c.hotel_township,d.hotel_township_name, e.h_type_name,c.hotel_name,c.link_pro_url,(SELECT round( AVG( score ), 1 ) as score FROM `booking_comment` bc where bc.comment_parent_id IS NULL AND bc.hotel_id = a.id AND `status` = 1) as score" +
|
|
|
|
|
+ " FROM `hotel` a " +
|
|
|
|
|
+ "left join (select manager_id,min(price) min_price from house where status=1 group by manager_id) b on a.manager_id = b.manager_id " +
|
|
|
|
|
+ "left join (select id,manager_id,hotel_township,hotel_name,type,status,link_pro_url from admin_manager ) c on a.manager_id = c.id " +
|
|
|
|
|
+ "LEFT JOIN ( SELECT id,name as hotel_township_name,status FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
|
|
|
|
|
+ "LEFT JOIN ( SELECT id,name as h_type_name FROM hotel_dict GROUP BY id) e ON e.id = a.htype " +
|
|
|
|
|
+ " WHERE hstatus = 1 and a.status=1 and c.status = 1 "+sqlx+" ORDER BY score_num DESC limit :start,:rows ";
|
|
|
|
|
+ MapSqlParameterSource sps = new MapSqlParameterSource();
|
|
|
|
|
+ sps.addValue("start", start);
|
|
|
|
|
+ sps.addValue("rows", rows);
|
|
|
|
|
+ List<Hotel> list = namedParameterJdbcTemplate.query(sql, sps,
|
|
|
|
|
+ new BeanPropertyRowMapper<>(Hotel.class));
|
|
|
|
|
+ if (list != null && list.size() > 0) return list;
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 精选 按销售量倒序排序
|
|
|
|
|
+ * @param sqlx
|
|
|
|
|
+ * @param page
|
|
|
|
|
+ * @param rows
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<Hotel> querySelectedPagePrice(String sqlx, int page, int rows) {
|
|
|
|
|
+ SqlUtil.filterKeyword(sqlx);
|
|
|
|
|
+ int start = (page - 1) * rows;// 每页的起始下标
|
|
|
|
|
+ String sql = "SELECT a.*,(select Count(*) from booking where hotel_id = a.id and order_status = 5) as booking_num,b.min_price,c.hotel_township,d.hotel_township_name, e.h_type_name,c.hotel_name,c.link_pro_url,(SELECT round( AVG( score ), 1 ) as score FROM `booking_comment` bc where bc.comment_parent_id IS NULL AND bc.hotel_id = a.id AND `status` = 1) as score" +
|
|
|
|
|
+ " FROM `hotel` a " +
|
|
|
|
|
+ "left join (select manager_id,min(price) min_price from house where status=1 group by manager_id) b on a.manager_id = b.manager_id " +
|
|
|
|
|
+ "left join (select id,manager_id,hotel_township,hotel_name,type,status,link_pro_url from admin_manager ) c on a.manager_id = c.id " +
|
|
|
|
|
+ "LEFT JOIN ( SELECT id,name as hotel_township_name,status FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
|
|
|
|
|
+ "LEFT JOIN ( SELECT id,name as h_type_name FROM hotel_dict GROUP BY id) e ON e.id = a.htype " +
|
|
|
|
|
+ " WHERE hstatus = 1 and a.status=1 and c.status = 1 "+sqlx+" ORDER BY booking_num DESC limit :start,:rows ";
|
|
|
|
|
+ MapSqlParameterSource sps = new MapSqlParameterSource();
|
|
|
|
|
+ sps.addValue("start", start);
|
|
|
|
|
+ sps.addValue("rows", rows);
|
|
|
|
|
+ List<Hotel> list = namedParameterJdbcTemplate.query(sql, sps,
|
|
|
|
|
+ new BeanPropertyRowMapper<>(Hotel.class));
|
|
|
|
|
+ if (list != null && list.size() > 0) return list;
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public int queryTotalPrice(String sqlx) {
|
|
public int queryTotalPrice(String sqlx) {
|
|
|
// String sql = "SELECT count(*) FROM`hotel` a " +
|
|
// String sql = "SELECT count(*) FROM`hotel` a " +
|