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{ @Autowired private TdCThirdPartAppAuthorizationMapper thirdPartAppAuthorizationMapper; @Override protected List getData(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); TdCThirdPartAppAuthorizationExample example = new TdCThirdPartAppAuthorizationExample(); example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); List appOrgs = thirdPartAppAuthorizationMapper.selectByExample(example ); List 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(); } }