package cn.me.fdfs.service.impl;
import cn.me.fdfs.service.BaseService;
import cn.me.fdfs.service.WarningService;
import cn.me.fdfs.vo.PageInfo;
import cn.me.fdfs.vo.WarningData;
import cn.me.fdfs.vo.WarningUser;
import com.mysql.jdbc.StringUtils;
import org.csource.common.MyException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* Created with IntelliJ IDEA.
* User: wanglt
* Date: 12-8-28
* Time: 上午10:38
* To change this template use File | Settings | File Templates.
*/
@Service
public class WarningServiceImpl extends BaseService implements WarningService {
private static final Logger logger = LoggerFactory
.getLogger(WarningServiceImpl.class);
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void updateWarning(WarningData wd) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
Session session = getSession();
session.saveOrUpdate(wd);
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<WarningData> findWarning() throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<WarningData> warningDatas = new ArrayList<WarningData>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from WarningData as w");
Query query = session.createQuery(queryString.toString());
warningDatas = query.list();
return warningDatas;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<WarningData> findWarning(WarningData wd,PageInfo pageInfo) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<WarningData> warningDatas = new ArrayList<WarningData>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from WarningData as wd ");
if(!StringUtils.isNullOrEmpty(wd.getWdIpAddr())){
queryString.append("where wd.wdIpAddr like '%"+wd.getWdIpAddr()+"%'");
}
Query query = session.createQuery(queryString.toString());
pageInfo.setTotalCount(query.list().size());
query.setMaxResults(pageInfo.getNumPerPage());
query.setFirstResult((pageInfo.getPageNum()-1)*pageInfo.getNumPerPage());
warningDatas = query.list();
return warningDatas;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public WarningData findById(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
WarningData wd=new WarningData();
Session session = getSession();
wd= (WarningData) session.get(WarningData.class,id);
return wd;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void delWarning(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
WarningData wd=new WarningData();
wd.setId(id);
Session session = getSession();
session.delete(wd);
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<WarningData> findByIp(String ip) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<WarningData> warningDatas = new ArrayList<WarningData>();
Session session = getSession();
Query query = session
.createQuery("from WarningData wd where wd.wdIpAddr=:ip");
warningDatas = query.setString("ip", ip).list();
return warningDatas;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<WarningUser> findWarUser() throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<WarningUser> warningUsers = new ArrayList<WarningUser>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from WarningUser as w");
Query query = session.createQuery(queryString.toString());
warningUsers = query.list();
return warningUsers;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public List<WarningUser> findWarUser(WarningUser wu,PageInfo pageInfo) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
List<WarningUser> warningUsers = new ArrayList<WarningUser>();
Session session = getSession();
StringBuilder queryString = new StringBuilder("from WarningUser as w ");
if(!StringUtils.isNullOrEmpty(wu.getName())){
queryString.append("where w.name like '%"+wu.getName()+"%'");
}
Query query = session.createQuery(queryString.toString());
pageInfo.setTotalCount(query.list().size());
query.setMaxResults(pageInfo.getNumPerPage());
query.setFirstResult((pageInfo.getPageNum()-1)*pageInfo.getNumPerPage());
warningUsers = query.list();
return warningUsers;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public WarningUser findUserId(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
WarningUser wu=new WarningUser();
Session session = getSession();
wu= (WarningUser) session.get(WarningUser.class,id);
return wu;
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void delWarUser(String id) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
WarningUser wu=new WarningUser();
wu.setId(id);
Session session = getSession();
session.delete(wu);
}
@Override
@Transactional(propagation = Propagation.REQUIRED)
public void updateWarUser(WarningUser wu) throws IOException, MyException {
//To change body of implemented methods use File | Settings | File Templates.
Session session = getSession();
session.saveOrUpdate(wu);
}
}