CloudsParDurationServiceImpl.java 13.3 KB
//package com.zteits.pay.biz;
//
//import java.text.ParseException;
//import java.text.SimpleDateFormat;
//import java.util.ArrayList;
//import java.util.Collections;
//import java.util.HashMap;
//import java.util.HashSet;
//import java.util.List;
//import java.util.Map;
//import java.util.Set;
//
//import com.alibaba.fastjson.JSONObject;
//
//import com.clouds.common.utils.DateUtil;
//import com.clouds.common.utils.ListCopyUtil;
//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.clouds.dto.ParkDurationDTO;
//import com.zteits.clouds.api.dto.clouds.dto.ParkDurationDataDTO;
//import com.zteits.clouds.api.dto.clouds.dto.ParkDurationForHourDTO;
//import com.zteits.clouds.api.dto.clouds.param.ParkDurationRequest;
//import com.zteits.clouds.api.service.clouds.CloudsParDurationService;
//import com.zteits.pay.dao.CloudsParDurationDao;
//import com.zteits.pay.domain.ParkDurationForHourDO;
//import com.zteits.pay.domain.TdBParkDurationRep;
//import com.zteits.pay.pagepager.PageBeanUtil;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.BeanUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.util.CollectionUtils;
//
//@Service("com.zteits.pay.biz.CloudsParDurationServiceImpl")
//public class CloudsParDurationServiceImpl implements CloudsParDurationService {
//
//    private static final Logger logger = LoggerFactory.getLogger(CloudsParDurationServiceImpl.class);
//
//    @Autowired
//    private CloudsParDurationDao cloudsParDurationDao;
//
//    @Override
//    public BizResult<Map<String, Object>> queryEchartsForParkDurationForDay(ParkDurationRequest parkDurationRequest)
//        throws Exception {
//    	if (null == parkDurationRequest) {
//            throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空!");
//        }
//        logger.info("---begin停车时长折线图->按日,入参={}", JSONObject.toJSON(parkDurationRequest));
//        String beginTime = DateUtil.getDateString(parkDurationRequest.getParkOutBeginTime(), "yyyy-MM-dd");
//        String endTime = DateUtil.getDateString(parkDurationRequest.getParkOutEndTime(), "yyyy-MM-dd");
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//        SimpleDateFormat format_hhmm = new SimpleDateFormat("HH:mm");
//        List<ParkDurationDTO> list = new ArrayList<ParkDurationDTO>();
//        
//        List<TdBParkDurationRep> tdBParkDurationRep = cloudsParDurationDao.queryEchartsForParkDurationForDay(
//            parkDurationRequest);
//        if (!CollectionUtils.isEmpty(tdBParkDurationRep)) {
//            for (TdBParkDurationRep e : tdBParkDurationRep) {
//                ParkDurationDTO parkDurationDTO = new ParkDurationDTO();
//                BeanUtils.copyProperties(e, parkDurationDTO);
//                if (e != null && null != e.getParkingDuration()) {
//                    parkDurationDTO.setParkingDuration(String.format("%.1f", e.getParkingDuration() / 3600D));
//                }
//                list.add(parkDurationDTO);
//            }
//        }
//
//        Map<String, Object> maps = new HashMap<String, Object>();
//        //获取所有时间
//        Set<String> listDate = new HashSet<String>();
//        if (list != null && !CollectionUtils.isEmpty(list)) {
//            for (ParkDurationDTO e : list) {
//                if (e != null) {
//                    if (beginTime.equals(endTime)) {//按小时
//                        if (!listDate.contains(format.format(e.getParkOutTime()))) {
//                            listDate.add(format_hhmm.format(e.getParkOutTime()));
//                        }
//
//                    } else {
//                        if (!listDate.contains(format.format(e.getParkOutTime()))) {
//                            listDate.add(format.format(e.getParkOutTime()));
//                        }
//                    }
//                }
//            }
//        }
//        List<String> listResult = new ArrayList<String>(listDate);
//
//        Collections.sort(listResult);
//        //将数据组装成map
//        Map<String, List<ParkDurationDTO>> map = this.resultToMap(list);
//        maps.put("dates", listResult);
//        maps.put("data", map);
//
//        logger.info("---begin停车时长折线图->按日");
//        return new BizResult<Map<String, Object>>(maps);
//    }
//
//    /**
//     * 将数据组装成map.<br/>
//     * 说明:1:key:停车场名称.<br/>
//     *
//     * @param result
//     * @return
//     * @throws ParseException
//     */
//    private Map<String, List<ParkDurationDTO>> resultToMap(List<ParkDurationDTO> result) throws ParseException {
//        Map<String, List<ParkDurationDTO>> map = new HashMap<String, List<ParkDurationDTO>>();
//        if (result != null && !CollectionUtils.isEmpty(result)) {
//            for (ParkDurationDTO e : result) {
//                if (e != null) {
//                    if (map.containsKey(e.getParkName())) {
//                        map.get(e.getParkName()).add(e);
//                    } else {
//                        List<ParkDurationDTO> list = new ArrayList<ParkDurationDTO>();
//                        list.add(e);
//                        map.put(e.getParkName(), list);
//                    }
//                }
//
//            }
//        }
//        return map;
//    }
//
//    @Override
//    public BizResult<PageBean<ParkDurationDTO>> queryEchartsForParkDurationDayForPage(
//        ParkDurationRequest parkDurationRequest) {
//        PageBean<ParkDurationDTO> pageBean = new PageBean<ParkDurationDTO>();
//        List<ParkDurationDTO> list = new ArrayList<ParkDurationDTO>();
//        PageInfo<TdBParkDurationRep> pageInfo = cloudsParDurationDao.queryEchartsForParkDurationDayForPage(
//            parkDurationRequest);
//        if (pageInfo != null && !CollectionUtils.isEmpty(pageInfo.getList())) {
//            for (TdBParkDurationRep e : pageInfo.getList()) {
//                ParkDurationDTO parkDurationDTO = new ParkDurationDTO();
//                BeanUtils.copyProperties(e, parkDurationDTO);
//                if (e != null && null != e.getParkingDuration()) {
//                    parkDurationDTO.setParkingDuration(String.format("%.1f", e.getParkingDuration() / 3600D));
//                }
//                list.add(parkDurationDTO);
//            }
//            pageBean.setDataList(list);
//            pageBean.setPageNum(pageInfo.getPageNum());
//            pageBean.setPageSize(pageInfo.getPageSize());
//            pageBean.setPages(pageInfo.getPages());
//            pageBean.setPageTotals(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
//        }
//
//        return new BizResult<PageBean<ParkDurationDTO>>(pageBean);
//    }
//
//    @Override
//    public BizResult<Map<String, Object>> queryEchartsForParkDurationForMonth(ParkDurationRequest parkDurationRequest)
//        throws Exception {
//        logger.info("---begin停车时长折线图->按月,入参={}", JSONObject.toJSON(parkDurationRequest));
//        List<ParkDurationDTO> list = new ArrayList<ParkDurationDTO>();
//        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
//        if (parkDurationRequest == null) {
//            throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空!");
//        } else {
//            List<TdBParkDurationRep> tdBParkDurationRep = cloudsParDurationDao.queryEchartsForParkDurationForMonth(
//                parkDurationRequest);
//            if (!CollectionUtils.isEmpty(tdBParkDurationRep)) {
//                for (TdBParkDurationRep e : tdBParkDurationRep) {
//                    ParkDurationDTO parkDurationDTO = new ParkDurationDTO();
//                    BeanUtils.copyProperties(e, parkDurationDTO);
//                    if (e != null && null != e.getParkingDuration()) {
//                        parkDurationDTO.setParkingDuration(String.format("%.1f", e.getParkingDuration() / 3600D));
//                    }
//                    list.add(parkDurationDTO);
//                }
//            }
//        }
//        Map<String, Object> maps = new HashMap<String, Object>();
//        //获取所有时间
//        List<String> listDate = new ArrayList<String>();
//        if (list != null && !CollectionUtils.isEmpty(list)) {
//            for (ParkDurationDTO e : list) {
//                if (e != null) {
//                    if (!listDate.contains(format.format(e.getParkOutTime()))) {
//                        listDate.add(format.format(e.getParkOutTime()));
//                    }
//
//                }
//            }
//        }
//        //将数据组装成map
//        Map<String, List<ParkDurationDTO>> map = this.resultToMap(list);
//        maps.put("dates", listDate);
//        maps.put("data", map);
//        logger.info("---begin停车时长折线图->按月");
//        return new BizResult<Map<String, Object>>(maps);
//    }
//
//    @Override
//    public BizResult<PageBean<ParkDurationDTO>> queryEchartsForParkDurationMonthForPage(
//        ParkDurationRequest parkDurationRequest) {
//        PageBean<ParkDurationDTO> pageBean = new PageBean<ParkDurationDTO>();
//        List<ParkDurationDTO> list = new ArrayList<ParkDurationDTO>();
//        PageInfo<TdBParkDurationRep> pageInfo = cloudsParDurationDao.queryEchartsForParkDurationMonthForPage(
//            parkDurationRequest);
//        if (pageInfo != null && !CollectionUtils.isEmpty(pageInfo.getList())) {
//            for (TdBParkDurationRep e : pageInfo.getList()) {
//                ParkDurationDTO parkDurationDTO = new ParkDurationDTO();
//                BeanUtils.copyProperties(e, parkDurationDTO);
//                if (e != null && null != e.getParkingDuration()) {
//                    parkDurationDTO.setParkingDuration(String.format("%.1f", e.getParkingDuration() / 3600D));
//                }
//                list.add(parkDurationDTO);
//            }
//            pageBean.setDataList(list);
//            pageBean.setPageNum(pageInfo.getPageNum());
//            pageBean.setPageSize(pageInfo.getPageSize());
//            pageBean.setPages(pageInfo.getPages());
//            pageBean.setPageTotals(Integer.valueOf(String.valueOf(pageInfo.getTotal())));
//        }
//
//        return new BizResult<PageBean<ParkDurationDTO>>(pageBean);
//    }
//
//    @Override
//    public BizResult<List<ParkDurationDataDTO>> queryParkDurationDataForChart(ParkDurationRequest
//        parkDurationRequest) {
//
//        if (CollectionUtils.isEmpty(parkDurationRequest.getParkIds())) {
//            throw new BizException(ErrorType.PARAMM_NULL, "停车场ID");
//        }
//
//        if (null == parkDurationRequest.getParkOutBeginTime()) {
//            throw new BizException(ErrorType.PARAMM_NULL, "开始时间");
//        }
//
//        if (null == parkDurationRequest.getParkOutEndTime()) {
//            throw new BizException(ErrorType.PARAMM_NULL, "结束时间");
//        }
//
//        List<ParkDurationDataDTO> result = cloudsParDurationDao.queryParkDurationDataForChart(parkDurationRequest);
//
//        return new BizResult<>(result);
//    }
//
//    @Override
//    public BizResult<PageBean<ParkDurationDataDTO>> queryParkDurationDataForPage(
//        ParkDurationRequest parkDurationRequest) {
//        if (CollectionUtils.isEmpty(parkDurationRequest.getParkIds())) {
//            throw new BizException(ErrorType.PARAMM_NULL, "停车场ID");
//        }
//
//        if (null == parkDurationRequest.getQueryKind()) {
//            throw new BizException(ErrorType.PARAMM_NULL, "查询类型");
//        }
//
//        if (null == parkDurationRequest.getParkOutBeginTime()) {
//            throw new BizException(ErrorType.PARAMM_NULL, "开始时间");
//        }
//
//        if (null == parkDurationRequest.getParkOutEndTime()) {
//            throw new BizException(ErrorType.PARAMM_NULL, "结束时间");
//        }
//
//        PageInfo<ParkDurationDataDTO> pageInfo = cloudsParDurationDao.queryParkDurationDataForPage(parkDurationRequest);
//
//        PageBean<ParkDurationDataDTO> pageBean = new PageBean<>();
//        if (null != pageInfo) {
//            PageBeanUtil.copyProperties(pageInfo, pageBean, ParkDurationDataDTO.class);
//        }
//
//        return new BizResult<>(pageBean);
//    }
//
//    @Override
//    public BizResult<List<ParkDurationForHourDTO>> queryEchartsForParkDurationDayDetail(
//        ParkDurationRequest parkDurationRequest) {
//        List<ParkDurationForHourDTO> listDTO = new ArrayList<ParkDurationForHourDTO>();
//        logger.info("---begin停车下载详情->按日,入参={}", JSONObject.toJSON(parkDurationRequest));
//        if (parkDurationRequest == null) {
//            throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空!");
//        } else {
//            List<ParkDurationForHourDO> listDO = cloudsParDurationDao.queryEchartsForParkDurationDayDetail(
//                parkDurationRequest);
//            ListCopyUtil.listCopyProperties(listDO, listDTO, ParkDurationForHourDTO.class);
//        }
//        logger.info("---end停车下载详情->按日");
//        return new BizResult<List<ParkDurationForHourDTO>>(listDTO);
//    }
//
//}