diff --git a/mis-spec/examples/WorkSheetExample.java b/mis-spec/examples/WorkSheetExample.java deleted file mode 100644 index 00cb29d..0000000 --- a/mis-spec/examples/WorkSheetExample.java +++ /dev/null @@ -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; - } - -} \ No newline at end of file diff --git a/mis-spec/references/worksheet.md b/mis-spec/references/worksheet.md index 04708fb..2c53383 100644 --- a/mis-spec/references/worksheet.md +++ b/mis-spec/references/worksheet.md @@ -6,7 +6,46 @@ 请先在编写代码的模块,检查是否存在`WorkSheetHandler.java`或者`SimpleWorkSheet.java`类,若存在则直接使用工单,不存在则不使用工单。 -## 使用方法 +## 使用案例 -1. 调用`WorkSheetHandler.java`中的`putObjectParam`或者`putStringParam`方法创建一条异步执行的任务。 -2. 创建一个**SpringBean**实现`SimpleWorkSheet.java`接口,实现`getWorkCode`方法时,按照业务属性去定义一个字符串,例如:"ORDER_CREATE",在`execute`方法处理业务逻辑。 \ No newline at end of file +调用方使用`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; + } + +} +``` \ No newline at end of file