From c436afe89419da51a5ce593ecd69d3a2f65c5faa Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 27 九月 2024 10:35:24 +0800 Subject: [PATCH] 对接邮箱 受理开票后发送 --- ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java new file mode 100644 index 0000000..bb82c32 --- /dev/null +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsFallbackFactory.java @@ -0,0 +1,52 @@ +package com.ruoyi.other.api.factory; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.other.api.domain.TGoods; +import com.ruoyi.other.api.feignClient.GoodsClient; +import io.seata.core.exception.TransactionException; +import io.seata.tm.api.GlobalTransactionContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhibing.pu + * @Date 2024/8/16 13:48 + */ +@Component +public class GoodsFallbackFactory implements FallbackFactory<GoodsClient> { + + private static final Logger log = LoggerFactory.getLogger(GoodsFallbackFactory.class); + + @Override + public GoodsClient create(Throwable throwable) { + log.error("商品调用失败:{}", throwable.getMessage()); + return new GoodsClient() { + + @Override + public R<TGoods> getGoodsById(Integer id) { + return R.fail("根据id获取商品信息失败:" + throwable.getMessage()); + } + + @Override + public R<List<Integer>> getGoodsIdsByName(String name) { + return R.fail("根据商品名称获取商品ids失败:" + throwable.getMessage()); + } + + @Override + public R updateGoods(TGoods goods) { + // 手动进行全局事务回滚 + try { + GlobalTransactionContext.getCurrent().rollback(); + } catch (TransactionException e) { + throw new RuntimeException(e); + } + return R.fail("修改商品异常"); + } + }; + } + +} -- Gitblit v1.7.1