From 38b200e60076e21a36b11e3c8599e6703d90b051 Mon Sep 17 00:00:00 2001 From: yangsong Date: Tue, 17 Oct 2023 19:17:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=81=E7=A7=BB=EF=BC=8C?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=AE=A1=E7=90=86=E5=91=98=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/feign/PermissionPointApplyApi.java | 3 - .../tyr/client/feign/TyrSaasRoleUserApi.java | 14 +---- .../model/roleuser/dto/SuperAdminInfoDTO.java | 15 +---- .../roleuser/req/DeleteAdminRoleParam.java | 21 ------- .../model/roleuser/req/SuperAdminParam.java | 8 ++- .../PermissionPointApplyController.java | 5 -- .../roleuser/RoleUserController.java | 30 +++++----- .../server/service/SaasRoleUserService.java | 26 ++++++--- .../server/service/impl/RoleUserService.java | 56 +++++++++++++++---- .../SaasFeatureApplyDetailServiceImpl.java | 4 +- .../impl/SaasFeatureApplyServiceImpl.java | 5 +- 11 files changed, 91 insertions(+), 96 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApplyApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApplyApi.java index d3f3906c..24cd5278 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApplyApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/PermissionPointApplyApi.java @@ -30,9 +30,6 @@ public interface PermissionPointApplyApi { @PostMapping(value = "/api/v1/permissionPoint/apply/submit") ApiResult submitApply(@RequestBody@Valid SubmitPermissionPointApplyVO apply); - @PostMapping(value = "/api/v1/permissionPoint/apply/update-detail") - ApiResult updateDetail(@RequestBody@Valid UpdatePermissionPointApplyVO updateDetail); - @PostMapping(value = "/api/v1/permissionPoint/apply/bind") ApiResult bindWorkflowInstantce(@RequestBody@Valid BindWorkflowInstantceVO bind); diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java index a8139c18..bf5d5731 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java @@ -73,18 +73,10 @@ public interface TyrSaasRoleUserApi { ApiResult deleteAdminRole(@RequestBody @Valid @NotEmpty List params); /** - * 批量查询超管 - * @param params - * @return - */ - @PostMapping("api/saas-role-user/super-admin-list") - ApiResult> superAdminList(@RequestBody @Valid @NotEmpty List params); - - /** - * 查看超管详情 + * 批量查询超管, 只能批量获取单个工作台台下的超管,业务系统需要根据返回的identityId和identityType查询identityProfile查询用户明细信息 * @param param * @return */ - @PostMapping("api/saas-role-user/super-admin") - ApiResult superAdmin(@RequestBody @Valid SuperAdminParam param); + @PostMapping("api/saas-role-user/super-admin-list") + ApiResult> superAdminList(@RequestBody @Valid SuperAdminParam param); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java index e9cba93c..88a81e17 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SuperAdminInfoDTO.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.client.model.roleuser.dto; -import cn.axzo.tyr.client.model.enums.IdentityType; import lombok.Data; /** @@ -16,19 +15,7 @@ public class SuperAdminInfoDTO { */ private Long identityId; - private IdentityType identityType; - - /** - * 手机号 - */ - private String phone; - - /** - * 姓名 - */ - private String realName; - - + private Integer identityType; /** * 工作台Id */ diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java index 0d2cbb7e..a29c29dd 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/DeleteAdminRoleParam.java @@ -1,7 +1,5 @@ package cn.axzo.tyr.client.model.roleuser.req; -import cn.axzo.basics.common.constant.enums.OrganizationalNodeTypeEnum; -import cn.axzo.tyr.client.common.enums.RoleTypeEnum; import cn.axzo.tyr.client.model.enums.IdentityType; import lombok.Data; @@ -12,22 +10,10 @@ public class DeleteAdminRoleParam { * 工作台id,与context校验 */ private Long workspaceId; - - /** - * 工作台类型 - */ - private Integer workspaceTypeCode; - /** * 单位id : 非必填 */ private Long ouId; - - /** - * 单位类型 - */ - private OrganizationalNodeTypeEnum nodeTypeEnum; - /** * 被赋予角色的人的身份id */ @@ -37,11 +23,4 @@ public class DeleteAdminRoleParam { * 身份类型,必填 */ private IdentityType identityType; - - /** - * 角色Id,必填 - * 只能传SUPER_ADMIN,ADMIN - */ - private RoleTypeEnum roleType; - } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java index f14a640e..11a0213f 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/SuperAdminParam.java @@ -1,5 +1,8 @@ package cn.axzo.tyr.client.model.roleuser.req; +import java.util.List; + +import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.AllArgsConstructor; @@ -27,7 +30,6 @@ public class SuperAdminParam { /** * 单位Id */ - @NotNull(message = "单位Id不能为空") - private Long ouId; - + @NotEmpty(message = "单位Id不能为空") + private List ouIds; } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointApplyController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointApplyController.java index 6e6b8956..94e780ff 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointApplyController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/permission/PermissionPointApplyController.java @@ -35,11 +35,6 @@ public class PermissionPointApplyController implements PermissionPointApplyApi { return ApiResult.ok(saasFeatureApplyService.saveApply(apply)); } - @Override - public ApiResult updateDetail(UpdatePermissionPointApplyVO updateDetail) { - return null; - } - @Override public ApiResult bindWorkflowInstantce(BindWorkflowInstantceVO bind) { saasFeatureApplyService.bindWorkflowInstantce(bind); diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java index 407b79dc..1989ffc8 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java @@ -1,5 +1,12 @@ package cn.axzo.tyr.server.controller.roleuser; +import java.util.List; + +import javax.validation.Valid; + +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.feign.TyrSaasRoleUserApi; import cn.axzo.tyr.client.model.roleuser.dto.CreateAdminRoleDTO; @@ -8,15 +15,8 @@ import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO; import cn.axzo.tyr.client.model.roleuser.req.*; import cn.axzo.tyr.server.service.SaasRoleUserRelationService; import cn.axzo.tyr.server.service.SaasRoleUserService; -import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; -import java.util.ArrayList; -import java.util.List; /** * @author tanjie@axzo.cn @@ -74,15 +74,13 @@ public class RoleUserController implements TyrSaasRoleUserApi { return ApiResult.ok(true); } + /** + * cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin + * @param param + * @return + */ @Override - public ApiResult> superAdminList(List params) { - //todo cn.axzo.basics.auth.api.SaasRoleApi#batchFindSuperAdmin - return ApiResult.ok(new ArrayList<>()); - } - - @Override - public ApiResult superAdmin(SuperAdminParam param) { - // todo cn.axzo.basics.auth.api.SaasRoleApi#findSuperAdmin - return ApiResult.ok(new SuperAdminInfoDTO()); + public ApiResult> superAdminList(SuperAdminParam param) { + return ApiResult.ok(saasRoleUserService.superAdminList(param)); } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleUserService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleUserService.java index 300a0a9d..92d9a803 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleUserService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/SaasRoleUserService.java @@ -1,15 +1,13 @@ package cn.axzo.tyr.server.service; -import cn.axzo.tyr.client.model.enums.IdentityType; -import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam; -import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq; -import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; - import java.util.List; import java.util.Set; +import cn.axzo.tyr.client.model.enums.IdentityType; +import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO; +import cn.axzo.tyr.client.model.roleuser.req.*; +import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; + /** * @author tanjie@axzo.cn * @date 2023/9/13 15:36 @@ -60,4 +58,18 @@ public interface SaasRoleUserService { * @return */ List queryByWorkspaceIdOrOu(Long identityId, IdentityType identityType, Set workspaceIds, Set ouIds); + + /** + * 批量获取超管信息 + * @param param + * @return + */ + List superAdminList(SuperAdminParam param); + + /** + * 移除管理员 + * @param params + * @return + */ + boolean deleteAdminRole(List params); } \ No newline at end of file diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java index 786d759a..47756f0e 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java @@ -1,30 +1,33 @@ package cn.axzo.tyr.server.service.impl; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; + +import cn.axzo.tyr.client.model.roleuser.req.*; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; + +import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum; import cn.axzo.basics.common.exception.ServiceException; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import cn.axzo.tyr.client.common.enums.RoleTypeEnum; import cn.axzo.tyr.client.model.BaseWorkspaceModel; import cn.axzo.tyr.client.model.enums.IdentityType; -import cn.axzo.tyr.client.model.roleuser.req.DeleteRoleUserParam; -import cn.axzo.tyr.client.model.roleuser.req.DeleteUserRoleParam; -import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq; +import cn.axzo.tyr.client.model.roleuser.dto.SuperAdminInfoDTO; import cn.axzo.tyr.server.repository.dao.SaasRoleDao; import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao; import cn.axzo.tyr.server.repository.entity.SaasRole; import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; import cn.axzo.tyr.server.service.SaasRoleUserService; import cn.hutool.core.collection.CollectionUtil; -import com.alibaba.nacos.common.utils.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Objects; -import java.util.Set; -import java.util.stream.Collectors; /** * 角色 @@ -142,4 +145,33 @@ public class RoleUserService implements SaasRoleUserService { public List queryByWorkspaceIdOrOu(Long identityId, IdentityType identityType, Set workspaceIds, Set ouIds) { return roleUserRelationDao.queryByWorkspaceIdOrOu(identityId, identityType, workspaceIds, ouIds); } + + @Override + public List superAdminList(SuperAdminParam param) { + if (param.getWorkspaceId() == null || CollectionUtil.isEmpty(param.getOuIds())) { + return Collections.emptyList(); + } + List relations = roleUserRelationDao.lambdaQuery() + .in(SaasRoleUserRelation::getWorkspaceId, param.getWorkspaceId()) + .in(SaasRoleUserRelation::getOuId, param.getOuIds()) + .eq(SaasRoleUserRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); + if (CollectionUtils.isEmpty(relations)) { + return Collections.emptyList(); + } + return relations.stream().map(r -> { + SuperAdminInfoDTO superAdminInfo = new SuperAdminInfoDTO(); + superAdminInfo.setWorkspaceId(r.getWorkspaceId()); + superAdminInfo.setOuId(r.getOuId()); + superAdminInfo.setIdentityId(r.getIdentityId()); + superAdminInfo.setIdentityType(r.getIdentityType()); + return superAdminInfo; + }).collect(Collectors.toList()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean deleteAdminRole(List params) { + + return false; + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyDetailServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyDetailServiceImpl.java index 96353fa1..d2140a7c 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyDetailServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyDetailServiceImpl.java @@ -89,9 +89,9 @@ public class SaasFeatureApplyDetailServiceImpl implements SaasFeatureApplyDetail @Transactional(rollbackFor = Exception.class) public void updateApplyDetail(PermissionPointApplyDetailUpdateReq req) { SaasFeatureApplyDetail detail = BeanMapper.copyBean(req, SaasFeatureApplyDetail.class, (p, s) -> { - s.setFitOuTypeBit(p.getFitOuTypeList() == null ? "" : JSON.toJSONString(p.getFitOuTypeList())); + s.setFitOuTypeBit(p.getFitOuTypeList() == null ? "[65535]" : JSON.toJSONString(p.getFitOuTypeList())); s.setFitOuNodeTypeBit( - p.getFitOuNodeTypeList() == null ? "" : JSON.toJSONString(p.getFitOuNodeTypeList())); + p.getFitOuNodeTypeList() == null ? "[65535]" : JSON.toJSONString(p.getFitOuNodeTypeList())); }); this.saveOrUpdate(Lists.newArrayList(detail)); } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyServiceImpl.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyServiceImpl.java index 77121a73..52cf7340 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyServiceImpl.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/SaasFeatureApplyServiceImpl.java @@ -5,6 +5,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import cn.axzo.tyr.client.model.enums.FeatureDataType; +import com.google.common.collect.Lists; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.BooleanUtils; @@ -423,9 +424,9 @@ public class SaasFeatureApplyServiceImpl implements SaasFeatureApplyService { detail.setSort(point.getSort()); detail.setTerminal(point.getTerminal()); detail.setFeatureType(point.getFeatureType()); - detail.setFitOuTypeBit(point.getFitOuTypeList() == null ? "" : JSON.toJSONString(point.getFitOuTypeList())); + detail.setFitOuTypeBit(point.getFitOuTypeList() == null ? "[65535]" : JSON.toJSONString(point.getFitOuTypeList())); detail.setFitOuNodeTypeBit( - point.getFitOuNodeTypeList() == null ? "" : JSON.toJSONString(point.getFitOuNodeTypeList())); + point.getFitOuNodeTypeList() == null ? "[65535]" : JSON.toJSONString(point.getFitOuNodeTypeList())); detail.setDelegatedType(point.getDelegatedType()); detail.setCreateBy(createBy); detail.setCreateAt(now);