AppAuthorizationCache.java 2.54 KB
package com.zteits.pay.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.pay.AppOrgDTO;
import com.zteits.clouds.api.dto.pay.ThirdPartAuthorizationCacheDTO;
import com.zteits.pay.domain.AppOrg;
import com.zteits.pay.domain.AppOrgExample;
import com.zteits.pay.domain.TdCThirdPartAppAuthorization;
import com.zteits.pay.domain.TdCThirdPartAppAuthorizationExample;
import com.zteits.pay.mapper.AppOrgMapper;
import com.zteits.pay.mapper.TdCThirdPartAppAuthorizationMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * APP授权查询
 * Copyright: Copyright (c) 2018
 *
 * @Description:
 * @version: v1.0.0
 * @author: xiejianpeng
 * @date: 2020/12/8 16:18
 * Modification History:
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2020/12/8     xiejianpeng         v1.0.0               创建
 */
@Component
public class AppAuthorizationCache extends AbstractCache<HashCacheVO>{


	@Autowired
	private TdCThirdPartAppAuthorizationMapper thirdPartAppAuthorizationMapper;

	@Override
	protected List<HashCacheVO> getData(int pageNum, int pageSize) {
		PageHelper.startPage(pageNum, pageSize);
		TdCThirdPartAppAuthorizationExample example = new TdCThirdPartAppAuthorizationExample();
		example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
		List<TdCThirdPartAppAuthorization> appOrgs = thirdPartAppAuthorizationMapper.selectByExample(example );
		List<HashCacheVO> cacheVOs = Lists.newArrayList();

		for (TdCThirdPartAppAuthorization item : appOrgs) {
			ThirdPartAuthorizationCacheDTO dto = new ThirdPartAuthorizationCacheDTO();
			BeanUtils.copyProperties(item, dto);
			HashCacheVO vo = new HashCacheVO(item.getAppId(), dto);
			cacheVOs.add(vo);
		}
		return cacheVOs;
	}

	@Override
	protected long getTotalSize() {
		TdCThirdPartAppAuthorizationExample example = new TdCThirdPartAppAuthorizationExample();
		example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
		return thirdPartAppAuthorizationMapper.countByExample(example );
	}

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

}