feat: (feature/REQ-3167) 修改端的生成方式
This commit is contained in:
parent
8d975bd0ed
commit
c1901a8e5e
@ -1,8 +1,12 @@
|
||||
package cn.axzo.tyr.server.service;
|
||||
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.tyr.client.model.req.GetTerminalInfoReq;
|
||||
import cn.axzo.tyr.client.model.res.TerminalConfigRes;
|
||||
|
||||
public interface TerminalService {
|
||||
|
||||
TerminalConfigRes getConfig();
|
||||
|
||||
TerminalInfo getTerminalInfo(GetTerminalInfoReq param);
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.thrones.client.saas.ServicePkgClient;
|
||||
import cn.axzo.thrones.client.saas.entity.serivicepgkproduct.ServicePkgProduct;
|
||||
import cn.axzo.thrones.client.saas.entity.servicepkg.ServicePkgDetailRes;
|
||||
import cn.axzo.tyr.client.TerminalClient;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceStatus;
|
||||
import cn.axzo.tyr.client.common.enums.FeatureResourceType;
|
||||
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
|
||||
@ -19,6 +20,7 @@ import cn.axzo.tyr.client.model.base.WorkspaceOUPair;
|
||||
import cn.axzo.tyr.client.model.enums.IdentityType;
|
||||
import cn.axzo.tyr.client.model.enums.RolePermissionTagEnum;
|
||||
import cn.axzo.tyr.client.model.product.ProductFeatureRelationVO;
|
||||
import cn.axzo.tyr.client.model.req.GetTerminalInfoReq;
|
||||
import cn.axzo.tyr.client.model.req.IdentityAuthReq;
|
||||
import cn.axzo.tyr.client.model.req.ListPermissionFeatureReq;
|
||||
import cn.axzo.tyr.client.model.req.NavTreeReq;
|
||||
@ -55,6 +57,7 @@ import cn.axzo.tyr.server.service.RoleSaasFeatureResourceCacheService;
|
||||
import cn.axzo.tyr.server.service.RoleService;
|
||||
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
|
||||
import cn.axzo.tyr.server.service.SaasRoleUserRelationService;
|
||||
import cn.axzo.tyr.server.service.TerminalService;
|
||||
import cn.axzo.tyr.server.service.TyrSaasAuthService;
|
||||
import cn.axzo.tyr.server.service.WorkspaceProductService;
|
||||
import cn.axzo.tyr.server.utils.RpcInternalUtil;
|
||||
@ -111,6 +114,7 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
|
||||
private final WorkspaceProductService workspaceProductService;
|
||||
private final RoleSaasFeatureResourceCacheService roleSaasFeatureResourceCacheService;
|
||||
private final PermissionTagService permissionTagService;
|
||||
private final TerminalService terminalService;
|
||||
|
||||
@Value("${not.auth.uniCodes:}")
|
||||
private Set<String> notAuthUniCodes;
|
||||
@ -174,7 +178,10 @@ public class PermissionQueryServiceImpl implements PermissionQueryService {
|
||||
return false;
|
||||
}
|
||||
|
||||
TerminalInfo tm = new TerminalInfo(terminal);
|
||||
GetTerminalInfoReq getTerminalInfoReq = GetTerminalInfoReq.builder()
|
||||
.terminalCode(terminal)
|
||||
.build();
|
||||
TerminalInfo tm = terminalService.getTerminalInfo(getTerminalInfoReq);
|
||||
return tm.isGA();
|
||||
}
|
||||
|
||||
|
||||
@ -1,17 +1,25 @@
|
||||
package cn.axzo.tyr.server.service.impl;
|
||||
|
||||
import cn.axzo.framework.auth.domain.TerminalInfo;
|
||||
import cn.axzo.framework.jackson.utility.JSON;
|
||||
import cn.axzo.nanopart.api.ConfigApi;
|
||||
import cn.axzo.nanopart.api.constant.enums.BizTypeEnum;
|
||||
import cn.axzo.nanopart.api.response.ConfigResp;
|
||||
import cn.axzo.tyr.client.model.req.GetTerminalInfoReq;
|
||||
import cn.axzo.tyr.client.model.res.TerminalConfigRes;
|
||||
import cn.axzo.tyr.server.controller.terminal.TerminalController;
|
||||
import cn.axzo.tyr.server.service.TerminalService;
|
||||
import cn.axzo.tyr.server.util.RpcInternalUtil;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@ -19,6 +27,8 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
|
||||
@Autowired
|
||||
private ConfigApi configApi;
|
||||
@Autowired
|
||||
private TerminalController terminalController;
|
||||
|
||||
private static final String TERMINAL_CONFIG = "terminal.config";
|
||||
|
||||
@ -36,4 +46,24 @@ public class TerminalServiceImpl implements TerminalService {
|
||||
|
||||
return JSON.parseObject(configByBizCode.getContent(), TerminalConfigRes.class);
|
||||
}
|
||||
|
||||
private LoadingCache<String, Optional<TerminalInfo>> terminalInfoCache = CacheBuilder.newBuilder()
|
||||
.expireAfterWrite(10, TimeUnit.MINUTES)
|
||||
.maximumSize(100)
|
||||
.build(new CacheLoader<String, Optional<TerminalInfo>>() {
|
||||
@Override
|
||||
public Optional<TerminalInfo> load(String terminalCode) {
|
||||
|
||||
GetTerminalInfoReq getTerminalInfoReq = GetTerminalInfoReq.builder()
|
||||
.terminalCode(terminalCode)
|
||||
.build();
|
||||
return Optional.ofNullable(terminalController.getTerminalInfo(getTerminalInfoReq).getData());
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public TerminalInfo getTerminalInfo(GetTerminalInfoReq param) {
|
||||
return terminalInfoCache.getUnchecked(param.getTerminalCode())
|
||||
.orElseGet(() -> new TerminalInfo(param.getTerminalCode()));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user