ChargerIncomeDiffDaoImpl.java 5.56 KB
package com.zteits.park.dao.impl;

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

import org.apache.commons.collections4.CollectionUtils;
import com.clouds.common.constants.pagequery.PageSizeEnum;
import com.clouds.common.utils.page.PageUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.park.dto.ChargerIncomeDiffSummaryDTO;
import com.zteits.clouds.api.dto.park.param.ChargerIncomeDiffRequest;
import com.zteits.park.dao.ChargerIncomeDiffDao;
import com.zteits.park.domain.ChargerIncomeDiff;
import com.zteits.park.domain.ChargerIncomeDiffExample;
import com.zteits.park.domain.ChargerIncomeDiffExample.Criteria;
import com.zteits.park.mapper.ChargerIncomeDiffMapper;
import com.zteits.park.mapper.smapper.ChargerIncomeDiffSMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class ChargerIncomeDiffDaoImpl implements ChargerIncomeDiffDao {
    @Autowired
    private ChargerIncomeDiffMapper chargerIncomeDiffMapper;

    @Autowired
    private ChargerIncomeDiffSMapper chargerIncomeDiffSMapper;

    @Override
    public int deleteChargerIncomeDiffByPrimaryKey(Long id, String opId, String opName) {
        ChargerIncomeDiff record = new ChargerIncomeDiff();
        record.setId(id);
        record.setModifyOp(opId);
        record.setModifyTime(new Date());
        return chargerIncomeDiffMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public int saveChargerIncomeDiff(ChargerIncomeDiff chargerIncomeDiff) {
        if (chargerIncomeDiff.getCreateTime() == null) {
            chargerIncomeDiff.setCreateTime(new Date());
        }
        if (chargerIncomeDiff.getModifyTime() == null) {
            chargerIncomeDiff.setModifyTime(new Date());
        }
        return chargerIncomeDiffMapper.insertSelective(chargerIncomeDiff);
    }

    @Override
    public int updateByExampleSelective(ChargerIncomeDiff record, ChargerIncomeDiffExample example) {
        return chargerIncomeDiffMapper.updateByExampleSelective(record, example);
    }

    @Override
    public int updateByPrimaryKeySelective(ChargerIncomeDiff record) {
        return chargerIncomeDiffMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public List<ChargerIncomeDiff> selectByExample(ChargerIncomeDiffExample example) {
        return chargerIncomeDiffMapper.selectByExample(example);
    }

    @Override
    public ChargerIncomeDiff queryByPrimaryKey(Long id) {
        return chargerIncomeDiffMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<ChargerIncomeDiff> queryChargerIncomeDiff(ChargerIncomeDiffRequest request) {
        ChargerIncomeDiffExample example = new ChargerIncomeDiffExample();

        Criteria sql = example.createCriteria();
        sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andPlNoIn(request.getPlNos())
            .andStaticDateBetween(request.getStartDate(), request.getEndDate());
        if (CollectionUtils.isNotEmpty(request.getBerthRangeNos())) {
            sql.andBerthRangeNoIn(request.getBerthRangeNos());
        }

        if (null != request.getChargerCode()) {
            sql.andChargerCodeEqualTo(request.getChargerCode());
        }

        return chargerIncomeDiffMapper.selectByExample(example);
    }

    @Override
    public int batchDeleteChargerIncomeDiffByPrimaryKey(List<Long> ids, String opId, String opName) {
        ChargerIncomeDiff record = new ChargerIncomeDiff();
        record.setCreateOp(opId);
        record.setCreateTime(new Date());
        record.setModifyOp(opId);
        record.setModifyTime(new Date());
        //where条件
        ChargerIncomeDiffExample example = new ChargerIncomeDiffExample();
        example.createCriteria().andIdIn(ids);
        return chargerIncomeDiffMapper.updateByExampleSelective(record, example);
    }

    @Override
    public Integer deleteChargerIncomeDiffByDate(Date startDate, Date endDate) {
        ChargerIncomeDiffExample example = new ChargerIncomeDiffExample();
        example.createCriteria().andStaticDateBetween(startDate, endDate);
        return chargerIncomeDiffMapper.deleteByExample(example);
    }

    @Override
    public ChargerIncomeDiffSummaryDTO queryChargerIncomeDiffForSummary(ChargerIncomeDiffRequest requert) {

        return chargerIncomeDiffSMapper.queryChargerIncomeDiffForSummary(requert);

    }

    @Override
    public PageInfo<ChargerIncomeDiff> queryChargerIncomeDiffForPage(ChargerIncomeDiffRequest request) {

        //校验分页size
        PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE, request);

        ChargerIncomeDiffExample example = new ChargerIncomeDiffExample();

        Criteria sql = example.createCriteria();
        sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andPlNoIn(request.getPlNos())
            .andStaticDateBetween(request.getStartDate(), request.getEndDate());
        if (CollectionUtils.isNotEmpty(request.getBerthRangeNos())) {
            sql.andBerthRangeNoIn(request.getBerthRangeNos());
        }

        if (null != request.getChargerCode()) {
            sql.andChargerCodeEqualTo(request.getChargerCode());
        }

        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        List<ChargerIncomeDiff> list = chargerIncomeDiffMapper.selectByExample(example);

        if (null != list) {
            return new PageInfo<>(list);
        }
        return new PageInfo<>(new ArrayList<>());
    }
}