AdminManagerImplDao.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. package com.happy.dao.impl;
  2. import com.happy.Model.Admin;
  3. import com.happy.Model.AdminManager;
  4. import com.happy.Until.Func;
  5. import com.happy.Until.SqlUtil;
  6. import com.happy.Until.UUIDUtil;
  7. import com.happy.dao.AdminManagerDao;
  8. import com.happy.dto.townshipCountDTO;
  9. import org.apache.poi.ss.formula.functions.T;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.jdbc.core.BeanPropertyRowMapper;
  12. import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
  13. import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
  14. import org.springframework.stereotype.Repository;
  15. import java.util.List;
  16. @Repository("AdminManagerDao")
  17. public class AdminManagerImplDao implements AdminManagerDao {
  18. @Autowired
  19. private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
  20. public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() {
  21. return namedParameterJdbcTemplate;
  22. }
  23. public void setNamedParameterJdbcTemplate(NamedParameterJdbcTemplate namedParameterJdbcTemplate) {
  24. this.namedParameterJdbcTemplate = namedParameterJdbcTemplate;
  25. }
  26. public String selectSql =
  27. "select " +
  28. "a.id, a.type, a.manager_id, a.link_pro_url, a.admin_name, a.hotel_name, a.hotel_township, b.name hotel_township_name, a.corpn_name, a.corpn_phone, a.level, a.admin_power, a.bank_card, a.card_name, a.bank_name, a.create_id, DATE_FORMAT(a.create_date,'%Y-%m-%d %T') create_date,DATE_FORMAT(a.modify_date,'%Y-%m-%d %T') modify_date,a.status,a.remark,a.openid " +
  29. "from `admin_manager` a " +
  30. "left join hotel_dict b on a.hotel_township = b.id";
  31. @Override
  32. public int insertAdmin(AdminManager adminManager) {
  33. String sql = "INSERT INTO admin_manager (id, type, manager_id, admin_name, password, link_pro_url, hotel_name, hotel_township, corpn_name, corpn_phone, level, admin_power, bank_card, card_name, bank_name, create_id, create_date, status, remark) VALUES (:id, :type, :manager_id ,:admin_name, :password, :link_pro_url, :hotel_name, :hotel_township, :corpn_name, :corpn_phone, :level, :admin_power, :bank_card, :card_name, :bank_name, :create_id, :create_date, :status, :remark)";
  34. MapSqlParameterSource sps = new MapSqlParameterSource();
  35. sps.addValue("type", adminManager.getType());
  36. sps.addValue("manager_id", adminManager.getManagerId());
  37. sps.addValue("admin_name", adminManager.getAdminName());
  38. sps.addValue("password", adminManager.getPassword());
  39. sps.addValue("link_pro_url", adminManager.getLinkProUrl());
  40. sps.addValue("hotel_name", adminManager.getHotelName());
  41. sps.addValue("hotel_township", adminManager.getHotelTownship());
  42. sps.addValue("corpn_name", adminManager.getCorpnName());
  43. sps.addValue("corpn_phone", adminManager.getCorpnPhone());
  44. sps.addValue("level", adminManager.getLevel());
  45. sps.addValue("admin_power", adminManager.getAdminPower());
  46. sps.addValue("bank_card", adminManager.getBankCard());
  47. sps.addValue("card_name", adminManager.getCardName());
  48. sps.addValue("bank_name", adminManager.getBankName());
  49. sps.addValue("create_id", adminManager.getCreateId());
  50. sps.addValue("create_date",UUIDUtil.getNewDate());
  51. sps.addValue("status", 1);
  52. sps.addValue("remark", adminManager.getRemark());
  53. if(adminManager.getId()==null){
  54. sps.addValue("id", UUIDUtil.generateID());
  55. }else{
  56. sps.addValue("id", adminManager.getId());
  57. }
  58. int num = 0;
  59. try{
  60. num = namedParameterJdbcTemplate.update(sql, sps);
  61. }
  62. catch(Exception e){
  63. e.printStackTrace();
  64. }
  65. return num;
  66. }
  67. @Override
  68. public int updateAdmin(AdminManager adminManager) {
  69. StringBuffer stringBuffer = new StringBuffer(" update `admin_manager` set ");
  70. MapSqlParameterSource sps = new MapSqlParameterSource();
  71. // 将要修改的数据填充到查询语句中
  72. appendValue(adminManager,stringBuffer,sps);
  73. stringBuffer.append(" where id=:id ");
  74. sps.addValue("id", adminManager.getId());
  75. int num = 0;
  76. try{
  77. num = namedParameterJdbcTemplate.update(stringBuffer.toString(), sps);
  78. }
  79. catch(Exception e){
  80. e.printStackTrace();
  81. }
  82. return num;
  83. }
  84. @Override
  85. public int delAdmin(int id) {
  86. String sql = "update `admin_manager` set status=0 where id=:id";
  87. MapSqlParameterSource sps = new MapSqlParameterSource();
  88. sps.addValue("id",id);
  89. int num = 0;
  90. try{
  91. num = namedParameterJdbcTemplate.update(sql, sps);
  92. }catch (Exception e){
  93. e.printStackTrace();
  94. }
  95. return num;
  96. }
  97. @Override
  98. public AdminManager getById(int id) {
  99. String sql = selectSql + " WHERE a.id = :id ";
  100. MapSqlParameterSource sps = new MapSqlParameterSource();
  101. sps.addValue("id",id);
  102. List<AdminManager> list = null;
  103. try{
  104. list = namedParameterJdbcTemplate.query(sql, sps,
  105. new BeanPropertyRowMapper<>(AdminManager.class));
  106. }catch (Exception e){
  107. e.printStackTrace();
  108. }
  109. if(list != null && list.size()>0) return list.get(0);
  110. return null;
  111. }
  112. @Override
  113. public List<AdminManager> queryPage(String sqlx, int page, int rows) {
  114. SqlUtil.filterKeyword(sqlx);
  115. int start = (page - 1) * rows;// 每页的起始下标
  116. String sql = selectSql + " WHERE a.status!=0 "+sqlx+" ORDER BY a.id DESC limit :start,:rows ";
  117. MapSqlParameterSource sps = new MapSqlParameterSource();
  118. sps.addValue("start", start);
  119. sps.addValue("rows", rows);
  120. List<AdminManager> list = namedParameterJdbcTemplate.query(sql, sps,
  121. new BeanPropertyRowMapper<>(AdminManager.class));
  122. if (list != null && list.size() > 0) return list;
  123. return null;
  124. }
  125. @Override
  126. public int queryTotal(String sqlx) {
  127. SqlUtil.filterKeyword(sqlx);
  128. String sql = "SELECT count(*) FROM`admin_manager` where status!=0 "+sqlx;
  129. MapSqlParameterSource sps = new MapSqlParameterSource();
  130. return namedParameterJdbcTemplate.queryForInt(sql, sps);
  131. }
  132. @Override
  133. public List<AdminManager> queryList(String sqlx) {
  134. SqlUtil.filterKeyword(sqlx);
  135. String sql = selectSql + " WHERE a.status!=0 "+sqlx ;
  136. List<AdminManager> list = null;
  137. try{
  138. list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(AdminManager.class));
  139. }catch (Exception e){
  140. e.printStackTrace();
  141. }
  142. if(list != null && list.size()>0) return list;
  143. return null;
  144. }
  145. @Override
  146. public List<townshipCountDTO> getTownshipCount(){
  147. String sql = "select a.name,sum(case when b.id is not null then 1 else 0 end) sumNumber,sum(case when b.type=1 then 1 else 0 end) aSum,sum(case when b.type=2 then 1 else 0 end) bSum,sum(case when b.type=3 then 1 else 0 end) cSum from \n" +
  148. "(select * from hotel_dict where code = 10 ) a\n" +
  149. "left join (select a.*,b.hstatus from admin_manager a\n" +
  150. "left join hotel b on a.id = b.manager_id\n" +
  151. "where b.hstatus = 1 and a.status = 1) b on b.hotel_township = a.id\n" +
  152. "group by a.id ORDER BY count(1) DESC";
  153. List<townshipCountDTO> list = null;
  154. try{
  155. list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(townshipCountDTO.class));
  156. }catch (Exception e){
  157. e.printStackTrace();
  158. }
  159. if(list != null && list.size()>0) return list;
  160. return null;
  161. }
  162. @Override
  163. public List<townshipCountDTO> getResidueCount(){
  164. String sql = "select a.name,ifnull(b.number,0) residueNumber from \n" +
  165. "(select * from hotel_dict where code = 10 ) a\n" +
  166. "left join (select d.hotel_township,sum(a.number-ifnull(b.number,0)) number from \n" +
  167. "(select id,manager_id,number from house where status = 1) a\n" +
  168. "left join (select house_id,count(1) number from booking where DATE_FORMAT(order_start_time,'%Y-%m-%d') = CURDATE() and order_status in (2,3,4) GROUP BY house_id) b on a.id = b.house_id\n" +
  169. "left join hotel c on c.manager_id = a.manager_id\n" +
  170. "left join admin_manager d on d.id = c.manager_id\n" +
  171. "where c.hstatus = 1\n" +
  172. "GROUP BY d.hotel_township) b on a.id = b.hotel_township\n" +
  173. "ORDER BY number";
  174. List<townshipCountDTO> list = null;
  175. try{
  176. list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(townshipCountDTO.class));
  177. }catch (Exception e){
  178. e.printStackTrace();
  179. }
  180. if(list != null && list.size()>0) return list;
  181. return null;
  182. }
  183. public void appendValue(AdminManager adminManager, StringBuffer stringBuffer, MapSqlParameterSource sps){
  184. if (!Func.checkNull(String.valueOf(adminManager.getType()))){
  185. stringBuffer.append(" type=:type ,");
  186. sps.addValue("type", adminManager.getType());
  187. }
  188. if (!Func.checkNull(adminManager.getLinkProUrl())){
  189. stringBuffer.append(" link_pro_url=:link_pro_url ,");
  190. sps.addValue("link_pro_url", adminManager.getLinkProUrl());
  191. }
  192. if (!Func.checkNull(adminManager.getAdminName())){
  193. stringBuffer.append(" admin_name=:admin_name ,");
  194. sps.addValue("admin_name", adminManager.getAdminName());
  195. }
  196. if (!Func.checkNull(adminManager.getPassword())){
  197. stringBuffer.append(" password=:password ,");
  198. sps.addValue("password", adminManager.getPassword());
  199. }
  200. if (!Func.checkNull(adminManager.getHotelName())){
  201. stringBuffer.append(" hotel_name=:hotel_name ,");
  202. sps.addValue("hotel_name", adminManager.getHotelName());
  203. }
  204. if (!Func.checkNull(adminManager.getHotelTownship())){
  205. stringBuffer.append(" hotel_township=:hotel_township ,");
  206. sps.addValue("hotel_township", adminManager.getHotelTownship());
  207. }
  208. if (!Func.checkNull(adminManager.getCorpnName())){
  209. stringBuffer.append(" corpn_name=:corpn_name ,");
  210. sps.addValue("corpn_name", adminManager.getCorpnName());
  211. }
  212. if (!Func.checkNull(adminManager.getCorpnPhone())){
  213. stringBuffer.append(" corpn_phone=:corpn_phone ,");
  214. sps.addValue("corpn_phone", adminManager.getCorpnPhone());
  215. }
  216. if (!Func.checkNull(adminManager.getLevel())){
  217. stringBuffer.append(" level=:level ,");
  218. sps.addValue("level", adminManager.getLevel());
  219. }
  220. if (!Func.checkNull(adminManager.getAdminPower())){
  221. stringBuffer.append(" admin_power=:admin_power ,");
  222. sps.addValue("admin_power", adminManager.getAdminPower());
  223. }
  224. if (!Func.checkNull(String.valueOf(adminManager.getBankCard()))){
  225. stringBuffer.append(" bank_card=:bank_card ,");
  226. sps.addValue("bank_card", adminManager.getBankCard());
  227. }
  228. if (!Func.checkNull(adminManager.getCardName())){
  229. stringBuffer.append(" card_name=:card_name ,");
  230. sps.addValue("card_name", adminManager.getCardName());
  231. }
  232. if (!Func.checkNull(adminManager.getBankName())){
  233. stringBuffer.append(" bank_name=:bank_name ,");
  234. sps.addValue("bank_name", adminManager.getBankName());
  235. }
  236. if (!Func.checkNull(String.valueOf(adminManager.getStatus()))){
  237. stringBuffer.append(" status=:status ,");
  238. sps.addValue("status", adminManager.getStatus());
  239. }
  240. if (!Func.checkNull(adminManager.getRemark())){
  241. stringBuffer.append(" remark=:remark ,");
  242. sps.addValue("remark", adminManager.getRemark());
  243. }
  244. stringBuffer.append(" modify_date=:modify_date ");
  245. sps.addValue("modify_date", UUIDUtil.getNewDate());
  246. }
  247. }