新增算法定时任务

This commit is contained in:
2023-12-20 14:19:32 +08:00
parent 9d551ba032
commit f47cc7d86c
7 changed files with 308 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
package com.njcn.prepare.harmonic.api.newalgorithm;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.fallback.rMpEmissionFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(
value = ServerInfo.PREPARE_BOOT,
path = "/rMpEmissionM",
fallbackFactory = rMpEmissionFallbackFactory.class
)
public interface RMpEmissionFeignClient {
@PostMapping("rMpEmissionMHandler")
HttpResult<Boolean> rMpEmissionMHandler(@RequestBody LineParam jobParam);
}

View File

@@ -0,0 +1,23 @@
package com.njcn.prepare.harmonic.api.newalgorithm;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.fallback.rMpInfluenceFallbackFactory;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@FeignClient(
value = ServerInfo.PREPARE_BOOT,
path = "/rMpInfluenceM",
fallbackFactory = rMpInfluenceFallbackFactory.class
)
public interface RMpInfluenceFeignClient {
@ApiOperation("影响特性(r_mp_emission_m表数据)")
@PostMapping("rMpInfluenceMHandler")
HttpResult<Boolean> rMpInfluenceMHandler(@RequestBody LineParam jobParam);
}

View File

@@ -0,0 +1,33 @@
package com.njcn.prepare.harmonic.api.newalgorithm.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.RMpEmissionFeignClient;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class rMpEmissionFallbackFactory implements FallbackFactory<RMpEmissionFeignClient> {
@Override
public RMpEmissionFeignClient create(Throwable throwable) {
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException)throwable.getCause();
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new RMpEmissionFeignClient() {
@Override
public HttpResult<Boolean> rMpEmissionMHandler(LineParam jobParam) {
log.error("{}异常,降级处理,异常为:{}", "发射特性: ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -0,0 +1,33 @@
package com.njcn.prepare.harmonic.api.newalgorithm.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.prepare.harmonic.api.newalgorithm.RMpInfluenceFeignClient;
import com.njcn.prepare.harmonic.pojo.param.LineParam;
import com.njcn.prepare.harmonic.utils.PrepareEnumUtil;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class rMpInfluenceFallbackFactory implements FallbackFactory<RMpInfluenceFeignClient> {
@Override
public RMpInfluenceFeignClient create(Throwable throwable) {
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (throwable.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException)throwable.getCause();
exceptionEnum = PrepareEnumUtil.getExceptionEnum(businessException.getResult());
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new RMpInfluenceFeignClient() {
@Override
public HttpResult<Boolean> rMpInfluenceMHandler(LineParam jobParam) {
log.error("{}异常,降级处理,异常为:{}", "影响特性: ", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}