|
@@ -6,6 +6,8 @@
|
|
|
package org.eco.vip.auth.service.role;
|
|
|
|
|
|
|
|
|
+import com.mybatisflex.core.query.QueryMethods;
|
|
|
+import com.mybatisflex.core.query.QueryWrapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.eco.vip.auth.domain.role.Role;
|
|
@@ -20,7 +22,13 @@ import org.eco.vip.orm.utils.MapstructUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
+
|
|
|
+import static org.eco.vip.auth.domain.org.table.OrgTableDef.ORG;
|
|
|
+import static org.eco.vip.auth.domain.permission.table.PermissionTableDef.PERMISSION;
|
|
|
+import static org.eco.vip.auth.domain.role.table.RolePermTableDef.ROLE_PERM;
|
|
|
+import static org.eco.vip.auth.domain.role.table.RoleTableDef.ROLE;
|
|
|
+import static org.eco.vip.auth.domain.user.table.UserRoleTableDef.USER_ROLE;
|
|
|
+import static org.eco.vip.auth.domain.user.table.UserTableDef.USER;
|
|
|
|
|
|
/**
|
|
|
* @description RoleService
|
|
@@ -71,7 +79,27 @@ public class RoleService extends BaseService<RoleMapper, Role> implements IRoleS
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Set<String> selectRolePermissionByUserId(String userId) {
|
|
|
- return Set.of();
|
|
|
+ public List<String> selectPermissionCodesByUserId(String userId) {
|
|
|
+ QueryWrapper queryWrapper = QueryWrapper.create()
|
|
|
+ .select(QueryMethods.distinct(PERMISSION.CODE))
|
|
|
+ .from(USER.as("ut"))
|
|
|
+ .leftJoin(USER_ROLE.as("urt")).on(USER.USER_ID.eq(USER_ROLE.USER_ID))
|
|
|
+ .leftJoin(ROLE.as("rt")).on(USER_ROLE.ROLE_ID.eq(ROLE.ROLE_ID))
|
|
|
+ .leftJoin(ROLE_PERM.as("rpt")).on(USER_ROLE.ROLE_ID.eq(ROLE_PERM.ROLE_ID))
|
|
|
+ .leftJoin(PERMISSION.as("pt")).on(ROLE_PERM.PERM_ID.eq(PERMISSION.ID))
|
|
|
+ .where(USER.USER_ID.eq(userId));
|
|
|
+ return this.listAs(queryWrapper, String.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<String> selectRoleCodesByUserId(String userId) {
|
|
|
+ QueryWrapper queryWrapper = QueryWrapper.create()
|
|
|
+ .select(QueryMethods.distinct(ROLE.CODE))
|
|
|
+ .from(ROLE.as("rt"))
|
|
|
+ .leftJoin(USER_ROLE.as("urt")).on(USER_ROLE.ROLE_ID.eq(ROLE.ROLE_ID))
|
|
|
+ .leftJoin(USER.as("ut")).on(USER.USER_ID.eq(USER_ROLE.USER_ID))
|
|
|
+ .leftJoin(ORG.as("ot")).on(ORG.ORG_ID.eq(USER.ORG_ID))
|
|
|
+ .where(USER.USER_ID.eq(userId));
|
|
|
+ return this.listAs(queryWrapper, String.class);
|
|
|
}
|
|
|
}
|