package com.zteits.park.cache; import com.clouds.common.cache.base.AbstractCache; import com.clouds.common.cache.base.HashCacheVO; import com.clouds.common.constants.RedisKeyEnum; import com.github.pagehelper.PageHelper; import com.google.common.collect.Lists; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.park.dto.ParkingLotExtendAdapterDTO; import com.zteits.park.domain.ParkingLotExtendAdapter; import com.zteits.park.domain.ParkingLotExtendAdapterExample; import com.zteits.park.mapper.ParkingLotExtendAdapterMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; /** * parking_lot_extend_adapter * 停车场上传使用的车场编号 * 是要hash类型,hkey为停车场编号,value为停车场上传信息 * @author: wx * @createdate: 2022年6月24日 */ @Component public class ParkingLotExtendAdapterCache extends AbstractCache{ @Autowired private ParkingLotExtendAdapterMapper parkingLotExtendAdapterMapper; @Override protected List getData(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); ParkingLotExtendAdapterExample example = new ParkingLotExtendAdapterExample(); example.createCriteria().andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); List parkingLots = parkingLotExtendAdapterMapper.selectByExample(example); List cacheVOs = Lists.newArrayList(); for (ParkingLotExtendAdapter item : parkingLots) { ParkingLotExtendAdapterDTO dto = new ParkingLotExtendAdapterDTO(); BeanUtils.copyProperties(item, dto); HashCacheVO vo = new HashCacheVO(item.getPlNo(), dto); cacheVOs.add(vo); } return cacheVOs; } @Override protected long getTotalSize() { ParkingLotExtendAdapterExample example = new ParkingLotExtendAdapterExample(); example.createCriteria().andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); return parkingLotExtendAdapterMapper.countByExample(example); } @Override protected String getKey() { return RedisKeyEnum.PARK_PARKING_LOT_EXTEND_ADAPTER.key(); } }