StatisticsDaoImpl.java 8.71 KB
/**
 * 
 */
package com.bjivt.dao.showtime.impl;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.mapping.BoundSql;
import org.apache.ibatis.session.SqlSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.bjivt.dao.showtime.MyBatisSqlUtils;
import com.bjivt.dao.showtime.StatisticsDao;
import com.bjivt.entity.showtime.User;
import com.bjivt.entity.vo.StatisticMobile;
import com.bjivt.entity.vo.StatisticsAnchor;
import com.bjivt.entity.vo.StatisticsDecResult;
import com.bjivt.entity.vo.StatisticsIncome;
import com.bjivt.entity.vo.StatisticsResult;
import com.bjivt.entity.vo.StatisticsTwoSeries;
import com.bjivt.entity.vo.StatisticsUser;

/**
 * @author Yh.T
 * 2016年7月18日 上午9:48:24
 * 
 */
@Component
public class StatisticsDaoImpl implements StatisticsDao {
	@Autowired(required = true)  
	protected SqlSession sqlSessionTemplate;  
	
	@Override
	public List<StatisticsResult> getRegistUserTotalByMap(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.Statistics.getRegistUserTotal", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<StatisticsResult> getRegistUserEveryDayByMap(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.Statistics.getRegistUserEveryDay", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<User> getUserListByMap(Map<String, Object> map) {
		try {
			List<User> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.Statistics.findUserListByMap", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<User>();
	}

	@Override
	public List<StatisticMobile> findMobileListByMap(Map<String, Object> map) {
		return sqlSessionTemplate.selectList("com.bjivt.entity.showtime.Statistics.statisticMobileByMap", map);
	}

	@Override
	public Integer getMobileCountBy(StatisticMobile param) {
		return sqlSessionTemplate.selectOne("com.bjivt.entity.showtime.Statistics.statisticMobileCount", param);
	}

	@Override
	public Integer getRegistUserBeforeDayCount(Map<String, Object> map) {
		// TODO Auto-generated method stub
		return sqlSessionTemplate.selectOne("com.bjivt.entity.showtime.Statistics.getRegistUserBeforeDayCount", map);
	}

	@Override
	public List<StatisticsDecResult> getRetainedUserByMap(Map<String, Object> map) {
		try {
			List<StatisticsDecResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsRetainedUser.getRetainedUserByMap", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsDecResult>();
	}

	@Override
	public List<StatisticsUser> getUserDataByMap(Map<String, Object> map) {
		try {
//			getExecuteSql("com.bjivt.entity.showtime.StatisticsUser.getUserDataByMap",map);
			List<StatisticsUser> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsUser.getUserDataByMap", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsUser>();
	}

	@Override
	public int getUserDataCountBy(Map<String, Object> map) {
		return sqlSessionTemplate.selectOne("com.bjivt.entity.showtime.StatisticsUser.getUserDataCountBy", map);
	}
	
	public String getExecuteSql(String execName, Object obj){
		BoundSql boundSql = sqlSessionTemplate.getConfiguration()
				.getMappedStatement(execName).getBoundSql(obj);
//		String[] sqls = boundSql.getSql().split(";");
		String sqls = boundSql.getSql();
		System.out.println(sqls);
		return sqls;
	}

	@Override
	public List<StatisticsResult> getUserVisitTime(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsUser.getUserVisitTime", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<StatisticsResult> getUserRecharge(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsUser.getUserRecharge", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}
	/**
	 * 获得主播的总量
	 * @see com.bjivt.dao.showtime.StatisticsDao#getUserAnchorTotal(java.util.Map)
	 */
	@Override
	public List<StatisticsResult> getUserAnchorTotal(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getUserAnchorTotal", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}
	
	@Override
	public List<StatisticsResult> getUserAnchorTotal(String startTime, String endTime, String types){
		PreparedStatement ptmt;
		List<StatisticsResult> srList = new ArrayList<StatisticsResult>();
		try {
			
			ptmt = sqlSessionTemplate.getConnection().prepareStatement("call statisticAnchor('"+startTime+"','"+endTime+"','"+types+"')");
			ResultSet rs = ptmt.executeQuery();
			while(rs.next()){
				StatisticsResult sr = new StatisticsResult();
				sr.setTime(rs.getString("time"));
				sr.setCounts(rs.getInt("counts"));
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return srList;
	}

	@Override
	public List<StatisticsResult> getUserAnchorTotal(StatisticsAnchor sa) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getUserAnchorTotal", sa);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<StatisticsResult> getUserAnchorDayIncrease(Map<String, Object> map) {
		try {
//			String sql =MyBatisSqlUtils.getMyBatisSql("com.bjivt.entity.showtime.StatisticsAnchor.getUserAnchorDayIncrease", map, sqlSessionTemplate).toString();
//			System.out.println(sql);
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getUserAnchorDayIncrease", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<StatisticsUser> getAnchorUserDataList(Map<String, Object> map) {
		try {
			List<StatisticsUser> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getAnchorUserDataList", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsUser>();
	}

	@Override
	public int getAnchorUserDataCount(Map<String, Object> map) {
		int ret =0;
		try{
		ret = sqlSessionTemplate.selectOne("com.bjivt.entity.showtime.StatisticsAnchor.getAnchorUserDataCount", map);
		} catch (Exception e) {
			e.printStackTrace();
			ret=0;
		}
		return ret;
	}

	@Override
	public List<StatisticsDecResult> getAnchorUserTimeTotal(Map<String, Object> map) {
		try {
			List<StatisticsDecResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getAnchorUserTimeTotal", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsDecResult>();
	}

	@Override
	public List<StatisticsResult> getAnchorByVisitUser(Map<String, Object> map) {
		try {
			List<StatisticsResult> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getAnchorByVisitUser", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsResult>();
	}

	@Override
	public List<StatisticsTwoSeries> getAnchorVisitUserAndTimeTotal(Map<String, Object> map) {
		try {
			List<StatisticsTwoSeries> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsAnchor.getAnchorVisitUserAndTimeTotal", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsTwoSeries>();
	}

	@Override
	public List<StatisticsIncome> getIncomeTotal(Map<String, Object> map) {
		try {
			List<StatisticsIncome> resultList = sqlSessionTemplate.selectList("com.bjivt.entity.showtime.StatisticsIncome.statisticsIncomeList", map);
			return resultList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return new ArrayList<StatisticsIncome>();
	}


}