package com.sp2p.service.admin;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.shove.base.BaseService;
import com.shove.data.DataException;
import com.shove.data.dao.MySQL;
import com.shove.vo.PageBean;
import com.sp2p.constants.IConstants;
import com.sp2p.dao.OperationLogDao;
import com.sp2p.dao.admin.AutomaticBidDao;
/**
* 自动投标
* @author zhuchao
*
*/
public class AutomaticBidService extends BaseService {
public static Log log = LogFactory.getLog(AutomaticBidService.class);
private AutomaticBidDao automaticBidDao;
private OperationLogDao operationLogDao;
/**
* 自动投标列表展示
* @param pageBean
* @param username
* @param bidSetTime
* @throws SQLException
*/
public void automaticBidList(PageBean<Map<String, Object>> pageBean, String username, String bidSetTime)
throws SQLException {
StringBuffer condition = new StringBuffer();
if (StringUtils.isNotBlank(username)) {
condition.append(" AND username LIKE CONCAT('%','" + StringEscapeUtils.escapeSql(username.trim()) + "','%')");
}
if (StringUtils.isNotBlank(bidSetTime)) {
condition.append(" and bidSetTime >= '" + StringEscapeUtils.escapeSql(bidSetTime) + "'");
}
Connection conn = connectionManager.getConnection();
try {
dataPage(conn, pageBean, "v_t_automaticbid", "*", " ORDER BY bidSetTime", condition.toString());
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
} catch (DataException e) {
log.error(e);
e.printStackTrace();
} finally {
conn.close();
}
}
/**
* 根据id查询自动投标记录
* @param id
* @return
* @throws SQLException
* @throws DataException
*/
public Map<String, String> queryAutomaticBidById(int id) throws SQLException, DataException {
Connection conn = MySQL.getConnection();
Map<String, String> map = null;
try {
map = automaticBidDao.queryBorrowStylById(conn, id);
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
throw e;
} catch (DataException e) {
log.error(e);
e.printStackTrace();
throw e;
} finally {
conn.close();
}
return map;
}
/**
* 关闭用户自动投标
* @param username
* @param lastIp
* @param ids
* @return
* @throws Exception
*/
public long closeAutomaticBid(String username, String lastIp, String ids) throws Exception {
Connection conn=MySQL.getConnection();
Long result = -1L;
try {
result=automaticBidDao.closeAutomaticBid(conn,ids);
if (result <= 0) {
conn.rollback();
return -1L;
}else{
operationLogDao.addOperationLog(conn, "t_automaticbid", username, IConstants.UPDATE, lastIp, 0, "关闭自动投标", 2);
}
conn.commit();
} catch (Exception e) {
conn.rollback();
log.error(e);
e.printStackTrace();
throw e;
} finally {
conn.close();
}
return result;
}
public void setAutomaticBidDao(AutomaticBidDao automaticBidDao) {
this.automaticBidDao = automaticBidDao;
}
public void setOperationLogDao(OperationLogDao operationLogDao) {
this.operationLogDao = operationLogDao;
}
}