DataAnalysisServiceImpl.java 6.45 KB
/**
 * 
 */
package com.zteits.park.biz;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.ErrorType;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.govclouds.dto.FreeRatioDetailsDTO;
import com.zteits.clouds.api.dto.govclouds.dto.FreeRatioRankingDTO;
import com.zteits.clouds.api.dto.govclouds.dto.OccupationRatioDetailsDTO;
import com.zteits.clouds.api.dto.govclouds.dto.OccupationRatioRankingDTO;
import com.zteits.clouds.api.dto.govclouds.dto.TurnOverRatioDetailsDTO;
import com.zteits.clouds.api.dto.govclouds.dto.TurnOverRatioRankingDTO;
import com.zteits.clouds.api.dto.govclouds.param.FreeRatioDetailsRequest;
import com.zteits.clouds.api.dto.govclouds.param.FreeRatioRankingRequest;
import com.zteits.clouds.api.dto.govclouds.param.OccupationRatioDetailsRequest;
import com.zteits.clouds.api.dto.govclouds.param.OccupationRatioRankingRequest;
import com.zteits.clouds.api.dto.govclouds.param.TurnOverRatioDetailsRequest;
import com.zteits.clouds.api.dto.govclouds.param.TurnOverRatioRankingRequest;
import com.zteits.clouds.api.service.govclouds.DataAnalysisService;
import com.zteits.park.dao.DataAnalysisDao;
import com.zteits.park.domain.FreeRatioDetailsDO;
import com.zteits.park.domain.FreeRatioRankingDO;
import com.zteits.park.domain.OccupationRatioDetailsDO;
import com.zteits.park.domain.OccupationRatioRankingDO;
import com.zteits.park.domain.TurnOverRatioDetailsDO;
import com.zteits.park.domain.TurnOverRatioRankingDO;
import com.zteits.park.pagepager.PageBeanUtil;
import org.springframework.stereotype.Service;

/**
 * @author hxz
 *
 */
@Service("com.zteits.park.biz.DataAnalysisServiceImpl")
public class DataAnalysisServiceImpl implements DataAnalysisService {
	private static final Logger logger = LoggerFactory.getLogger(DataAnalysisServiceImpl.class);

	@Autowired
	private DataAnalysisDao dataAnalysisDao;
	
	/**
	 * 占用率排行榜
	 */
	@Override
	public BizResult<PageBean<OccupationRatioRankingDTO>> getOccupationRatioRankingData (
			OccupationRatioRankingRequest request) {
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<OccupationRatioRankingDO> pageInfo = dataAnalysisDao.getOccupationRatioRankingData(request);
		
		PageBean<OccupationRatioRankingDTO> pageBean = new PageBean<OccupationRatioRankingDTO>();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties(pageInfo, pageBean, OccupationRatioRankingDTO.class);
		}
		
		return new BizResult<PageBean<OccupationRatioRankingDTO>> (pageBean);
	}

	/**
	 * 占用率详情
	 */
	@Override
	public BizResult<PageBean<OccupationRatioDetailsDTO>> getOccupationRationDetailsData(
			OccupationRatioDetailsRequest request) {
		
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<OccupationRatioDetailsDO> pageInfo = dataAnalysisDao.getOccupationRationDetailsData(request);
		
		PageBean<OccupationRatioDetailsDTO> pageBean = new PageBean<OccupationRatioDetailsDTO>();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties(pageInfo, pageBean, OccupationRatioDetailsDTO.class);
		}
		
		return new BizResult<PageBean<OccupationRatioDetailsDTO>> (pageBean);
	}

	/**
	 * 周转率排行榜
	 */
	@Override
	public BizResult<PageBean<TurnOverRatioRankingDTO>> getTurnOverRatioRankingData(
			TurnOverRatioRankingRequest request) {
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<TurnOverRatioRankingDO> pageInfo = dataAnalysisDao.getTurnOverRatioRankingData(request);
		
		PageBean<TurnOverRatioRankingDTO> pageBean = new PageBean<TurnOverRatioRankingDTO>();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties(pageInfo, pageBean, TurnOverRatioRankingDTO.class);
		}
		
		return new BizResult<PageBean<TurnOverRatioRankingDTO>> (pageBean);
	}

	/**
	 * 周转率详情
	 */
	@Override
	public BizResult<PageBean<TurnOverRatioDetailsDTO>> getTurnOverRatioDetailsData(
			TurnOverRatioDetailsRequest request) {
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<TurnOverRatioDetailsDO> pageInfo = dataAnalysisDao.getTurnOverRatioDetailsData(request);
		
		PageBean<TurnOverRatioDetailsDTO> pageBean = new PageBean<TurnOverRatioDetailsDTO> ();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties (pageInfo, pageBean, TurnOverRatioDetailsDTO.class);
		}
		
		return new BizResult<PageBean<TurnOverRatioDetailsDTO>> (pageBean);
	}

	/**
	 * 空置率排行榜
	 */
	@Override
	public BizResult<PageBean<FreeRatioRankingDTO>> getFreeRatioRankingData(FreeRatioRankingRequest request) {
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<FreeRatioRankingDO> pageInfo = dataAnalysisDao.getFreeRatioRankingData(request);
		
		PageBean<FreeRatioRankingDTO> pageBean = new PageBean<FreeRatioRankingDTO>();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties(pageInfo, pageBean, FreeRatioRankingDTO.class);
		}
		
		return new BizResult<PageBean<FreeRatioRankingDTO>> (pageBean);
	}

	/**
	 * 空置率详情
	 */
	@Override
	public BizResult<PageBean<FreeRatioDetailsDTO>> getFreeRatioDetailsData(FreeRatioDetailsRequest request) {
		if (null == request.getBaseRequest()) {
			if (logger.isDebugEnabled()) {
				logger.debug("分页参数为空!");
			}
			throw new BizException(ErrorType.PARAMM_NULL, "分页参数为空");
		}
		PageInfo<FreeRatioDetailsDO> pageInfo = dataAnalysisDao.getFreeRatioDetailsData(request);
		
		PageBean<FreeRatioDetailsDTO> pageBean = new PageBean<FreeRatioDetailsDTO> ();
		
		if (null != pageInfo) {
			PageBeanUtil.copyProperties(pageInfo, pageBean, FreeRatioDetailsDTO.class);
		}
		
		return new BizResult<PageBean<FreeRatioDetailsDTO>> (pageBean);
	}

}