package com.zteits.park.dao.impl; import java.util.Date; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.clouds.common.cache.park.ParkFreeBerthsCacheUtil; import com.xiaoleilu.hutool.util.CollectionUtil; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.govclouds.param.UserAreaInfo; import com.zteits.park.dao.ParkFreeBerthDao; import com.zteits.park.domain.BerthInfoDO; import com.zteits.park.domain.ParkFreeBerth; import com.zteits.park.domain.ParkFreeBerthExample; import com.zteits.park.domain.ParkFreeBerthsCountStatisticByCountryDO; import com.zteits.park.domain.ZeroBerthParkingLotDO; import com.zteits.park.mapper.ParkFreeBerthMapper; import com.zteits.park.mapper.smapper.ParkFreeBerthSMapper; /** * Copyright: Copyright (c) 2017 zteits * * @ClassName: ParkFreeBerthDaoImpl.java * @Description: * @version: v1.0.0 * @author: langlw * @date: 2017年6月1日 下午4:09:17 * Modification History: * Date Author Version Description * ---------------------------------------------------------* * 2017年6月1日 langlw v1.0.0 创建 */ @Component public class ParkFreeBerthDaoImpl implements ParkFreeBerthDao { @Autowired private ParkFreeBerthMapper parkFreeBerthMapper; @Autowired private ParkFreeBerthSMapper parkFreeBerthSMapper; @Override public Boolean deleteParkFreeBerth(List plNos,Long opId) { ParkFreeBerthExample example = new ParkFreeBerthExample(); example.createCriteria().andPlNoIn(plNos) .andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); ParkFreeBerth record = new ParkFreeBerth(); record.setDataStatus(DataStatusEnum.DATA_STATUS_NO_VALID.value()); record.setModifyTime(new Date()); parkFreeBerthMapper.updateByExampleSelective(record, example); //删除缓存 plNos.forEach(plNo->ParkFreeBerthsCacheUtil.deleteParkFreeBerths(plNo)); return true; } @Override public List StatisticParkFreeBerthsCountByCountry(Long cityId,Integer state) { return parkFreeBerthSMapper.StatisticParkFreeBerthsCountByCountry(cityId,state); } @Override public List queryFreeBerthByPlno(List plnos) { ParkFreeBerthExample example = new ParkFreeBerthExample(); ParkFreeBerthExample.Criteria criteria = example.createCriteria(); criteria.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); if(CollectionUtil.isNotEmpty(plnos)){ criteria.andPlNoIn(plnos); } return parkFreeBerthMapper.selectByExample(example ); } @Override public long queryAllFreeBerthNum(List plnos) { if (CollectionUtil.isEmpty(plnos)) { return 0; } return parkFreeBerthSMapper.queryAllFreeBerthNum(plnos); } @Override public BerthInfoDO getParkingBerthInfo(List userAreaInfoList) { return parkFreeBerthSMapper.getParkingBerthInfo(userAreaInfoList); } @Override public List getZeroBerthParkinglotList(List userAreaInfoList) { return parkFreeBerthSMapper.getZeroBerthParkinglotList(userAreaInfoList); } @Override public Integer updateParkVipFreeBerth(ParkFreeBerth parkFreeBerth) { ParkFreeBerth parkFreeBerthU = new ParkFreeBerth(); parkFreeBerthU.setId(parkFreeBerth.getId()); parkFreeBerthU.setVipFreeBerth(parkFreeBerth.getVipFreeBerth()); parkFreeBerthU.setTmpFreeBerth(parkFreeBerth.getTmpFreeBerth()); return parkFreeBerthMapper.updateByPrimaryKeySelective(parkFreeBerthU); } }