feat: (feature/REQ-3167) 修改前端资源,触发更新权限缓存

This commit is contained in:
李龙 2024-12-02 15:19:35 +08:00
parent 35bb4e4c01
commit 8d975bd0ed
2 changed files with 18 additions and 4 deletions

View File

@ -177,7 +177,6 @@ public class TerminalController implements TerminalApi {
.terminalCode(req.getTerminalCode())
.build())
.getData();
log.info("terminalRes,{}", JSON.toJSONString(terminalRes));
// 找不到端有可能是以前的旧端设置的为了兼容直接使用原来的new TerminalInfo方式返回
if (CollectionUtils.isEmpty(terminalRes)) {
return ApiResult.ok(new TerminalInfo(req.getTerminalCode()));
@ -187,7 +186,7 @@ public class TerminalController implements TerminalApi {
log.warn("重复的端信息,{}", req.getTerminalCode());
}
ApiResult<TerminalInfo> ok = ApiResult.ok(terminalRes.stream()
return ApiResult.ok(terminalRes.stream()
.map(e -> {
Boolean isGov = Objects.equals(e.getTerminalBizType(), GOV_BIZ_TYPE);
TerminalInfo terminalInfo = new TerminalInfo(req.getTerminalCode());
@ -199,7 +198,5 @@ public class TerminalController implements TerminalApi {
})
.findFirst()
.orElse(null));
log.info("terminalRes,{}", JSON.toJSONString(ok));
return ok;
}
}

View File

@ -3,10 +3,13 @@ package cn.axzo.tyr.server.event.inner;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.framework.rocketmq.EventHandler;
import cn.axzo.tyr.server.event.payload.PageElementFeatureResourceUpsertPayload;
import cn.axzo.tyr.server.event.payload.SaasFeatureResourceUpsertPayload;
import cn.axzo.tyr.server.service.SaasFeatureResourceService;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -39,8 +42,22 @@ public class CacheSaasFeatureResourceHandler implements EventHandler, Initializi
log.info("end cached saasFeatureResource handler rocketmq event: {}", event);
}
public void onPageElementFeatureResourceUpsert(Event event, EventConsumer.Context context) {
PageElementFeatureResourceUpsertPayload payload = event.normalizedData(PageElementFeatureResourceUpsertPayload.class);
if (StringUtils.isBlank(payload.getTerminal())) {
return;
}
SaasFeatureResourceService.RefreshFeatureResourceCacheParam param = SaasFeatureResourceService.RefreshFeatureResourceCacheParam.builder()
.terminals(Sets.newHashSet(payload.getTerminal()))
.build();
saasFeatureResourceService.refreshCache(param);
}
@Override
public void afterPropertiesSet() throws Exception {
eventConsumer.registerHandler(EventTypeEnum.SAAS_FEATURE_RESOURCE_UPSERT.getEventCode(), this);
eventConsumer.registerHandler(EventTypeEnum.PAGE_ELEMENT_FEATURE_RESOURCE_UPSERT.getEventCode(), this::onPageElementFeatureResourceUpsert);
}
}