From 8c1dc3847a20dbe736c9fc4a7b3dba310a6049b5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 24 九月 2024 14:07:37 +0800
Subject: [PATCH] 添加生产环境配置

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 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 110ef9c..829204e 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
@@ -22,8 +22,12 @@
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysRoleClient;
 import com.ruoyi.system.api.feignClient.SysUserClient;
+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.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;
@@ -62,6 +66,9 @@
 	
 	@Resource
 	private RoleSiteClient roleSiteClient;
+
+	@Resource
+	private SysUserRoleClient userRoleClient;
 	
 	
 	
@@ -139,7 +146,15 @@
 		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.success();
 	}
 	
@@ -410,7 +425,8 @@
 		Partner partner = this.getById(partnerId);
 		SysUser sysUser = sysUserClient.queryUserByUserName(partner.getAccount()).getData();
 		List<Integer> data = userSiteClient.getSiteIds(sysUser.getUserId()).getData();
-		List<Integer> data1 = roleSiteClient.getSiteIds(sysUser.getRoleId()).getData();
+		List<SysUserRoleVo> data2 = userRoleClient.getRoleByUserId(sysUser.getUserId()).getData();
+		List<Integer> data1 = roleSiteClient.getSiteIds(data2.get(0).getRoleId()).getData();
 		collect.addAll(data);
 		collect.addAll(data1);
 		Set<Integer> siteIds = new HashSet<>(collect);

--
Gitblit v1.7.1