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.sp2p.dao.admin.MailBoxManagerDao;
import com.shove.base.BaseService;
import com.shove.data.ConnectionManager;
import com.shove.data.DataException;
import com.shove.vo.PageBean;
/**
* 站内信息管理
* @author zhongchuiqing
*
*/
public class MailBoxManagerService extends BaseService {
public static Log log =LogFactory.getLog(MailBoxManagerService.class);
private ConnectionManager connectionManager;
private MailBoxManagerDao mailBoxManagerDao;
public ConnectionManager getConnectionManager() {
return connectionManager;
}
public void setConnectionManager(ConnectionManager connectionManager) {
this.connectionManager = connectionManager;
}
public MailBoxManagerDao getMailBoxManagerDao() {
return mailBoxManagerDao;
}
public void setMailBoxManagerDao(MailBoxManagerDao mailBoxManagerDao) {
this.mailBoxManagerDao = mailBoxManagerDao;
}
/**
* 根据条件查询站内信(管理员与用户,用户与用户)
* @throws SQLException
* @throws DataException
*/
public void queryMailByCondition(PageBean pageBean,Integer mailType,String sender,String beginTime,String endTime)throws SQLException,DataException{
Connection conn = connectionManager.getConnection();
StringBuffer condition =new StringBuffer("and backgroundStatus!=2 ");
if(mailType!=null){
condition.append("and mailType=");
condition.append(mailType);
}
if(StringUtils.isNotBlank(sender)){
condition.append(" and sender LIKE '%");
condition.append(StringEscapeUtils.escapeSql(sender));
condition.append("%'");
}
if(StringUtils.isNotBlank(beginTime)){
condition.append(" and sendTime >= '");
condition.append(StringEscapeUtils.escapeSql(beginTime));
condition.append("'");
}
if(StringUtils.isNotBlank(endTime)){
condition.append(" and sendTime <= '");
condition.append(StringEscapeUtils.escapeSql(endTime));
condition.append("'");
}
try {
dataPage(conn, pageBean, "t_mail", "*", " order by sendTime desc ", condition.toString());
} catch (DataException e) {
log.error(e);
e.printStackTrace();
}finally{
conn.close();
}
}
/**
* 删除团队介绍的数据
* @param commonIds id拼接字符串
* @param delimiter 分割符
* @throws DataException
* @throws SQLException
* @return int
*/
public int deleteMailBox(String commonIds, String delimiter) throws DataException, SQLException{
Connection conn = connectionManager.getConnection();
int result = -1;
try {
result =mailBoxManagerDao.deleteMailBox(conn, commonIds, delimiter);
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
throw e;
} catch (DataException e) {
log.error(e);
e.printStackTrace();
throw e;
} finally {
conn.close();
}
return result;
}
public Long updateMailBoxById(Long id,String title,String content)throws SQLException,DataException
{
Connection conn = connectionManager.getConnection();
Long result=-1L;
try {
result=mailBoxManagerDao.updateMailBoxById(conn, id, title, content);
} catch (SQLException e) {
log.error(e);
e.printStackTrace();
throw e;
} catch (DataException e) {
log.error(e);
e.printStackTrace();
throw e;
} finally {
conn.close();
}
return result;
}
public Map<String, String> getMailById(Long id)
throws SQLException,DataException{
Connection conn = connectionManager.getConnection();
Map<String, String> map=null;
try {
map=mailBoxManagerDao.getMailById(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;
}
}