update - 新增jar 客户端版本的比对判断

This commit is contained in:
wangli 2024-02-19 15:06:10 +08:00
parent 89aac2fadb
commit 1b9ef5fa4c
2 changed files with 11 additions and 6 deletions

View File

@ -17,6 +17,7 @@ public enum OtherRespCode implements IModuleRespCode {
REPEAT_SUBMIT_TIME_ERROR_TIPS("002", "重复提交间隔时间不能小于{}秒"),
REPEAT_SUBMIT_ERROR_TIPS("003", "{}"),
CLIENT_VERSION_SUPPORT("004", "客户端 JAR 包版本不支持,请升级到 {} 版本"),
MICRO_SERVER_NEED_REBUILD("005", "微服务 {} 需要重新编译发布"),
;
private String code;

View File

@ -7,6 +7,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
@ -17,7 +18,9 @@ import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_API_
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT;
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_HTTP_CLIENT_VALUE;
import static cn.axzo.workflow.client.config.FeignRequestInterceptor.HEADER_SERVER_NAME;
import static cn.axzo.workflow.common.constant.BpmnConstants.DOT;
import static cn.axzo.workflow.core.common.code.OtherRespCode.CLIENT_VERSION_SUPPORT;
import static cn.axzo.workflow.core.common.code.OtherRespCode.MICRO_SERVER_NEED_REBUILD;
/**
* 客户端与服务端的版本比较
@ -49,12 +52,13 @@ public class RequestHeaderContextInterceptor implements HandlerInterceptor {
throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
}
}
// // feignApi 才需要检查版本
// if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath")
// && !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
// log.info("request uri 2 : {}", request.getRequestURI());
// throw new WorkflowEngineException(CLIENT_VERSION_SUPPORT, serviceVersion);
// }
// feignApi 才需要检查版本
if (!request.getRequestURI().contains("/web/") && !request.getRequestURI().contains("checkDeath")
&& !StringUtils.hasText(request.getHeader(HEADER_HTTP_CLIENT))) {
log.info("request uri 2 : {}", request.getRequestURI());
String serverName = request.getHeader(HEADER_SERVER_NAME).split(DOT)[1];
throw new WorkflowEngineException(MICRO_SERVER_NEED_REBUILD, serverName);
}
return true;
}