This commit is contained in:
V-LiuShuang
2026-09-10 13:51:11 +08:00
parent fb79d4990e
commit 7ec3446da3
2 changed files with 42 additions and 22 deletions
-19
View File
@@ -1,19 +0,0 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class WorkSheetExample implements SimpleWorkSheet {
@Override
public String getWorkCode() {
return "ORDER_CREATE";
}
@Override
public Object execute(WorkSheetEntity workSheet) {
// do something
return null;
}
}
+42 -3
View File
@@ -6,7 +6,46 @@
请先在编写代码的模块,检查是否存在`WorkSheetHandler.java`或者`SimpleWorkSheet.java`类,若存在则直接使用工单,不存在则不使用工单。 请先在编写代码的模块,检查是否存在`WorkSheetHandler.java`或者`SimpleWorkSheet.java`类,若存在则直接使用工单,不存在则不使用工单。
## 使用方法 ## 使用案例
1. 调用`WorkSheetHandler.java`中的`putObjectParam`或者`putStringParam`方法创建一条异步执行的任务 调用方使用`tryOrderCreate`方法,遇到异常将自动处理重试逻辑
2. 创建一个**SpringBean**实现`SimpleWorkSheet.java`接口,实现`getWorkCode`方法时,按照业务属性去定义一个字符串,例如:"ORDER_CREATE",在`execute`方法处理业务逻辑。
```java
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
@RequiredArgsConstructor
public class WorksheetExample implements SimpleWorkSheet {
private final WorkSheetHandler workSheetHandler;
public void tryOrderCreate(String taskId, ExampleDTO param) {
try {
createOrder(param);
} catch (Exception e) {
log.error("do_something_err", e);
workSheetHandler.putObjectParam(getWorkCode(), taskId, param);
}
}
private void createOrder(ExampleDTO param) {
// do something
}
@Override
public String getWorkCode() {
return "ORDER_CREATE";
}
@Override
public Object execute(WorkSheetEntity workSheet) {
createOrder(workSheet.readBeanParam(ExampleDTO.class));
return null;
}
}
```