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 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 selectByExample(TParkingCardExample example) { return tParkingCardMapper.selectByExample(example); } @Override public TParkingCard queryByPrimaryKey(Long id) { return tParkingCardMapper.selectByPrimaryKey(id); } @Override public List 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 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 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 list = tParkingCardMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo<>(list); } return new PageInfo<>(new ArrayList<>()); } }