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