Merge remote-tracking branch 'origin/feature/REQ-3034' into release/20241028
# Conflicts: # tyr-server/src/main/java/cn/axzo/tyr/server/controller/roleuser/RoleUserController.java
This commit is contained in:
commit
15fdf458df
@ -1,14 +1,27 @@
|
||||
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;
|
||||
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 +149,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<PageResp<SaasRoleUserRelationDTO>> pageRoleUserRelation(@RequestBody @Valid PageRoleUserRelationReq param);
|
||||
}
|
||||
|
||||
@ -0,0 +1,81 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
* 角色类型:
|
||||
* cn.axzo.tyr.client.common.enums.RoleTypeEnum
|
||||
*/
|
||||
private String roleType;
|
||||
|
||||
private String roleCode;
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
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 javax.validation.constraints.NotEmpty;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@SuperBuilder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class PageRoleUserRelationReq{
|
||||
|
||||
@Builder.Default
|
||||
private Integer page = 1;
|
||||
|
||||
@Builder.Default
|
||||
private Integer pageSize = 20;
|
||||
|
||||
@NotEmpty(message = "workspaceOUPairs不能为空")
|
||||
private List<WorkspaceOUPair> workspaceOUPairs;
|
||||
|
||||
private Date updateAtLE;
|
||||
|
||||
private Date updateAtGE;
|
||||
|
||||
private Boolean includeDelete;
|
||||
|
||||
@NotEmpty(message = "roleIds不能为空")
|
||||
private Set<Long> roleIds;
|
||||
}
|
||||
@ -12,6 +12,7 @@ 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.AutoOwnRoleUserReq;
|
||||
@ -20,6 +21,17 @@ 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.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.PageRoleUserRelationParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserParam;
|
||||
import cn.axzo.tyr.client.model.roleuser.req.RoleUserReq;
|
||||
@ -28,14 +40,20 @@ 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 com.google.common.collect.Lists;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
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;
|
||||
@ -43,6 +61,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;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
@ -59,6 +79,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) {
|
||||
@ -288,4 +309,46 @@ public class RoleUserController implements TyrSaasRoleUserApi {
|
||||
public ApiResult<Boolean> batchUpdateById(List<RoleUserUpdateReq> roleUserUpdateReqs) {
|
||||
return ApiResult.ok(saasRoleUserService.batchUpdateById(roleUserUpdateReqs));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResult<PageResp<SaasRoleUserRelationDTO>> pageRoleUserRelation(PageRoleUserRelationReq param) {
|
||||
IPage page = new Page<>(param.getPage(), param.getPageSize());
|
||||
PageResp resp = new PageResp();
|
||||
|
||||
List<SaasRoleUserRelationDTO> saasRoleUserRelationDTOS = listNormalUser(param);
|
||||
|
||||
if (BooleanUtils.isTrue(param.getIncludeDelete())) {
|
||||
List<SaasRoleUserRelationDTO> deleteUsers = saasRoleUserRelationMapper.pageRoleUserRelation(param);
|
||||
saasRoleUserRelationDTOS.addAll(deleteUsers);
|
||||
}
|
||||
|
||||
resp.setData(saasRoleUserRelationDTOS);
|
||||
return ApiResult.ok(resp);
|
||||
}
|
||||
|
||||
private List<SaasRoleUserRelationDTO> listNormalUser(PageRoleUserRelationReq param) {
|
||||
if (CollectionUtils.isEmpty(param.getRoleIds()) && CollectionUtils.isEmpty(param.getWorkspaceOUPairs())) {
|
||||
return Lists.newArrayList();
|
||||
}
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package cn.axzo.tyr.server.repository.mapper;
|
||||
|
||||
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 lombok.AllArgsConstructor;
|
||||
@ -9,6 +11,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
|
||||
@ -22,6 +25,13 @@ public interface SaasRoleUserRelationMapper extends BaseMapper<SaasRoleUserRelat
|
||||
*/
|
||||
Set<Long> listRoleIds(@Param("param") ListRole listRole);
|
||||
|
||||
/**
|
||||
* 临时支持REQ-3034,后续会删除
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<SaasRoleUserRelationDTO> pageRoleUserRelation(@Param("param") PageRoleUserRelationReq param);
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
|
||||
@ -14,4 +14,53 @@
|
||||
AND workspace_id = #{param.workspaceId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="pageRoleUserRelation" resultType="cn.axzo.tyr.client.model.roleuser.dto.SaasRoleUserRelationDTO">
|
||||
SELECT t1.*,t2.role_code,t2.role_type
|
||||
FROM
|
||||
saas_role_user_relation t1
|
||||
left join
|
||||
saas_role t2
|
||||
on t1.role_id = t2.id
|
||||
<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 t1.workspace_id = #{ouIdAndWorkspaceId.workspaceId}
|
||||
</if>
|
||||
<if test="ouIdAndWorkspaceId.ouId !=null">
|
||||
and t1.ou_id = #{ouIdAndWorkspaceId.ouId}
|
||||
</if>
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
|
||||
<if test="param.includeDelete != null and param.includeDelete == true">
|
||||
AND t1.is_delete <![CDATA[ >= ]]> 0
|
||||
</if>
|
||||
|
||||
<if test="param.includeDelete == null or param.includeDelete == false">
|
||||
AND t1.is_delete = 0
|
||||
</if>
|
||||
|
||||
<if test="param.updateAtLE != null">
|
||||
AND t1.update_at <![CDATA[ <= ]]> #{param.updateAtLE}
|
||||
</if>
|
||||
|
||||
<if test="param.updateAtGE != null">
|
||||
AND t1.update_at <![CDATA[ >= ]]> #{param.updateAtGE}
|
||||
</if>
|
||||
|
||||
<if test="param.roleIds != null and param.roleIds.size()>0">
|
||||
AND t1.role_id IN
|
||||
<foreach collection="param.roleIds" open="(" close=")" separator="," index="index" item="item">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user