diff --git a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java index e5dece1..4dafea6 100644 --- a/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/fwd/service/impl/PerformServiceImpl.java @@ -12,6 +12,7 @@ import com.xiang.xservice.fwd.mapper.FwdPerformProjectInfoMapper; import com.xiang.xservice.fwd.mapper.FwdPerformSeatInfoMapper; import com.xiang.xservice.fwd.service.IPerformService; import com.xiang.xservice.fwd.service.IPerformServiceHttp; +import com.xiang.xservice.http.helper.HttpRequestHelper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -40,6 +41,7 @@ public class PerformServiceImpl implements IPerformService { private final DingTalkService dingTalkService; @Value("${DingTalk.chatId}") private String chatId; + private final HttpRequestHelper httpRequestHelper; @Override public FPerformProjectInfo getPerformByProjectId(Long projectId) { @@ -82,12 +84,14 @@ public class PerformServiceImpl implements IPerformService { projectOrderCreateReq.setBlackBox("0"); projectOrderCreateReq.setCombineTicketVos(null); projectOrderCreateReq.setOrdinaryTicketVos(null); - ProjectOrderCreateResp projectOrder = performServiceHttp.createProjectOrder(projectOrderCreateReq); - if (Objects.nonNull(projectOrder)) { - log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder)); - String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!"; - dingTalkService.sendChatMessage(chatId, msg); - return Boolean.TRUE; + for (int i = 0; i <= 999; i++) { + ProjectOrderCreateResp projectOrder = httpRequestHelper.fetchWithRetry(() -> performServiceHttp.createProjectOrder(projectOrderCreateReq), "create-project-order"); + if (Objects.nonNull(projectOrder)) { + log.info("下单成功,订单信息:{}", JSONObject.toJSONString(projectOrder)); + String msg = "【芬玩岛】下单成功✅✅✅,演出名称:" + performByProjectId.getProjectName() + ",请在2分钟内完成付款!"; + dingTalkService.sendChatMessage(chatId, msg); + return Boolean.TRUE; + } } } return Boolean.FALSE;