SAP工艺路线同步优化
parent
52e68ac7f6
commit
0aed7fcf20
@ -0,0 +1,39 @@
|
|||||||
|
package com.op.technology.service;
|
||||||
|
|
||||||
|
import com.op.common.core.domain.R;
|
||||||
|
import com.op.system.api.RemoteSapService;
|
||||||
|
import com.op.system.api.domain.sap.SapRouterQuery;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class SapRouteService {
|
||||||
|
@Resource
|
||||||
|
private RemoteSapService remoteSapService;
|
||||||
|
|
||||||
|
// 2. 添加 @Async 注解,表示该方法在独立线程池执行
|
||||||
|
@Async
|
||||||
|
public void asyncExecuteSapSync(SapRouterQuery qo) {
|
||||||
|
log.info("【异步任务开始】开始同步 SAP 工艺路线,工厂代码:{}", qo.getWerks());
|
||||||
|
try {
|
||||||
|
// 执行耗时操作
|
||||||
|
R r = remoteSapService.sapRouterSync(qo);
|
||||||
|
|
||||||
|
if (r.getCode() == 200) {
|
||||||
|
log.info("【异步任务成功】SAP 工艺路线同步成功");
|
||||||
|
// TODO: 可选:在这里更新数据库状态,标记任务为"成功"
|
||||||
|
} else {
|
||||||
|
log.error("【异步任务失败】SAP 工艺路线同步失败,原因:{}", r.getMsg());
|
||||||
|
// TODO: 可选:在这里更新数据库状态,标记任务为"失败"
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
// 3. 必须捕获异常!否则线程会终止且前端无法感知,日志也会报错
|
||||||
|
log.error("【异步任务异常】执行 SAP 同步时发生系统异常", e);
|
||||||
|
// TODO: 可选:记录错误日志到数据库
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue