Parcourir la source

feature: 消费服务
1.本地多租户消费处理

luoyb il y a 1 an
Parent
commit
67420cf53e

+ 2 - 0
ruoyi-api/ruoyi-api-system/src/main/java/org/dromara/system/api/RemoteUserService.java

@@ -197,4 +197,6 @@ public interface RemoteUserService {
 
     Boolean delLocalUserId(Long userId, Long operatorId);
 
+    RemoteUserVo selectUserVoByUserName(String userName,String tenantId);
+
 }

+ 2 - 1
ruoyi-modules/ruoyi-backstage/src/main/java/org/dromara/backstage/consumption/service/impl/XfTermServiceImpl.java

@@ -25,6 +25,7 @@ import org.dromara.backstage.consumption.domain.bo.XfTermBo;
 import org.dromara.backstage.consumption.domain.vo.XfTermVo;
 import org.dromara.backstage.consumption.mapper.XfTermMapper;
 import org.dromara.backstage.consumption.service.IXfTermService;
+import org.dromara.common.tenant.helper.TenantHelper;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
@@ -263,7 +264,7 @@ public class XfTermServiceImpl implements IXfTermService {
     @Override
     @Cacheable(cacheNames = CacheNames.PT_TERM, key = "#termNo")
     public XfTermVo queryByNo(Long termNo, String tenantId) {
-        XfTermVo vo = baseMapper.selectVoOne(new LambdaQueryWrapper<XfTerm>().eq(XfTerm::getTermNo, termNo).eq(XfTerm::getTenantId, tenantId));
+        XfTermVo vo = TenantHelper.ignore(() -> baseMapper.selectVoOne(new LambdaQueryWrapper<XfTerm>().eq(XfTerm::getTermNo, termNo)));
         if (vo != null) {
             PtRoomVo roomVo = roomService.queryById(vo.getRoomId());
             vo.setRoomName(roomVo.getRoomName());

+ 6 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/dubbo/RemoteUserServiceImpl.java

@@ -439,6 +439,12 @@ public class RemoteUserServiceImpl implements RemoteUserService {
         return userService.delLocalUserId(userId, operatorId);
     }
 
+    @Override
+    public RemoteUserVo selectUserVoByUserName(String userName, String tenantId) {
+        SysUserVo vo = userService.selectUserVoByUserName(userName,tenantId);
+        return BeanUtil.copyProperties(vo, RemoteUserVo.class);
+    }
+
     private void setUserDept(SysUserBo bo, RemoteUserBo remoteBo){
         List<UserDeptBo> userDeptBoList = new ArrayList<>();
         if(ObjectUtil.isNotEmpty(remoteBo.getUserDeptList())){

+ 2 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java

@@ -315,4 +315,6 @@ public interface ISysUserService {
     Boolean insertOrUpdateLocalUser(SysUserBo user);
 
     Boolean delLocalUserId(Long userId, Long operatorId);
+
+    SysUserVo selectUserVoByUserName(String userName,String tenantId);
 }

+ 7 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java

@@ -752,7 +752,7 @@ public class SysUserServiceImpl implements ISysUserService {
     @Override
     public SysUserVo selectUserVoByUserName(String userName) {
         return baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>()
-                                          .eq(SysUser::getUserName, userName));
+            .eq(SysUser::getUserName, userName));
     }
 
     /**
@@ -820,6 +820,12 @@ public class SysUserServiceImpl implements ISysUserService {
             .eq(SysUser::getUserId, userId)) > 0);
     }
 
+    @Override
+    public SysUserVo selectUserVoByUserName(String userName, String tenantId) {
+        return TenantHelper.ignore(() -> baseMapper.selectVoOne(new LambdaQueryWrapper<SysUser>()
+            .eq(SysUser::getUserName, userName).eq(SysUser::getTenantId,tenantId)));
+    }
+
     private void insertUserDept(SysUserBo bo, List<UserDeptBo> userDeptBoList) {
         // 将已有的人员部门关系设置成非主部门
         userDeptService.updateMainDeptByUserId(bo.getUserId());

+ 1 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/business/TermBusiness.java

@@ -62,7 +62,7 @@ public class TermBusiness {
         if (ObjectUtil.isEmpty(remoteVo)) {
             return R.fail(MessageFormat.format("机号为[{0}]的设备不存在", termNo), null);
         }
-        RemoteUserVo userVo = remoteUserService.selectUserVoByUserName(admin);
+        RemoteUserVo userVo = remoteUserService.selectUserVoByUserName(admin, defaultConfig.getTenantId());
         if (ObjectUtil.isEmpty(userVo)) {
             return R.fail(MessageFormat.format("用户为[{0}]的用户不存在", admin), null);
         }