HotelImplDao.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. package com.happy.dao.impl;
  2. import com.happy.Model.Hotel;
  3. import com.happy.Until.Func;
  4. import com.happy.Until.UUIDUtil;
  5. import com.happy.dao.HotelDao;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  8. import org.springframework.jdbc.core.namedparam.EmptySqlParameterSource;
  9. import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
  10. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  11. import org.springframework.stereotype.Repository;
  12. import java.util.List;
  13. @Repository("HotelDao")
  14. public class HotelImplDao implements HotelDao {
  15. @Autowired
  16. private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
  17. public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() {
  18. return namedParameterJdbcTemplate;
  19. }
  20. public void setNamedParameterJdbcTemplate(NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
  21. this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
  22. }
  23. @Override
  24. public int insertHotel(Hotel hotel) {
  25. String sql = "INSERT INTO hotel (id, manager_id,cover_img, hname, hposition, hposition_wens, htype, hstatus, open_time, fitup_time, live_time, leave_time, room_number, remark, hconfig, is_order, is_checkout, lock_time, is_canorder, create_id, create_date, status) VALUES (:id,:manager_id,:cover_img,:hname,:hposition,:hposition_wens,:htype,:hstatus,:open_time,:fitup_time,:live_time,:leave_time,:room_number,:remark,:hconfig,:is_order,:is_checkout,:lock_time,:is_canorder, :create_id, :create_date, :status)";
  26. MapSqlParameterSource sps = new MapSqlParameterSource();
  27. sps.addValue("manager_id",hotel.getManagerId());
  28. sps.addValue("cover_img",hotel.getCoverImg());
  29. sps.addValue("hname",hotel.getHname());
  30. sps.addValue("hposition",hotel.getHposition());
  31. sps.addValue("hposition_wens",hotel.getHpositionWens());
  32. sps.addValue("htype",hotel.getHtype());
  33. sps.addValue("hstatus",hotel.getHstatus());
  34. sps.addValue("open_time",hotel.getOpenTime());
  35. sps.addValue("fitup_time",hotel.getFitupTime());
  36. sps.addValue("live_time",hotel.getLiveTime());
  37. sps.addValue("leave_time",hotel.getLeaveTime());
  38. sps.addValue("room_number",hotel.getRoomNumber());
  39. sps.addValue("remark",hotel.getRemark());
  40. sps.addValue("hconfig",hotel.getHconfig());
  41. sps.addValue("is_order",hotel.getIsOrder());
  42. sps.addValue("is_checkout",hotel.getIsCheckout());
  43. sps.addValue("lock_time",hotel.getLockTime());
  44. sps.addValue("is_canorder",hotel.getIsCheckout());
  45. sps.addValue("create_id", hotel.getCreateId());
  46. sps.addValue("create_date",UUIDUtil.getNewDate());
  47. sps.addValue("status", 1);
  48. if(hotel.getId()==null){
  49. sps.addValue("id", UUIDUtil.generateID());
  50. }else{
  51. sps.addValue("id", hotel.getId());
  52. }
  53. int num = 0;
  54. try{
  55. num = namedParameterJdbcTemplate.update(sql, sps);
  56. }
  57. catch(Exception e){
  58. e.printStackTrace();
  59. }
  60. return num;
  61. }
  62. @Override
  63. public int updateHotel(Hotel hotel) {
  64. StringBuffer stringBuffer = new StringBuffer(" update `hotel` set ");
  65. MapSqlParameterSource sps = new MapSqlParameterSource();
  66. // 将要修改的数据填充到查询语句中
  67. appendValue(hotel,stringBuffer,sps);
  68. stringBuffer.append(" where id=:id ");
  69. sps.addValue("id", hotel.getId());
  70. int num = 0;
  71. try{
  72. num = namedParameterJdbcTemplate.update(stringBuffer.toString(), sps);
  73. }
  74. catch(Exception e){
  75. e.printStackTrace();
  76. }
  77. return num;
  78. }
  79. @Override
  80. public int delHotel(int id) {
  81. String sql = "update `hotel` set status=0 where id=:id";
  82. MapSqlParameterSource sps = new MapSqlParameterSource();
  83. sps.addValue("id",id);
  84. int num = 0;
  85. try{
  86. num = namedParameterJdbcTemplate.update(sql, sps);
  87. }catch (Exception e){
  88. e.printStackTrace();
  89. }
  90. return num;
  91. }
  92. @Override
  93. public Hotel getById(int id) {
  94. String sql = " SELECT a.*, c.manager_phone, b.hotel_township_name FROM `hotel` a " +
  95. " LEFT JOIN (SELECT manager_id, corpn_phone manager_phone, hotel_township FROM admin_manager GROUP BY manager_id) c ON a.manager_id = c.manager_id " +
  96. " LEFT JOIN ( SELECT id,name as hotel_township_name FROM hotel_dict GROUP BY id) b ON b.id = c.hotel_township "+
  97. " WHERE a.STATUS = 1 AND a.id = :id ";
  98. // String sql = "SELECT * FROM `hotel` WHERE id = :id ";
  99. MapSqlParameterSource sps = new MapSqlParameterSource();
  100. sps.addValue("id",id);
  101. List<Hotel> list = null;
  102. try{
  103. list = namedParameterJdbcTemplate.query(sql, sps,
  104. new BeanPropertyRowMapper<>(Hotel.class));
  105. }catch (Exception e){
  106. e.printStackTrace();
  107. }
  108. if(list != null && list.size()>0) return list.get(0);
  109. return null;
  110. }
  111. @Override
  112. public Hotel getByManagerId(int id) {
  113. String sql = " SELECT a.*, c.manager_phone, b.hotel_township_name FROM `hotel` a " +
  114. " LEFT JOIN (SELECT manager_id, corpn_phone manager_phone, hotel_township FROM admin_manager GROUP BY manager_id) c ON a.manager_id = c.manager_id " +
  115. " LEFT JOIN ( SELECT id,name as hotel_township_name FROM hotel_dict GROUP BY id) b ON b.id = c.hotel_township "+
  116. " WHERE a.STATUS = 1 AND a.manager_id = :manager_id ";
  117. MapSqlParameterSource sps = new MapSqlParameterSource();
  118. sps.addValue("manager_id",id);
  119. List<Hotel> list = null;
  120. try{
  121. list = namedParameterJdbcTemplate.query(sql, sps,
  122. new BeanPropertyRowMapper<>(Hotel.class));
  123. }catch (Exception e){
  124. e.printStackTrace();
  125. }
  126. if(list != null && list.size()>0) return list.get(0);
  127. return null;
  128. }
  129. @Override
  130. public List<Hotel> queryPage(String sqlx, int page, int rows) {
  131. int start = (page - 1) * rows;// 每页的起始下标
  132. String sql = "SELECT * FROM `hotel` WHERE status=1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
  133. MapSqlParameterSource sps = new MapSqlParameterSource();
  134. sps.addValue("start", start);
  135. sps.addValue("rows", rows);
  136. List<Hotel> list = namedParameterJdbcTemplate.query(sql, sps,
  137. new BeanPropertyRowMapper<>(Hotel.class));
  138. if (list != null && list.size() > 0) return list;
  139. return null;
  140. }
  141. // select a.*,b.min_price from hotel a
  142. // left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id ORDER BY id DESC limit 1,3
  143. @Override
  144. public List<Hotel> queryPagePrice(String sqlx, int page, int rows) {
  145. int start = (page - 1) * rows;// 每页的起始下标
  146. String sql = "SELECT a.*,b.min_price,c.hotel_township , d.hotel_township_name , e.h_type_name FROM `hotel` a " +
  147. "left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id " +
  148. "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
  149. "LEFT JOIN ( SELECT id,name as hotel_township_name FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
  150. "LEFT JOIN ( SELECT id,name as h_type_name FROM hotel_dict GROUP BY id) e ON e.id = a.htype " +
  151. " WHERE status=1 "+sqlx+" ORDER BY id DESC limit :start,:rows ";
  152. MapSqlParameterSource sps = new MapSqlParameterSource();
  153. sps.addValue("start", start);
  154. sps.addValue("rows", rows);
  155. List<Hotel> list = namedParameterJdbcTemplate.query(sql, sps,
  156. new BeanPropertyRowMapper<>(Hotel.class));
  157. if (list != null && list.size() > 0) return list;
  158. return null;
  159. }
  160. @Override
  161. public int queryTotalPrice(String sqlx) {
  162. // String sql = "SELECT count(*) FROM`hotel` a " +
  163. // "left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id " +
  164. // "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
  165. // "where status=1 "+sqlx;
  166. String sql = "SELECT count(*) FROM `hotel` a " +
  167. "left join (select manager_id,min(price) min_price from house group by manager_id) b on a.manager_id = b.manager_id " +
  168. "left join (select manager_id,hotel_township hotel_township from admin_manager group by manager_id) c on a.manager_id = c.manager_id " +
  169. "LEFT JOIN ( SELECT id,name as hotel_township_name FROM hotel_dict GROUP BY id) d ON d.id = c.hotel_township " +
  170. " WHERE status=1 "+sqlx;
  171. MapSqlParameterSource sps = new MapSqlParameterSource();
  172. return namedParameterJdbcTemplate.queryForInt(sql, sps);
  173. }
  174. @Override
  175. public int queryTotal(String sqlx) {
  176. String sql = "SELECT count(*) FROM`hotel` where status=1 "+sqlx;
  177. MapSqlParameterSource sps = new MapSqlParameterSource();
  178. return namedParameterJdbcTemplate.queryForInt(sql, sps);
  179. }
  180. @Override
  181. public List<Hotel> queryList(String sqlx) {
  182. String sql = "SELECT * FROM `hotel` WHERE status=1 "+sqlx;
  183. List<Hotel> list = null;
  184. try{
  185. list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(Hotel.class));
  186. }catch (Exception e){
  187. e.printStackTrace();
  188. }
  189. if(list != null && list.size()>0) return list;
  190. return null;
  191. }
  192. public void appendValue(Hotel hotel, StringBuffer stringBuffer, MapSqlParameterSource sps){
  193. if (!Func.checkNull(String.valueOf(hotel.getManagerId()))){
  194. stringBuffer.append(" manager_id=:manager_id ,");
  195. sps.addValue("manager_id",hotel.getManagerId());
  196. }
  197. if (!Func.checkNull(hotel.getHname())){
  198. stringBuffer.append(" hname=:hname ,");
  199. sps.addValue("hname",hotel.getHname());
  200. }
  201. if (!Func.checkNull(hotel.getCoverImg())){
  202. stringBuffer.append(" cover_img=:cover_img ,");
  203. sps.addValue("cover_img",hotel.getCoverImg());
  204. }
  205. if (!Func.checkNull(hotel.getHposition())){
  206. stringBuffer.append(" hposition=:hposition ,");
  207. sps.addValue("hposition",hotel.getHposition());
  208. }
  209. if (!Func.checkNull(hotel.getHpositionWens())){
  210. stringBuffer.append(" hposition_wens=:hposition_wens ,");
  211. sps.addValue("hposition_wens",hotel.getHpositionWens());
  212. }
  213. if (!Func.checkNull(hotel.getHtype())){
  214. stringBuffer.append(" htype=:htype ,");
  215. sps.addValue("htype",hotel.getHtype());
  216. }
  217. if (!Func.checkNull(String.valueOf(hotel.getHstatus()))){
  218. stringBuffer.append(" hstatus=:hstatus ,");
  219. sps.addValue("hstatus",hotel.getHstatus());
  220. }
  221. if (!Func.checkNull(hotel.getOpenTime())){
  222. stringBuffer.append(" open_time=:open_time ,");
  223. sps.addValue("open_time",hotel.getOpenTime());
  224. }
  225. if (!Func.checkNull(hotel.getFitupTime())){
  226. stringBuffer.append(" fitup_time=:fitup_time ,");
  227. sps.addValue("fitup_time",hotel.getFitupTime());
  228. }
  229. if (!Func.checkNull(hotel.getLiveTime())){
  230. stringBuffer.append(" live_time=:live_time ,");
  231. sps.addValue("live_time",hotel.getLiveTime());
  232. }
  233. if (!Func.checkNull(hotel.getLeaveTime())){
  234. stringBuffer.append(" leave_time=:leave_time ,");
  235. sps.addValue("leave_time",hotel.getLeaveTime());
  236. }
  237. if (!Func.checkNull(String.valueOf(hotel.getRoomNumber()))){
  238. stringBuffer.append(" room_number=:room_number ,");
  239. sps.addValue("room_number",hotel.getRoomNumber());
  240. }
  241. if (!Func.checkNull(hotel.getRemark())){
  242. stringBuffer.append(" remark=:remark ,");
  243. sps.addValue("remark",hotel.getRemark());
  244. }
  245. if (!Func.checkNull(hotel.getHconfig())){
  246. stringBuffer.append(" hconfig=:hconfig ,");
  247. sps.addValue("hconfig",hotel.getHconfig());
  248. }
  249. if (!Func.checkNull(String.valueOf(hotel.getIsOrder()))){
  250. stringBuffer.append(" is_order=:is_order ,");
  251. sps.addValue("is_order",hotel.getIsOrder());
  252. }
  253. if (!Func.checkNull(String.valueOf(hotel.getIsCheckout()))){
  254. stringBuffer.append(" is_checkout=:is_checkout ,");
  255. sps.addValue("is_checkout",hotel.getIsCheckout());
  256. }
  257. if (!Func.checkNull(hotel.getLockTime())){
  258. stringBuffer.append(" lock_time=:lock_time ,");
  259. sps.addValue("lock_time",hotel.getLockTime());
  260. }
  261. if (!Func.checkNull(String.valueOf(hotel.getIsCanorder()))){
  262. stringBuffer.append(" is_canorder=:is_canorder ,");
  263. sps.addValue("is_canorder",hotel.getIsCanorder());
  264. }
  265. if (!Func.checkNull(String.valueOf(hotel.getStatus()))){
  266. stringBuffer.append(" status=:status ,");
  267. sps.addValue("status", hotel.getStatus());
  268. }
  269. stringBuffer.append(" modify_date=:modify_date ");
  270. sps.addValue("modify_date", UUIDUtil.getNewDate());
  271. }
  272. }