# 使用场景 凡是**异步且对延迟时间不敏感的任务**一律使用工单,如果不确定则向用户询问是否要使用工单。 ## 前置条件 请先在编写代码的模块,检查是否存在`WorkSheetHandler.java`或者`SimpleWorkSheet.java`类,若存在则直接使用工单,不存在则不使用工单。 ## 使用案例 调用方使用`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; } } ```