//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> 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 list = new ArrayList(); // // List 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 maps = new HashMap(); // //获取所有时间 // Set listDate = new HashSet(); // 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 listResult = new ArrayList(listDate); // // Collections.sort(listResult); // //将数据组装成map // Map> map = this.resultToMap(list); // maps.put("dates", listResult); // maps.put("data", map); // // logger.info("---begin停车时长折线图->按日"); // return new BizResult>(maps); // } // // /** // * 将数据组装成map.
// * 说明:1:key:停车场名称.
// * // * @param result // * @return // * @throws ParseException // */ // private Map> resultToMap(List result) throws ParseException { // Map> map = new HashMap>(); // 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 list = new ArrayList(); // list.add(e); // map.put(e.getParkName(), list); // } // } // // } // } // return map; // } // // @Override // public BizResult> queryEchartsForParkDurationDayForPage( // ParkDurationRequest parkDurationRequest) { // PageBean pageBean = new PageBean(); // List list = new ArrayList(); // PageInfo 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); // } // // @Override // public BizResult> queryEchartsForParkDurationForMonth(ParkDurationRequest parkDurationRequest) // throws Exception { // logger.info("---begin停车时长折线图->按月,入参={}", JSONObject.toJSON(parkDurationRequest)); // List list = new ArrayList(); // SimpleDateFormat format = new SimpleDateFormat("yyyy-MM"); // if (parkDurationRequest == null) { // throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空!"); // } else { // List 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 maps = new HashMap(); // //获取所有时间 // List listDate = new ArrayList(); // 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> map = this.resultToMap(list); // maps.put("dates", listDate); // maps.put("data", map); // logger.info("---begin停车时长折线图->按月"); // return new BizResult>(maps); // } // // @Override // public BizResult> queryEchartsForParkDurationMonthForPage( // ParkDurationRequest parkDurationRequest) { // PageBean pageBean = new PageBean(); // List list = new ArrayList(); // PageInfo 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); // } // // @Override // public BizResult> 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 result = cloudsParDurationDao.queryParkDurationDataForChart(parkDurationRequest); // // return new BizResult<>(result); // } // // @Override // public BizResult> 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 pageInfo = cloudsParDurationDao.queryParkDurationDataForPage(parkDurationRequest); // // PageBean pageBean = new PageBean<>(); // if (null != pageInfo) { // PageBeanUtil.copyProperties(pageInfo, pageBean, ParkDurationDataDTO.class); // } // // return new BizResult<>(pageBean); // } // // @Override // public BizResult> queryEchartsForParkDurationDayDetail( // ParkDurationRequest parkDurationRequest) { // List listDTO = new ArrayList(); // logger.info("---begin停车下载详情->按日,入参={}", JSONObject.toJSON(parkDurationRequest)); // if (parkDurationRequest == null) { // throw new BizException(ErrorType.PARAMM_NULL, "入参不能为空!"); // } else { // List listDO = cloudsParDurationDao.queryEchartsForParkDurationDayDetail( // parkDurationRequest); // ListCopyUtil.listCopyProperties(listDO, listDTO, ParkDurationForHourDTO.class); // } // logger.info("---end停车下载详情->按日"); // return new BizResult>(listDTO); // } // //}