From 3eecfbc372176a0ed067a45605b9c62767814e94 Mon Sep 17 00:00:00 2001 From: lilong Date: Sun, 29 Sep 2024 13:36:39 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat:(REQ-3034)=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=A2=AB=E5=88=A0=E9=99=A4=E7=9A=84=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=EF=BC=8C=E4=B8=B4=E6=97=B6=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tyr/client/feign/TyrSaasRoleUserApi.java | 22 +++++- .../roleuser/dto/SaasRoleUserRelationDTO.java | 73 +++++++++++++++++++ .../roleuser/req/PageRoleUserRelationReq.java | 33 +++++++++ .../roleuser/RoleUserController.java | 23 +++++- .../mapper/SaasRoleUserRelationMapper.java | 10 +++ .../mapper/SaasRoleUserRelationMapper.xml | 37 ++++++++++ 6 files changed, 196 insertions(+), 2 deletions(-) create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java create mode 100644 tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java 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 09e90b0d..5abd064e 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 @@ -6,9 +6,21 @@ import cn.axzo.tyr.client.model.roleuser.RoleUserUpdateReq; import cn.axzo.tyr.client.model.roleuser.dto.GetUserAutoOwnRoleResp; import cn.axzo.tyr.client.model.roleuser.dto.GetUserFeatureResourceIdsResp; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserDTO; +import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserV2DTO; import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp; -import cn.axzo.tyr.client.model.roleuser.req.*; +import cn.axzo.tyr.client.model.roleuser.req.AutoOwnRoleUserReq; +import cn.axzo.tyr.client.model.roleuser.req.CreateSuperAdminRoleParam; +import cn.axzo.tyr.client.model.roleuser.req.GantOrUnGantaWorkerLeaderRoleReq; +import cn.axzo.tyr.client.model.roleuser.req.GetUserAutoOwnRoleReq; +import cn.axzo.tyr.client.model.roleuser.req.GetUserFeatureResourceIdsReq; +import cn.axzo.tyr.client.model.roleuser.req.ListRoleUserRelationParam; +import cn.axzo.tyr.client.model.roleuser.req.PageRoleUserRelationReq; +import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam; +import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq; +import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam; +import cn.axzo.tyr.client.model.roleuser.req.WorkerManagerRoleUserReq; +import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -136,4 +148,12 @@ public interface TyrSaasRoleUserApi { */ @PostMapping("/api/saas-role-user/batch-update-by-id") ApiResult batchUpdateById(@RequestBody @Valid List roleUserUpdateReqs); + + /** + * 临时支持REQ-3034,可以查询is_delete > 0的数据,后续会删除,谨慎使用 + * @param param + * @return + */ + @PostMapping("/api/roleUserRelation/temporarily/page") + ApiResult> pageRoleUserRelation(@RequestBody PageRoleUserRelationReq param); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java new file mode 100644 index 00000000..7297598a --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java @@ -0,0 +1,73 @@ +package cn.axzo.tyr.client.model.roleuser.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class SaasRoleUserRelationDTO { + + /** + * 身份Id + */ + private Long identityId; + + /** + * 身份类型 1:工人 2:从业人员 3:班组长 4:运营人员 5:政务人员 + */ + private Integer identityType; + + /** + * 角色Id + */ + private Long roleId; + + /** + * 自然人Id + */ + private Long naturalPersonId; + + /** + * 创建者 + */ + private Long createBy; + + /** + * 更新者 + */ + private Long updateBy; + + /** + * 所属单位Id 用户在当前工作台的所属单位 + */ + private Long ouId; + + /** + * 工作台Id + */ + private Long workspaceId; + + /** + * 资源类型 + */ + private Integer resourceType; + + /** + * 资源Id + */ + private Long resourceId; + + private Long id; + + private Date createAt; + + private Date updateAt; + + private Long isDelete; +} diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java new file mode 100644 index 00000000..01c2d25d --- /dev/null +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java @@ -0,0 +1,33 @@ +package cn.axzo.tyr.client.model.roleuser.req; + +import cn.axzo.basics.common.constant.enums.DeleteEnum; +import cn.axzo.tyr.client.model.base.WorkspaceOUPair; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +@SuperBuilder +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PageRoleUserRelationReq{ + + @Builder.Default + private Integer page = 1; + + @Builder.Default + private Integer pageSize = 20; + + private List workspaceOUPairs; + + private Date updateAtLE; + + private Date updateAtGE; + + private Boolean includeDelete; +} 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 fe4919da..41644447 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 @@ -10,15 +10,29 @@ import cn.axzo.tyr.client.model.roleuser.RoleUserUpdateReq; import cn.axzo.tyr.client.model.roleuser.dto.GetUserAutoOwnRoleResp; import cn.axzo.tyr.client.model.roleuser.dto.GetUserFeatureResourceIdsResp; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserDTO; +import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserV2DTO; import cn.axzo.tyr.client.model.roleuser.dto.SuperAminInfoResp; -import cn.axzo.tyr.client.model.roleuser.req.*; +import cn.axzo.tyr.client.model.roleuser.req.AutoOwnRoleUserReq; +import cn.axzo.tyr.client.model.roleuser.req.CreateSuperAdminRoleParam; +import cn.axzo.tyr.client.model.roleuser.req.GantOrUnGantaWorkerLeaderRoleReq; +import cn.axzo.tyr.client.model.roleuser.req.GetUserAutoOwnRoleReq; +import cn.axzo.tyr.client.model.roleuser.req.GetUserFeatureResourceIdsReq; +import cn.axzo.tyr.client.model.roleuser.req.ListRoleUserRelationParam; +import cn.axzo.tyr.client.model.roleuser.req.PageRoleUserRelationReq; +import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam; +import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq; +import cn.axzo.tyr.client.model.roleuser.req.SuperAdminParam; +import cn.axzo.tyr.client.model.roleuser.req.WorkerManagerRoleUserReq; import cn.axzo.tyr.server.model.PermissionCacheKey; import cn.axzo.tyr.server.repository.dao.SaasRoleUserRelationDao; import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; +import cn.axzo.tyr.server.repository.mapper.SaasRoleUserRelationMapper; import cn.axzo.tyr.server.service.PermissionCacheService; import cn.axzo.tyr.server.service.SaasRoleUserRelationService; import cn.axzo.tyr.server.service.SaasRoleUserService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.util.CollectionUtils; @@ -41,6 +55,7 @@ public class RoleUserController implements TyrSaasRoleUserApi { private final SaasRoleUserRelationService saasRoleUserRelationService; private final SaasRoleUserRelationDao saasRoleUserRelationDao; private final PermissionCacheService permissionCacheService; + private final SaasRoleUserRelationMapper saasRoleUserRelationMapper; @Override public ApiResult saveOrUpdate(@Valid RoleUserReq req) { @@ -180,4 +195,10 @@ public class RoleUserController implements TyrSaasRoleUserApi { public ApiResult batchUpdateById(List roleUserUpdateReqs) { return ApiResult.ok(saasRoleUserService.batchUpdateById(roleUserUpdateReqs)); } + + @Override + public ApiResult> pageRoleUserRelation(PageRoleUserRelationReq param) { + IPage page = new Page<>(param.getPage(), param.getPageSize()); + return ApiResult.ok(saasRoleUserRelationMapper.pageRoleUserRelation(page, param)); + } } diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java index af53ee17..a0e958f7 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java @@ -1,5 +1,8 @@ package cn.axzo.tyr.server.repository.mapper; +import cn.axzo.foundation.page.PageResp; +import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; +import cn.axzo.tyr.client.model.roleuser.req.PageRoleUserRelationReq; import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -26,6 +29,13 @@ public interface SaasRoleUserRelationMapper extends BaseMapper listRoleIds(@Param("param") ListRole listRole); + /** + * 临时支持REQ-3034,后续会删除 + * @param param + * @return + */ + IPage pageRoleUserRelation(IPage page, @Param("param") PageRoleUserRelationReq param); + @Data @Builder @NoArgsConstructor diff --git a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml index c3f2882f..f1f8b2d5 100644 --- a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml +++ b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml @@ -31,4 +31,41 @@ AND workspace_id = #{param.workspaceId} + + \ No newline at end of file From 68d0641f2e3d913bc7104e942664b652aa08debb Mon Sep 17 00:00:00 2001 From: lilong Date: Sun, 29 Sep 2024 13:53:48 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:(REQ-3034)=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E8=A7=92=E8=89=B2code=EF=BC=8C=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roleuser/dto/SaasRoleUserRelationDTO.java | 8 ++++++++ .../mapper/SaasRoleUserRelationMapper.xml | 20 +++++++++++-------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java index 7297598a..b4b69369 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/dto/SaasRoleUserRelationDTO.java @@ -70,4 +70,12 @@ public class SaasRoleUserRelationDTO { private Date updateAt; private Long isDelete; + + /** + * 角色类型: + * cn.axzo.tyr.client.common.enums.RoleTypeEnum + */ + private String roleType; + + private String roleCode; } diff --git a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml index f1f8b2d5..552dc334 100644 --- a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml +++ b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml @@ -33,8 +33,12 @@ From 1468582e58753354e644ab31ed2bee2b474d3a71 Mon Sep 17 00:00:00 2001 From: lilong Date: Sun, 29 Sep 2024 17:45:21 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat:(REQ-3034)=20=E5=A2=9E=E5=8A=A0roleIds?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/roleuser/req/PageRoleUserRelationReq.java | 3 +++ .../main/resources/mapper/SaasRoleUserRelationMapper.xml | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java index 01c2d25d..36af2882 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java @@ -10,6 +10,7 @@ import lombok.experimental.SuperBuilder; import java.util.Date; import java.util.List; +import java.util.Set; @SuperBuilder @Data @@ -30,4 +31,6 @@ public class PageRoleUserRelationReq{ private Date updateAtGE; private Boolean includeDelete; + + private Set roleIds; } diff --git a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml index 552dc334..0a605845 100644 --- a/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml +++ b/tyr-server/src/main/resources/mapper/SaasRoleUserRelationMapper.xml @@ -70,6 +70,14 @@ AND t1.update_at = ]]> #{param.updateAtGE} + + + AND t1.role_id IN + + #{item} + + + \ No newline at end of file From ea90dc0f86cd2e9b8dfa2b5a013c0d7994bd420c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=95=8F?= Date: Mon, 30 Sep 2024 15:39:35 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:(REQ-3034)=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=A2=AB=E5=88=A0=E9=99=A4=E7=9A=84=20?= =?UTF-8?q?=E7=94=A8=E6=88=B7=EF=BC=8C=E4=B8=B4=E6=97=B6=E7=94=A8=20step2?= =?UTF-8?q?=20=E4=BF=AE=E5=A4=8DIPage=E7=9A=84=E8=BF=94=E5=9B=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E8=B0=83=E7=94=A8=E6=96=B9=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java | 3 ++- .../tyr/server/controller/roleuser/RoleUserController.java | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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 5abd064e..b3c1a8ce 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 @@ -1,5 +1,6 @@ package cn.axzo.tyr.client.feign; +import cn.axzo.foundation.page.PageResp; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.tyr.client.model.roleuser.RoleUserUpdateReq; @@ -155,5 +156,5 @@ public interface TyrSaasRoleUserApi { * @return */ @PostMapping("/api/roleUserRelation/temporarily/page") - ApiResult> pageRoleUserRelation(@RequestBody PageRoleUserRelationReq param); + ApiResult> pageRoleUserRelation(@RequestBody PageRoleUserRelationReq param); } 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 41644447..5aa21112 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,6 +1,8 @@ package cn.axzo.tyr.server.controller.roleuser; import cn.axzo.basics.common.util.AssertUtil; +import cn.axzo.foundation.dao.support.converter.PageConverter; +import cn.axzo.foundation.page.PageResp; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; @@ -197,8 +199,8 @@ public class RoleUserController implements TyrSaasRoleUserApi { } @Override - public ApiResult> pageRoleUserRelation(PageRoleUserRelationReq param) { + public ApiResult> pageRoleUserRelation(PageRoleUserRelationReq param) { IPage page = new Page<>(param.getPage(), param.getPageSize()); - return ApiResult.ok(saasRoleUserRelationMapper.pageRoleUserRelation(page, param)); + return ApiResult.ok(PageConverter.toResp(saasRoleUserRelationMapper.pageRoleUserRelation(page, param))); } } From bed47b058b93e04bd4cc350c3160e50e7d72f8eb Mon Sep 17 00:00:00 2001 From: lilong Date: Sat, 12 Oct 2024 18:12:03 +0800 Subject: [PATCH 5/6] =?UTF-8?q?feat:=20(feature/REQ-3034)=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=B4=E6=97=B6=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E4=B8=80=E7=9B=B4=E8=A6=81=E6=9F=A5=E8=AF=A2=E6=9C=AA=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../roleuser/RoleUserController.java | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) 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 5aa21112..989639a7 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,7 +1,6 @@ package cn.axzo.tyr.server.controller.roleuser; import cn.axzo.basics.common.util.AssertUtil; -import cn.axzo.foundation.dao.support.converter.PageConverter; import cn.axzo.foundation.page.PageResp; import cn.axzo.framework.domain.web.result.ApiPageResult; import cn.axzo.framework.domain.web.result.ApiResult; @@ -35,8 +34,11 @@ import cn.axzo.tyr.server.service.SaasRoleUserRelationService; import cn.axzo.tyr.server.service.SaasRoleUserService; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.BooleanUtils; +import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -44,6 +46,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.util.Collections; import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; /** * @author tanjie@axzo.cn @@ -201,6 +205,42 @@ public class RoleUserController implements TyrSaasRoleUserApi { @Override public ApiResult> pageRoleUserRelation(PageRoleUserRelationReq param) { IPage page = new Page<>(param.getPage(), param.getPageSize()); - return ApiResult.ok(PageConverter.toResp(saasRoleUserRelationMapper.pageRoleUserRelation(page, param))); + PageResp resp = new PageResp(); + + List saasRoleUserRelationDTOS = listNormalUser(param); + + if (BooleanUtils.isTrue(param.getIncludeDelete())) { + List deleteUsers = saasRoleUserRelationMapper.pageRoleUserRelation(page, param).getRecords(); + saasRoleUserRelationDTOS.addAll(deleteUsers); + } + + resp.setData(saasRoleUserRelationDTOS); + return ApiResult.ok(resp); + } + + private List listNormalUser(PageRoleUserRelationReq param) { + if (CollectionUtils.isEmpty(param.getRoleIds()) && CollectionUtils.isEmpty(param.getWorkspaceOUPairs())) { + return Collections.emptyList(); + } + + return saasRoleUserRelationService.listV2(ListRoleUserRelationParam.builder() + .roleIds(Lists.newArrayList(param.getRoleIds())) + .workspaceOuPairs(Optional.ofNullable(param.getWorkspaceOUPairs()) + .map(e -> e.stream().map(f -> ListRoleUserRelationParam.WorkspaceOuPair.builder() + .workspaceId(f.getWorkspaceId()) + .ouId(f.getOuId()) + .build()) + .collect(Collectors.toList())) + .orElse(null)) + .build()) + .stream() + .map(e -> { + SaasRoleUserRelationDTO saasRoleUserRelationDTO = SaasRoleUserRelationDTO.builder().build(); + BeanUtils.copyProperties(e, saasRoleUserRelationDTO); + saasRoleUserRelationDTO.setId(e.getId()); + saasRoleUserRelationDTO.setNaturalPersonId(e.getSaasRoleUser().getPersonId()); + return saasRoleUserRelationDTO; + }) + .collect(Collectors.toList()); } } From abc4445fecc1506c96ba63834c345d91773ca379 Mon Sep 17 00:00:00 2001 From: lilong Date: Mon, 14 Oct 2024 09:53:22 +0800 Subject: [PATCH 6/6] =?UTF-8?q?feat:=20(feature/REQ-3034)=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=B4=E6=97=B6=E6=8E=A5=E5=8F=A3=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=B7=B2=E5=88=A0=E9=99=A4=E5=92=8C=E6=9C=AA=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=9A=84=E5=90=8C=E6=97=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/axzo/tyr/client/feign/TyrSaasRoleUserApi.java | 2 +- .../client/model/roleuser/req/PageRoleUserRelationReq.java | 3 +++ .../tyr/server/controller/roleuser/RoleUserController.java | 4 ++-- .../server/repository/mapper/SaasRoleUserRelationMapper.java | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) 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 b3c1a8ce..5fb80f5e 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 @@ -156,5 +156,5 @@ public interface TyrSaasRoleUserApi { * @return */ @PostMapping("/api/roleUserRelation/temporarily/page") - ApiResult> pageRoleUserRelation(@RequestBody PageRoleUserRelationReq param); + ApiResult> pageRoleUserRelation(@RequestBody @Valid PageRoleUserRelationReq param); } diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java index 36af2882..a23b2f86 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/PageRoleUserRelationReq.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import javax.validation.constraints.NotEmpty; import java.util.Date; import java.util.List; import java.util.Set; @@ -24,6 +25,7 @@ public class PageRoleUserRelationReq{ @Builder.Default private Integer pageSize = 20; + @NotEmpty(message = "workspaceOUPairs不能为空") private List workspaceOUPairs; private Date updateAtLE; @@ -32,5 +34,6 @@ public class PageRoleUserRelationReq{ private Boolean includeDelete; + @NotEmpty(message = "roleIds不能为空") private Set roleIds; } 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 989639a7..d11e5dc2 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 @@ -210,7 +210,7 @@ public class RoleUserController implements TyrSaasRoleUserApi { List saasRoleUserRelationDTOS = listNormalUser(param); if (BooleanUtils.isTrue(param.getIncludeDelete())) { - List deleteUsers = saasRoleUserRelationMapper.pageRoleUserRelation(page, param).getRecords(); + List deleteUsers = saasRoleUserRelationMapper.pageRoleUserRelation(param); saasRoleUserRelationDTOS.addAll(deleteUsers); } @@ -220,7 +220,7 @@ public class RoleUserController implements TyrSaasRoleUserApi { private List listNormalUser(PageRoleUserRelationReq param) { if (CollectionUtils.isEmpty(param.getRoleIds()) && CollectionUtils.isEmpty(param.getWorkspaceOUPairs())) { - return Collections.emptyList(); + return Lists.newArrayList(); } return saasRoleUserRelationService.listV2(ListRoleUserRelationParam.builder() diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java index a0e958f7..d94b0b9a 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/repository/mapper/SaasRoleUserRelationMapper.java @@ -1,6 +1,5 @@ package cn.axzo.tyr.server.repository.mapper; -import cn.axzo.foundation.page.PageResp; import cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO; import cn.axzo.tyr.client.model.roleuser.req.PageRoleUserRelationReq; import cn.axzo.tyr.server.repository.entity.SaasRoleUserRelation; @@ -14,6 +13,7 @@ import lombok.NoArgsConstructor; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Set; @Mapper @@ -34,7 +34,7 @@ public interface SaasRoleUserRelationMapper extends BaseMapper pageRoleUserRelation(IPage page, @Param("param") PageRoleUserRelationReq param); + List pageRoleUserRelation(@Param("param") PageRoleUserRelationReq param); @Data @Builder