TbAreaIdCache.java 1.86 KB
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.HashCacheVO;
import com.clouds.common.constants.RedisKeyEnum;
import com.google.common.collect.Lists;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
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: TbAreaCache.java
 * @Description: 
 * @version: v1.0.0
 * @author: zhaowg
 * @date: 2017年6月1日   下午4:30:11 
 * Modification History: 
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2017年6月1日      zhaowg              v1.0.0               创建
 */
@Component
public class TbAreaIdCache extends AbstractCache<HashCacheVO>{
	
	@Autowired
	private TbAreaDao tbAreaDao;
	
	@Override
	protected List<HashCacheVO> getData(int pageNum, int pageSize) {
		TbArea tbArea = new TbArea();
		tbArea.setDataState(DataStatusEnum.DATA_STATUS_VALID.value());
		List<TbArea> areas = tbAreaDao.queryTbArea(tbArea );
		if(CollectionUtils.isEmpty(areas)){
			return null;
		}
		List<HashCacheVO> result = Lists.newArrayList();
		for (TbArea area : areas) {
			TbAreaDTO areaDto = new TbAreaDTO();
			BeanUtils.copyProperties(area, areaDto);
			HashCacheVO e = new HashCacheVO(area.getId()+"", areaDto);
			result.add(e );
		}
		return result;
	}

	@Override
	protected long getTotalSize() {
		return 1;
	}

	@Override
	protected String getKey() {
		return RedisKeyEnum.SYS_TB_AREA_ID.key();
	}

}