|
|
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.google.common.collect.Lists;
|
|
|
+import com.inspur.customer.client.keycloak.KeycloakService;
|
|
|
import com.inspur.customer.client.org.SmsbDepartmentService;
|
|
|
import com.inspur.customer.client.org.SmsbDepartmentUserService;
|
|
|
import com.inspur.customer.constant.Constant;
|
|
|
@@ -20,6 +21,7 @@ import com.inspur.customer.infrastructure.object.org.SmsbDepartmentUserDO;
|
|
|
import com.inspur.customer.object.keycloak.KeycloakUserCO;
|
|
|
import com.inspur.customer.object.keycloak.SwitchDTO;
|
|
|
import com.inspur.customer.object.org.*;
|
|
|
+import com.inspur.customer.object.tenant.SmsbUserTenantTransferDto;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
@@ -46,6 +48,10 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
|
|
|
@Lazy
|
|
|
@Resource
|
|
|
private SmsbDepartmentService departmentService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private KeycloakService keycloakService;
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean addUserDepartment(String userId, SmsbUserAdd smsbUserAdd) {
|
|
|
return super.save(SmsbDepartmentConvertor.toDataObjectForCreate(userId , smsbUserAdd));
|
|
|
@@ -281,4 +287,22 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
|
|
|
}
|
|
|
return Lists.newArrayList();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Response tenantTransfer(SmsbUserTenantTransferDto transferDto) {
|
|
|
+ log.info("SmsbUserTenantTransferDto:{}", transferDto);
|
|
|
+
|
|
|
+ // 根据smsbUserId批量修改用户的path和tenant
|
|
|
+ List<SmsbDepartmentUserDO> userList = new ArrayList<>(transferDto.getSmsbUserIdPathMap().size());
|
|
|
+ for (Map.Entry<String, String> entry : transferDto.getSmsbUserIdPathMap().entrySet()) {
|
|
|
+ SmsbDepartmentUserDO userDO = this.baseMapper.selectOne(new LambdaQueryWrapper<SmsbDepartmentUserDO>().eq(SmsbDepartmentUserDO::getUserId, entry.getKey()));
|
|
|
+ userDO.setPath(entry.getValue());
|
|
|
+ userDO.setTenant(transferDto.getTenant());
|
|
|
+ userList.add(userDO);
|
|
|
+ }
|
|
|
+ this.updateBatchById(userList);
|
|
|
+
|
|
|
+ // keycloak操作,修改用户的租户
|
|
|
+ return keycloakService.userTenantTransfer(transferDto.getSmsbUserIdPathMap().keySet(), transferDto.getTenant());
|
|
|
+ }
|
|
|
}
|