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