package com.happy.dao.impl; import com.happy.Model.Admin; import com.happy.Model.AdminManager; import com.happy.Until.Func; import com.happy.Until.SqlUtil; import com.happy.Until.UUIDUtil; import com.happy.dao.AdminManagerDao; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.stereotype.Repository; import java.util.List; @Repository("AdminManagerDao") public class AdminManagerImplDao implements AdminManagerDao { @Autowired private NamedParameterJdbcTemplate namedParameterJdbcTemplate; public NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() { return namedParameterJdbcTemplate; } public void setNamedParameterJdbcTemplate(NamedParameterJdbcTemplate namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; } public String selectSql = "select " + "a.id, a.manager_id, 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 " + "from `admin_manager` a " + "left join hotel_dict b on a.hotel_township = b.id"; @Override public int insertAdmin(AdminManager adminManager) { String sql = "INSERT INTO admin_manager (id, manager_id, admin_name, password, 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, :manager_id ,:admin_name, :password, :hotel_name, :hotel_township, :corpn_name, :corpn_phone, :level, :admin_power, :bank_card, :card_name, :bank_name, :create_id, :create_date, :status, :remark)"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("manager_id", adminManager.getManagerId()); sps.addValue("admin_name", adminManager.getAdminName()); sps.addValue("password", adminManager.getPassword()); sps.addValue("hotel_name", adminManager.getHotelName()); sps.addValue("hotel_township", adminManager.getHotelTownship()); sps.addValue("corpn_name", adminManager.getCorpnName()); sps.addValue("corpn_phone", adminManager.getCorpnPhone()); sps.addValue("level", adminManager.getLevel()); sps.addValue("admin_power", adminManager.getAdminPower()); sps.addValue("bank_card", adminManager.getBankCard()); sps.addValue("card_name", adminManager.getCardName()); sps.addValue("bank_name", adminManager.getBankName()); sps.addValue("create_id", adminManager.getCreateId()); sps.addValue("create_date",UUIDUtil.getNewDate()); sps.addValue("status", 1); sps.addValue("remark", adminManager.getRemark()); if(adminManager.getId()==null){ sps.addValue("id", UUIDUtil.generateID()); }else{ sps.addValue("id", adminManager.getId()); } int num = 0; try{ num = namedParameterJdbcTemplate.update(sql, sps); } catch(Exception e){ e.printStackTrace(); } return num; } @Override public int updateAdmin(AdminManager adminManager) { StringBuffer stringBuffer = new StringBuffer(" update `admin_manager` set "); MapSqlParameterSource sps = new MapSqlParameterSource(); // 将要修改的数据填充到查询语句中 appendValue(adminManager,stringBuffer,sps); stringBuffer.append(" where id=:id "); sps.addValue("id", adminManager.getId()); int num = 0; try{ num = namedParameterJdbcTemplate.update(stringBuffer.toString(), sps); } catch(Exception e){ e.printStackTrace(); } return num; } @Override public int delAdmin(int id) { String sql = "update `admin_manager` set status=0 where id=:id"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("id",id); int num = 0; try{ num = namedParameterJdbcTemplate.update(sql, sps); }catch (Exception e){ e.printStackTrace(); } return num; } @Override public AdminManager getById(int id) { String sql = selectSql + " WHERE a.id = :id "; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("id",id); List list = null; try{ list = namedParameterJdbcTemplate.query(sql, sps, new BeanPropertyRowMapper<>(AdminManager.class)); }catch (Exception e){ e.printStackTrace(); } if(list != null && list.size()>0) return list.get(0); return null; } @Override public List queryPage(String sqlx, int page, int rows) { SqlUtil.filterKeyword(sqlx); int start = (page - 1) * rows;// 每页的起始下标 String sql = selectSql + " WHERE a.status!=0 "+sqlx+" ORDER BY a.id DESC limit :start,:rows "; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("start", start); sps.addValue("rows", rows); List list = namedParameterJdbcTemplate.query(sql, sps, new BeanPropertyRowMapper<>(AdminManager.class)); if (list != null && list.size() > 0) return list; return null; } @Override public int queryTotal(String sqlx) { SqlUtil.filterKeyword(sqlx); String sql = "SELECT count(*) FROM`admin_manager` where status!=0 "+sqlx; MapSqlParameterSource sps = new MapSqlParameterSource(); return namedParameterJdbcTemplate.queryForInt(sql, sps); } @Override public List queryList(String sqlx) { SqlUtil.filterKeyword(sqlx); String sql = selectSql + " WHERE a.status!=0 "+sqlx ; List list = null; try{ list = namedParameterJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(AdminManager.class)); }catch (Exception e){ e.printStackTrace(); } if(list != null && list.size()>0) return list; return null; } public void appendValue(AdminManager adminManager, StringBuffer stringBuffer, MapSqlParameterSource sps){ if (!Func.checkNull(adminManager.getAdminName())){ stringBuffer.append(" admin_name=:admin_name ,"); sps.addValue("admin_name", adminManager.getAdminName()); } if (!Func.checkNull(adminManager.getPassword())){ stringBuffer.append(" password=:password ,"); sps.addValue("password", adminManager.getPassword()); } if (!Func.checkNull(adminManager.getHotelName())){ stringBuffer.append(" hotel_name=:hotel_name ,"); sps.addValue("hotel_name", adminManager.getHotelName()); } if (!Func.checkNull(adminManager.getHotelTownship())){ stringBuffer.append(" hotel_township=:hotel_township ,"); sps.addValue("hotel_township", adminManager.getHotelTownship()); } if (!Func.checkNull(adminManager.getCorpnName())){ stringBuffer.append(" corpn_name=:corpn_name ,"); sps.addValue("corpn_name", adminManager.getCorpnName()); } if (!Func.checkNull(adminManager.getCorpnPhone())){ stringBuffer.append(" corpn_phone=:corpn_phone ,"); sps.addValue("corpn_phone", adminManager.getCorpnPhone()); } if (!Func.checkNull(adminManager.getLevel())){ stringBuffer.append(" level=:level ,"); sps.addValue("level", adminManager.getLevel()); } if (!Func.checkNull(adminManager.getAdminPower())){ stringBuffer.append(" admin_power=:admin_power ,"); sps.addValue("admin_power", adminManager.getAdminPower()); } if (!Func.checkNull(String.valueOf(adminManager.getBankCard()))){ stringBuffer.append(" bank_card=:bank_card ,"); sps.addValue("bank_card", adminManager.getBankCard()); } if (!Func.checkNull(adminManager.getCardName())){ stringBuffer.append(" card_name=:card_name ,"); sps.addValue("card_name", adminManager.getCardName()); } if (!Func.checkNull(adminManager.getBankName())){ stringBuffer.append(" bank_name=:bank_name ,"); sps.addValue("bank_name", adminManager.getBankName()); } if (!Func.checkNull(String.valueOf(adminManager.getStatus()))){ stringBuffer.append(" status=:status ,"); sps.addValue("status", adminManager.getStatus()); } if (!Func.checkNull(adminManager.getRemark())){ stringBuffer.append(" remark=:remark ,"); sps.addValue("remark", adminManager.getRemark()); } stringBuffer.append(" modify_date=:modify_date "); sps.addValue("modify_date", UUIDUtil.getNewDate()); } }