package com.zteits.sys.cache; import java.util.List; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import com.clouds.common.cache.base.AbstractCache; import com.clouds.common.cache.base.CacheType; import com.clouds.common.constants.RedisKeyEnum; import com.google.common.collect.Lists; import com.zteits.clouds.api.dto.sys.TbAreaDTO; import com.zteits.sys.dao.TbAreaDao; import com.zteits.sys.domain.TbArea; /** * 省缓存 * * Copyright: Copyright (c) 2017 zteits * * @ClassName: TbAreaProvinceCache.java * @Description: * @version: v1.0.0 * @author: langlw * @date: 2017年8月15日 上午9:57:10 * Modification History: * Date Author Version Description *---------------------------------------------------------* * 2017年8月15日 langlw v1.0.0 创建 */ @Component public class TbAreaProvinceCache extends AbstractCache{ @Autowired private TbAreaDao tbAreaDao; @Override protected List getData(int pageNum, int pageSize) { List areas = tbAreaDao.queryProvince(); if(CollectionUtils.isEmpty(areas)){ return null; } List result = Lists.newArrayList(); for (TbArea area : areas) { TbAreaDTO areaDto = new TbAreaDTO(); BeanUtils.copyProperties(area, areaDto); result.add(areaDto); } return result; } @Override protected long getTotalSize() { return 1; } @Override protected String getKey() { return RedisKeyEnum.SYS_TB_AREA_PROVINCE_ID.key(); } @Override protected CacheType getCacheType() { return CacheType.STRING; } }