package com.zteits.park.dao.impl; import java.util.List; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; 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.param.CarBreakRuleCheckRequest; import com.zteits.clouds.api.dto.park.param.CarBreakRuleRequest; import com.zteits.park.dao.TpCCarBreakRuleDao; import com.zteits.park.domain.TpCCarBreakRule; import com.zteits.park.domain.TpCCarBreakRuleExample; import com.zteits.park.domain.TpCCarBreakRuleExample.Criteria; import com.zteits.park.mapper.TpCCarBreakRuleMapper; @Component public class TpCCarBreakRuleDaoImpl implements TpCCarBreakRuleDao { @Autowired private TpCCarBreakRuleMapper tpCCarBreakRuleMapper; @Override public PageInfo queryCarBreakRuleForPage(CarBreakRuleRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); TpCCarBreakRuleExample example = new TpCCarBreakRuleExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); if(CollectionUtils.isNotEmpty(request.getIds())){ sql.andIdIn(request.getIds()); } if(request.getAuditType() != null){ sql.andAuditTypeEqualTo(request.getAuditType()); } if(CollectionUtils.isNotEmpty(request.getPlNos())){ sql.andPlNoIn(request.getPlNos()); } if(CollectionUtils.isEmpty(request.getPlNos())){ sql.andPlNoIsNull(); } if(CollectionUtils.isNotEmpty(request.getParkAreaCodes())){ sql.andParkAreaCodeIn(request.getParkAreaCodes()); } if(CollectionUtils.isNotEmpty(request.getChargerCodes())){ sql.andChargerCodeIn(request.getChargerCodes()); } if(request.getOrgId() != null){ sql.andOrgIdEqualTo(request.getOrgId()); } if(request.getId() != null){ sql.andIdEqualTo(request.getId()); } if(request.getBeginTime() != null){ sql.andCreateDateGreaterThanOrEqualTo(request.getBeginTime()); } if(request.getEndTime() != null){ sql.andCreateDateLessThanOrEqualTo(request.getEndTime()); } if(StringUtils.isNotEmpty(request.getBerthNo())){ sql.andBerthNoLike("%" + request.getBerthNo() + "%"); } if(StringUtils.isNotEmpty(request.getCarNo())){ sql.andCarNoLike("%" + request.getCarNo() + "%"); } if(StringUtils.isNotEmpty(request.getRoadCode())){ sql.andRoadCodeLike("%" + request.getRoadCode() + "%"); } if(StringUtils.isNotEmpty(request.getBreakRuleCode())){ sql.andBreakRuleCodeLike("%" + request.getBreakRuleCode() + "%"); } List list = tpCCarBreakRuleMapper.selectByExample(example); return new PageInfo(list); } @Override public Boolean updateCarBreakRuleCheckStatus(CarBreakRuleCheckRequest req) { TpCCarBreakRule record = new TpCCarBreakRule(); BeanUtils.copyProperties(req, record); TpCCarBreakRuleExample example = new TpCCarBreakRuleExample(); example.createCriteria().andIdEqualTo(req.getId()) .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); return tpCCarBreakRuleMapper.updateByExampleSelective(record, example) > 0; } @Override public Integer insertSelective(TpCCarBreakRule record) { return tpCCarBreakRuleMapper.insertSelective(record); } }