package cn.me.fdfs.service.impl; import cn.me.fdfs.service.BaseService; import cn.me.fdfs.service.StructureService; import cn.me.fdfs.vo.Line; import cn.me.fdfs.vo.Storage; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * Created with IntelliJ IDEA. * User: Administrator * Date: 12-8-30 * Time: 上午11:42 * To change this template use File | Settings | File Templates. */ @Service public class StructureServiceImpl extends BaseService implements StructureService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public List<Line> listStorageTopLine(String ip) { List<Line> lines = new ArrayList<Line>(); Session session = getSession(); Query query = session .createQuery("from Storage s where s.ipAddr=:ip order by s.created desc"); List<Storage> results = query.setString("ip",ip) .setMaxResults(10).list(); Line line = new Line(ip); for (int i = results.size() - 1; i >= 0; i--) { Storage ss = results.get(i); line.getData().add(new Object[]{ss.getCreated().getTime(), ss.getMem()}); } lines.add(line); return lines; } @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public List<Line> listStorageAboutFile(String ip) { List<Line> lines = new ArrayList<Line>(); Session session = getSession(); Query query = session .createQuery("from Storage s where s.ipAddr=:ip order by s.created desc"); List<Storage> results = query.setString("ip",ip) .setMaxResults(10).list(); Line line = new Line(ip); for (int i = results.size() - 1; i >= 0; i--) { Storage ss = results.get(i); line.getData().add(new Object[]{ss.getCreated().getTime(), ss.getTotalDownloadCount()}); } lines.add(line); Line line1=new Line(ip); for (int i = results.size() - 1; i >= 0; i--) { Storage ss = results.get(i); line1.getData().add(new Object[]{ss.getCreated().getTime(),ss.getTotalUploadCount()}); } lines.add(line1); return lines; } }