/**
* @Project: hehenian-biz-service Maven Webapp
* @Package com.hehenian.biz.dal.wygj
* @Title: ParkingFeeDaoimpl.java
* @Description: TODO
*
* @author: zhangjhmf
* @date 2015-4-27 下午4:56:57
* @Copyright: HEHENIAN Co.,Ltd. All rights reserved.
* @version V1.0
*/
package com.hehenian.biz.dal.wygj.impl;
import java.sql.SQLException;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.simple.ParameterizedBeanPropertyRowMapper;
import com.hehenian.biz.common.wygj.dataobject.ParkingDetailDo;
import com.hehenian.biz.dal.wygj.IParkingFeeDetailDao;
import com.hehenian.biz.service.dao.AbstractBaseDaoImpl;
public class ParkingFeeDetailDaoimpl extends AbstractBaseDaoImpl<ParkingDetailDo> implements IParkingFeeDetailDao{
@Resource
private JdbcTemplate sp2pJdbcTemplate;
@Resource
private NamedParameterJdbcTemplate sp2pNameJdbcTemplate;
private static RowMapper<ParkingDetailDo> rowMapper = ParameterizedBeanPropertyRowMapper
.newInstance(ParkingDetailDo.class);
public ParkingDetailDo getById(Integer id) {
String sql = "select * from t_parking_detailinfo where id=? limit 1;";
try {
return queryObject(sp2pJdbcTemplate, sql, new Integer[] { id },
rowMapper);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public List<ParkingDetailDo> listParkingDetailDo(Object[] obj){
String sql = "select * from t_parking_detailinfo where theowner=? ;";
try {
return queryList(sp2pJdbcTemplate, sql, obj);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public int updateParkingDetail(ParkingDetailDo pdd){
String sql = "update t_parking_detailinfo set infotype=? where id=? limit 1 ;";
return sp2pJdbcTemplate.update(sql, pdd.getInfotype(),pdd.getId());
}
public int deleteParkingDetail(int id){
String sql = "delete from t_parking_detailinfo where id=? limit 1;";
try {
return delete(sp2pJdbcTemplate, sql, new Object[]{id});
} catch (SQLException e) {
e.printStackTrace();
}
return -1;
}
@Override
public RowMapper<ParkingDetailDo> getRowMapper() {
return rowMapper;
}
@Override
public ParkingDetailDo getDefaultByUserId(int userId) {
String sql = "select * from t_parking_detailinfo where user_id=? and defaultset =1 limit 1;";
try {
return queryObject(sp2pJdbcTemplate, sql, new Integer[] { userId },
rowMapper);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public int getParkingDetailCounts(int userId) {
String sql = "select count(*) from t_parking_detailinfo where user_id=? ";
try {
return queryCount(sp2pJdbcTemplate, sql, new Integer[]{userId});
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
@Override
public List<ParkingDetailDo> listParkingDetailsByUserId(int userId) {
String sql = "select * from t_parking_detailinfo where user_id=? ;";
try {
return queryList(sp2pJdbcTemplate, sql, new Object[]{userId});
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
public int insertParkingDetail(ParkingDetailDo pdd) {
String sql = "insert into t_parking_detailinfo(user_id,mainaddressid,plate_number,car_emissions,the_arage_type,infotype,defaultset) values(?,?,?,?,?,?,?) ;";
return sp2pJdbcTemplate.update(sql, pdd.getUser_id(),pdd.getMainaddressid(),pdd.getPlate_number(),pdd.getCar_emissions(),pdd.getThe_arage_type(),pdd.getInfotype(),pdd.getDefaultset());
}
@Override
public int updateDefaultByPlateNo(int userId, String plateNo , int defaultSet) {
String sql = "update t_parking_detailinfo set defaultset=? where user_id=? ";
if(plateNo!=null){
sql += " and plate_number = ? ";
return sp2pJdbcTemplate.update(sql, defaultSet,userId,plateNo);
}else
return sp2pJdbcTemplate.update(sql, defaultSet,userId);
}
@Override
public int updateAnotherDefaultParkingDetail(int userId, int id) {
String sql = "update t_parking_detailinfo set defaultset=1 where user_id=? and id<>? limit 1; ";
return sp2pJdbcTemplate.update(sql, userId,id);
}
@Override
public ParkingDetailDo getDetailByParams(long mainaddressid, String platenum,int userId) {
String sql = "select * from t_parking_detailinfo where mainaddressid=? and plate_number =? and user_id=? limit 1;";
try {
return queryObject(sp2pJdbcTemplate, sql, new Object[] { mainaddressid,platenum ,userId},
rowMapper);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
@Override
public List<ParkingDetailDo> getParkingDetailDo(ParkingDetailDo p) {
String sql = "select * from t_parking_detailinfo where mainaddressid=? and plate_number = ? and STR_TO_DATE(enddate,\"%Y-%m\")>=NOW() limit 1;";
try {
return queryList(sp2pJdbcTemplate, sql, new Object[] { Long.valueOf(p.getMainaddressid()).intValue(),p.getPlate_number() });
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}