H5BusinessOrderParkServiceImpl.java 4.2 KB
package com.zteits.business.biz.impl;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import com.clouds.common.utils.ListCopyUtil;
import com.clouds.common.utils.SequenceUtil;
import com.github.pagehelper.PageInfo;
import com.google.common.collect.Lists;
import com.xiaoleilu.hutool.date.DateUtil;
import com.zteits.business.dao.TdCCustBusinessDao;
import com.zteits.business.dao.TdCCustBusinessPicDao;
import com.zteits.business.domain.TdCBusinessOrderParkCouponSummary;
import com.zteits.business.domain.TdCBusinessOrderParkRecord;
import com.zteits.business.domain.TdCCustBusiness;
import com.zteits.business.domain.TdCCustBusinessPic;
import com.zteits.clouds.api.apibase.bean.BizResult;
import com.zteits.clouds.api.apibase.bean.PageBean;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.apibase.constants.ErrorType;
import com.zteits.clouds.api.apibase.constants.SequenceTypeEnum;
import com.zteits.clouds.api.apibase.exception.BizException;
import com.zteits.clouds.api.dto.business.dto.*;
import com.zteits.clouds.api.dto.business.param.*;
import com.zteits.clouds.api.dto.clouds.param.BatchDeleteByPrimaryKeyRequest;
import com.zteits.clouds.api.service.business.H5BusinessOrderParkService;
import com.zteits.sys.pagepaper.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.Component;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Component
public class H5BusinessOrderParkServiceImpl implements H5BusinessOrderParkService {

    private static final Logger logger = LoggerFactory.getLogger(H5BusinessOrderParkServiceImpl.class);

    @Autowired
    private TdCCustBusinessDao tdCCustBusinessDao;

    @Override
    public BizResult<PageBean<H5BusinessOrderParkRecordDTO>> getBusinessParkOrderByBusIdForPage(H5BusinessOrderParkRequest request){
        logger.info("进入H5查询停车记录信息");
        PageBean<H5BusinessOrderParkRecordDTO> pageBean = new PageBean<>();

        TdCBusinessOrderParkRecordRequest tdCBusinessOrderParkRecordRequest = new TdCBusinessOrderParkRecordRequest();
        BeanUtils.copyProperties(request,tdCBusinessOrderParkRecordRequest);
        String stime = request.getStartTime() + " 00:00:00";
        String etime = request.getEndTime() + " 23:59:59";
        tdCBusinessOrderParkRecordRequest.setStartTime(DateUtil.parseDateTime(stime));
        tdCBusinessOrderParkRecordRequest.setEndTime(DateUtil.parseDateTime(etime));
        PageInfo<TdCBusinessOrderParkRecord> pageInfo = tdCCustBusinessDao.queryBusinessParkOrderForPage(tdCBusinessOrderParkRecordRequest);

        if (pageInfo != null && pageInfo.getList() != null && pageInfo.getList().size() > 0) {
            PageBeanUtil.copyProperties(pageInfo, pageBean, H5BusinessOrderParkRecordDTO.class);
        }
        return new BizResult<>(pageBean);
    }

    @Override
    public BizResult<BusinessParkingCouponSummaryDTO> parkingCouponSummary(H5BusinessOrderParkRequest request) {
        BusinessParkingCouponSummaryDTO summaryDTO = new BusinessParkingCouponSummaryDTO();

        TdCBusinessOrderParkRecordRequest tdCBusinessOrderParkRecordRequest = new TdCBusinessOrderParkRecordRequest();
        BeanUtils.copyProperties(request,tdCBusinessOrderParkRecordRequest);
        String stime = request.getStartTime() + " 00:00:00";
        String etime = request.getEndTime() + " 23:59:59";
        tdCBusinessOrderParkRecordRequest.setStartTime(DateUtil.parseDateTime(stime));
        tdCBusinessOrderParkRecordRequest.setEndTime(DateUtil.parseDateTime(etime));
        TdCBusinessOrderParkCouponSummary symmary = tdCCustBusinessDao.parkingCouponSummary(tdCBusinessOrderParkRecordRequest);
        if(symmary != null){
            summaryDTO.setTotalFeeSummary("应收合计:" + symmary.getOrderTotalFeeAll() / 100 + "元");
            summaryDTO.setActFeeSummary("实收合计:" + symmary.getOrderActFeeAll()/ 100 + "元");
            summaryDTO.setDicountFeeSummary("优惠合计:" + symmary.getDicountFeeAll()/ 100 + "元");
        }

        return new BizResult<>(summaryDTO);
    }
}