|
|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package cn.iocoder.yudao.framework.errorcode.core.loader;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
|
|
|
|
import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.errorcode.ErrorCodeApi;
|
|
|
|
|
import cn.iocoder.yudao.module.system.api.errorcode.dto.ErrorCodeRespDTO;
|
|
|
|
|
@ -44,19 +45,21 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
|
|
|
|
|
*/
|
|
|
|
|
private LocalDateTime maxUpdateTime;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@EventListener(ApplicationReadyEvent.class)
|
|
|
|
|
@Async // 异步,保证项目的启动过程,毕竟非关键流程
|
|
|
|
|
public void loadErrorCodes() {
|
|
|
|
|
this.loadErrorCodes0();
|
|
|
|
|
loadErrorCodes0();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Scheduled(fixedDelay = REFRESH_ERROR_CODE_PERIOD, initialDelay = REFRESH_ERROR_CODE_PERIOD)
|
|
|
|
|
@Override
|
|
|
|
|
@Scheduled(fixedDelay = REFRESH_ERROR_CODE_PERIOD, initialDelay = REFRESH_ERROR_CODE_PERIOD)
|
|
|
|
|
public void refreshErrorCodes() {
|
|
|
|
|
this.loadErrorCodes0();
|
|
|
|
|
loadErrorCodes0();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void loadErrorCodes0() {
|
|
|
|
|
try {
|
|
|
|
|
// 加载错误码
|
|
|
|
|
List<ErrorCodeRespDTO> errorCodeRespDTOs = errorCodeApi.getErrorCodeList(applicationName, maxUpdateTime).getCheckedData();
|
|
|
|
|
if (CollUtil.isEmpty(errorCodeRespDTOs)) {
|
|
|
|
|
@ -71,6 +74,9 @@ public class ErrorCodeLoaderImpl implements ErrorCodeLoader {
|
|
|
|
|
// 记录下更新时间,方便增量更新
|
|
|
|
|
maxUpdateTime = DateUtils.max(maxUpdateTime, errorCodeRespDTO.getUpdateTime());
|
|
|
|
|
});
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
|
log.error("[loadErrorCodes0][加载错误码失败({})]", ExceptionUtil.getRootCauseMessage(ex));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|