feat:(REQ-3034) 支持查询被删除的 用户,临时用

This commit is contained in:
lilong 2024-09-29 13:36:39 +08:00
parent b1c3989166
commit 3eecfbc372
6 changed files with 196 additions and 2 deletions

View File

@ -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<Boolean> batchUpdateById(@RequestBody @Valid List<RoleUserUpdateReq> roleUserUpdateReqs);
/**
* 临时支持REQ-3034可以查询is_delete > 0的数据后续会删除谨慎使用
* @param param
* @return
*/
@PostMapping("/api/roleUserRelation/temporarily/page")
ApiResult<IPage<SaasRoleUserRelationDTO>> pageRoleUserRelation(@RequestBody PageRoleUserRelationReq param);
}

View File

@ -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;
}

View File

@ -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<WorkspaceOUPair> workspaceOUPairs;
private Date updateAtLE;
private Date updateAtGE;
private Boolean includeDelete;
}

View File

@ -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<Void> saveOrUpdate(@Valid RoleUserReq req) {
@ -180,4 +195,10 @@ public class RoleUserController implements TyrSaasRoleUserApi {
public ApiResult<Boolean> batchUpdateById(List<RoleUserUpdateReq> roleUserUpdateReqs) {
return ApiResult.ok(saasRoleUserService.batchUpdateById(roleUserUpdateReqs));
}
@Override
public ApiResult<IPage<SaasRoleUserRelationDTO>> pageRoleUserRelation(PageRoleUserRelationReq param) {
IPage page = new Page<>(param.getPage(), param.getPageSize());
return ApiResult.ok(saasRoleUserRelationMapper.pageRoleUserRelation(page, param));
}
}

View File

@ -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<SaasRoleUserRelat
*/
Set<Long> listRoleIds(@Param("param") ListRole listRole);
/**
* 临时支持REQ-3034后续会删除
* @param param
* @return
*/
IPage<SaasRoleUserRelationDTO> pageRoleUserRelation(IPage<SaasRoleUserRelation> page, @Param("param") PageRoleUserRelationReq param);
@Data
@Builder
@NoArgsConstructor

View File

@ -31,4 +31,41 @@
AND workspace_id = #{param.workspaceId}
</if>
</select>
<select id="pageRoleUserRelation" resultType="cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO">
SELECT *
FROM saas_role_user_relation
<where>
<if test="param.workspaceOuPairs != null and param.workspaceOuPairs.size()>0">
(
<foreach collection="param.workspaceOuPairs" index="index" item="ouIdAndWorkspaceId" open="(" close=")"
separator=") or ( ">
1=1
<if test="ouIdAndWorkspaceId.workspaceId !=null">
and workspace_id = #{ouIdAndWorkspaceId.workspaceId}
</if>
<if test="ouIdAndWorkspaceId.ouId !=null">
and ou_id = #{ouIdAndWorkspaceId.ouId}
</if>
</foreach>
)
</if>
<if test="param.includeDelete != null and param.includeDelete == true">
AND is_delete <![CDATA[ >= ]]> 0
</if>
<if test="param.includeDelete == null or param.includeDelete == false">
AND is_delete = 0
</if>
<if test="param.updateAtLE != null">
AND update_at <![CDATA[ <= ]]> #{param.updateAtLE}
</if>
<if test="param.updateAtGE != null">
AND update_at <![CDATA[ >= ]]> #{param.updateAtGE}
</if>
</where>
</select>
</mapper>