HotelImplDao.java 12 KB

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