Pu Zhibing
2024-09-24 ad0b0dde969cdb8939e9f34c4eb951d79d1dd939
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);