TParkingCardDaoImpl.java 6.03 KB
package com.zteits.bill.dao.impl;

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

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import com.clouds.common.constants.pagequery.PageSizeEnum;
import com.clouds.common.constants.parkingcard.ParkingCardEnum.CardStatusEnum;
import com.clouds.common.utils.page.PageUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zteits.bill.dao.TParkingCardDao;
import com.zteits.bill.domain.TParkingCard;
import com.zteits.bill.domain.TParkingCardExample;
import com.zteits.bill.domain.TParkingCardExample.Criteria;
import com.zteits.bill.mapper.TParkingCardMapper;
import com.zteits.clouds.api.dto.bill.param.TParkingCardRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class TParkingCardDaoImpl implements TParkingCardDao {
    @Autowired
    private TParkingCardMapper tParkingCardMapper;

    @Override
    public TParkingCard queryParkingCardByCardNo(String cardNo) {

        TParkingCardExample example = new TParkingCardExample();
        Criteria sql = example.createCriteria();
        sql.andCardNoEqualTo(cardNo);
        List<TParkingCard> list = tParkingCardMapper.selectByExample(example);
        if (CollectionUtils.isEmpty(list)) {
            return null;
        } else {
            return list.get(0);
        }
    }

    @Override
    public int updateParkingCardStatusByCardNo(String carNo,Integer cardStatus,
        String cardStatusRemark) {

        TParkingCard tParkingCard = new TParkingCard();
        tParkingCard.setCardStatus(cardStatus);
        tParkingCard.setModifyDate(new Date());
        if (StringUtils.isNotEmpty(cardStatusRemark)) {
            tParkingCard.setCardStatusRemark(cardStatusRemark);
        }
        TParkingCardExample example = new TParkingCardExample();
        Criteria sql = example.createCriteria();
        sql.andCardNoEqualTo(carNo);
        return tParkingCardMapper.updateByExampleSelective(tParkingCard, example);

    }

    @Override
    public int deleteTParkingCardByPrimaryKey(Long id, String opId, String opName) {
        TParkingCard record = new TParkingCard();
        record.setId(id);
        record.setModfiyEmpId(opId);
        record.setModifyEmpName(opName);
        record.setModifyDate(new Date());
        return tParkingCardMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public int saveTParkingCard(TParkingCard tParkingCard) {
        if (tParkingCard.getCreateDate() == null) {
            tParkingCard.setCreateDate(new Date());
        }
        if (tParkingCard.getModifyDate() == null) {
            tParkingCard.setModifyDate(new Date());
        }
        return tParkingCardMapper.insertSelective(tParkingCard);
    }

    @Override
    public int updateByExampleSelective(TParkingCard record, TParkingCardExample example) {
        return tParkingCardMapper.updateByExampleSelective(record, example);
    }

    @Override
    public int updateByPrimaryKeySelective(TParkingCard record) {
        return tParkingCardMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public List<TParkingCard> selectByExample(TParkingCardExample example) {
        return tParkingCardMapper.selectByExample(example);
    }

    @Override
    public TParkingCard queryByPrimaryKey(Long id) {
        return tParkingCardMapper.selectByPrimaryKey(id);
    }

    @Override
    public List<TParkingCard> queryTParkingCard(TParkingCardRequest request) {
        TParkingCardExample example = new TParkingCardExample();
        Criteria sql = example.createCriteria();

        sql.andCardNoIn(request.getCardNos());
        sql.andOrgIdEqualTo(request.getOrgId());

        if (CollectionUtils.isNotEmpty(request.getCardStatus())) {
            sql.andCardStatusIn(request.getCardStatus());
        }
        if (CollectionUtils.isNotEmpty(request.getChannelIds())) {
            sql.andChannelIdIn(request.getChannelIds());
        }

        if (null != request.getQueryDate()) {
            //查询时间位于生失效之间
            sql.andEffectDateGreaterThanOrEqualTo(request.getQueryDate()).andExpireDateLessThanOrEqualTo(
                request.getQueryDate());
        }

        return tParkingCardMapper.selectByExample(example);
    }

    @Override
    public int batchDeleteTParkingCardByPrimaryKey(List<Long> ids, String opId, String opName) {
        TParkingCard record = new TParkingCard();
        record.setModfiyEmpId(opId);
        record.setModifyEmpName(opName);
        record.setModifyDate(new Date());
        //where条件
        TParkingCardExample example = new TParkingCardExample();
        example.createCriteria().andIdIn(ids);
        return tParkingCardMapper.updateByExampleSelective(record, example);
    }

    @Override
    public PageInfo<TParkingCard> queryTParkingCardForPage(TParkingCardRequest request) {
        PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE, request);
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());

        TParkingCardExample example = new TParkingCardExample();
        Criteria sql = example.createCriteria();

        sql.andCardNoIn(request.getCardNos());
        sql.andOrgIdEqualTo(request.getOrgId());

        if (CollectionUtils.isNotEmpty(request.getCardStatus())) {
            sql.andCardStatusIn(request.getCardStatus());
        }
        if (CollectionUtils.isNotEmpty(request.getChannelIds())) {
            sql.andChannelIdIn(request.getChannelIds());
        }
        if (null != request.getQueryDate()) {
            //查询时间位于生失效之间
            sql.andEffectDateGreaterThanOrEqualTo(request.getQueryDate()).andExpireDateLessThanOrEqualTo(
                request.getQueryDate());
        }
        List<TParkingCard> list = tParkingCardMapper.selectByExample(example);

        if (CollectionUtils.isNotEmpty(list)) {
            return new PageInfo<>(list);
        }
        return new PageInfo<>(new ArrayList<>());
    }
}