From 9a1173507d06c59a7c02e92ad083073e0036eadc Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 26 九月 2024 18:52:35 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java index 3e2ee4b..ae3830e 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java @@ -25,7 +25,10 @@ import com.ruoyi.system.api.feignClient.SysUserRoleClient; import com.ruoyi.system.api.model.GetSysRoleByIds; import com.ruoyi.system.api.model.SysUserRoleVo; +import io.seata.core.context.RootContext; +import io.seata.core.exception.TransactionException; import io.seata.spring.annotation.GlobalTransactional; +import io.seata.tm.api.GlobalTransactionContext; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -111,6 +114,7 @@ @Override @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 public AjaxResult addPartner(Partner partner) { + System.err.println("事务ID:" + RootContext.getXID()); //校验参数和重复数据 AjaxResult ajaxResult = addPartnerParameterCheck(partner); if(ajaxResult.isError()){ @@ -144,7 +148,16 @@ user.setRoleId(partner.getRoleId().longValue()); user.setRoleType(2); user.setObjectId(partner.getId()); - sysUserClient.addSysUser(user); + R r = sysUserClient.addSysUser(user); + if(r.getCode() != 200){ + // 手动进行全局事务回滚 + try { + GlobalTransactionContext.getCurrent().rollback(); + } catch (TransactionException e) { + throw new RuntimeException(e); + } + return AjaxResult.error(r.getMsg()); + } return AjaxResult.success(); } -- Gitblit v1.7.1