Skip to content

Commit 0d544cd

Browse files
committed
user auto join by department
1 parent 44aa087 commit 0d544cd

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/StaffInfoGetter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,6 @@ public interface StaffInfoGetter {
2929

3030
List<String> getAllDepartments();
3131

32+
StaffInfo getStaffInfoByUsername(String username);
3233

3334
}

dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DSSWorkspaceServiceImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -676,14 +676,16 @@ public PageInfo<DSSUserRoleComponentPriv> getAllUserPrivs(Integer currentPage, I
676676
}
677677

678678
private void joinWorkspaceForNewUser(String userName, Long userId) {
679-
String userOrgName = staffInfoGetter.getFullOrgNameByUsername(userName);
679+
StaffInfo staffInfo = staffInfoGetter.getStaffInfoByUsername(userName);
680+
String userOrgName = (staffInfo == null) ? staffInfoGetter.getFullOrgNameByUsername(userName): staffInfo.getOrgFullName();
681+
String orgName = staffInfo.getOrgName();
680682
List<DSSWorkspaceAssociateDepartments> workspaceAssociateDepartments = dssWorkspaceMapper.getWorkspaceAssociateDepartments();
681683
Set<ImmutablePair<Long, String>> needToAdd = new HashSet<>();
682684
for (DSSWorkspaceAssociateDepartments item : workspaceAssociateDepartments) {
683685
String departments = item.getDepartments();
684686
if (StringUtils.isNotBlank(departments) && StringUtils.isNotBlank(item.getRoleIds())) {
685687
Arrays.stream(departments.split(",")).forEach(org -> {
686-
if (org.equals(userOrgName)) {
688+
if (org.equals(userOrgName) || orgName.equals(org.contains("-")?org.split("-")[0]:org)) {
687689
needToAdd.add(new ImmutablePair<>(item.getWorkspaceId(), item.getRoleIds()));
688690
}
689691
});

dss-framework/dss-framework-workspace-server/src/main/java/com/webank/wedatasphere/dss/framework/workspace/service/impl/DefaultStaffInfoGetter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,9 @@ public List<String> getAllDepartments() {
4444
List<String> allDepartments = Arrays.asList("WeDataSphere-linkisGroup");
4545
return allDepartments;
4646
}
47+
48+
@Override
49+
public StaffInfo getStaffInfoByUsername(String username) {
50+
return new StaffInfo();
51+
}
4752
}

0 commit comments

Comments
 (0)