package com.consum.base.cache;
import com.consum.base.Constants;
import com.consum.base.FinOrgCacheProvider;
import com.consum.base.service.FinOrgService;
import com.consum.model.po.FinSysOrg;
import com.walker.cache.AbstractCacheProvider;
import com.walker.cache.Cache;
import com.walker.infrastructure.utils.StringUtils;
import java.util.List;
/**
* 本地运维机构缓存定义。
*
注意:只有在测试开发中使用该对象,生产环境请配置为Redis方式。
* @author 时克英
* @date 2023-07-05
*/
public class LocalFinOrgCache extends AbstractCacheProvider implements FinOrgCacheProvider {
@Override
public FinSysOrg get(String orgCode) {
return this.getCacheData(orgCode);
}
@Override
public void save(FinSysOrg e) {
this.putCacheData(e.getOrgCode(), e);
}
@Override
public void update(FinSysOrg e) {
this.updateCacheData(e.getOrgCode(), e);
}
@Override
public void remove(String orgCode) {
this.removeCacheData(orgCode);
}
@Override
protected int loadDataToCache(Cache cache) {
List hosts = this.finOrgService.selectAll(new FinSysOrg());
if(!StringUtils.isEmptyList(hosts)){
for(FinSysOrg h : hosts){
cache.put(h.getOrgCode(), h);
}
return hosts.size();
}
return 0;
}
@Override
public String getProviderName() {
return Constants.CACHE_NAME_FIN_ORG;
}
@Override
public Class> getProviderType() {
return FinSysOrg.class;
}
public void setFinOrgService(FinOrgService finOrgService) {
this.finOrgService = finOrgService;
}
private FinOrgService finOrgService;
}