package com.ps.visualization.service.impl;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

import javax.annotation.Resource;

import org.springframework.stereotype.Repository;

import com.ps.base.dao.BaseDao;
import com.ps.base.service.impl.BaseServiceImpl;
import com.ps.visualization.dao.PortsinfoDao;
import com.ps.visualization.dao.ScanSpeedDao;
import com.ps.visualization.service.ScanSpeedService;
import com.ps.visualization.vo.ScanSpeed;

@Repository(value="scanSpeedService")
public class ScanSpeedServiceImpl extends BaseServiceImpl<ScanSpeed, Integer> implements ScanSpeedService{

	@Resource(name="scanSpeedDao")
	private ScanSpeedDao scanSpeedDao;
	@Resource(name="portsinfoDao")
	private PortsinfoDao portsinfoDao;
	
	@Override
	public BaseDao<ScanSpeed, Integer> getBaseDao() {
		// TODO Auto-generated method stub
		return scanSpeedDao;
	}
	
	@Override
	public List getScanSpeed() {
		// TODO Auto-generated method stub
		List<Object> returnList = new ArrayList<Object>();
		List<Object[]> ssList = scanSpeedDao.getScanSpeed();
		Object[] obj = ssList.get(0);
		Integer num = Integer.parseInt(obj[1].toString());
		double speed = Double.parseDouble(obj[2].toString());
		double lefttime = Double.parseDouble(obj[3].toString());
		String time = obj[3].toString();
		
		int hour = Math.abs((int) (lefttime/3600));
		int mintue = Math.abs((int) (lefttime%3600)/60);
		int second = Math.abs((int) (lefttime%60));
		
		
		double speedAverage = num/speed;
		
		Random ran = new Random();
		double sum = 0;
		List<Object> currentList = new ArrayList<Object>();
		for(int i=0; i<30; i++){
			double current  = ran.nextDouble()*8-4;
			sum+=current;
			double result_data = speedAverage+current;
			if(speedAverage <= 0)
				result_data = 0;
			currentList.add(result_data);
//			System.out.println(current);
		}
//		List<Object[]> scanningList = portsinfoDao.getScanningProtocol();
		returnList.add(currentList);
		returnList.add(lefttime);
//		Object scanningObj = scanningList.get(0);
//		
//		returnList.add(scanningObj.toString());
		
		
		
		return returnList;
	}
	
	

}
