add
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,7 +6,46 @@
|
||||
|
||||
请先在编写代码的模块,检查是否存在`WorkSheetHandler.java`或者`SimpleWorkSheet.java`类,若存在则直接使用工单,不存在则不使用工单。
|
||||
|
||||
## 使用方法
|
||||
## 使用案例
|
||||
|
||||
1. 调用`WorkSheetHandler.java`中的`putObjectParam`或者`putStringParam`方法创建一条异步执行的任务。
|
||||
2. 创建一个**SpringBean**实现`SimpleWorkSheet.java`接口,实现`getWorkCode`方法时,按照业务属性去定义一个字符串,例如:"ORDER_CREATE",在`execute`方法处理业务逻辑。
|
||||
调用方使用`tryOrderCreate`方法,遇到异常将自动处理重试逻辑。
|
||||
|
||||
```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;
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user