feat(2227-permissionQuery): 导航菜单查询接口定义

This commit is contained in:
zhansihu 2024-04-07 17:55:47 +08:00
parent 665f312ec1
commit 7dcdd143d5
8 changed files with 228 additions and 0 deletions

View File

@ -0,0 +1,22 @@
package cn.axzo.tyr.client.feign;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.model.req.NavTreeReq;
import cn.axzo.tyr.client.model.res.NavTreeResp;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
import java.util.List;
/**
* 权限服务接口
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 16:18
*/
public interface PermissionQueryApi {
/** 返回导航菜单页面 **/
ApiResult<List<NavTreeResp>> getNavTree(@RequestBody @Valid NavTreeReq req);
}

View File

@ -0,0 +1,24 @@
package cn.axzo.tyr.client.model.base;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* OU Workspace对
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 16:28
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WorkspaceOUPair {
private Long ouId;
private Long workspaceId;
}

View File

@ -0,0 +1,26 @@
package cn.axzo.tyr.client.model.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* NavTreeReq
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 17:38
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NavTreeReq {
private Long personId;
private String terminal;
private Long ouId;
}

View File

@ -0,0 +1,38 @@
package cn.axzo.tyr.client.model.req;
import cn.axzo.tyr.client.model.base.WorkspaceOUPair;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* 权限查询请求
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 16:23
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PermissionQueryReq {
@NotNull(message = "人员ID不能为空")
private Long personId;
@NotEmpty(message = "单位标识对不能为空")
private List<WorkspaceOUPair> workspaceOUPairs;
private String terminal;
private Integer featureType;
private List<String> featureCodes;
}

View File

@ -0,0 +1,35 @@
package cn.axzo.tyr.client.model.res;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 用户导航树数据
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 15:20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NavTreeResp {
//APP侧需要扩展返回必要的数据
/** 资源ID **/
private Long id;
/** 资源编码 **/
private String featureCode;
/** 资源名称 **/
private String featureName;
/** 资源类型 **/
private Integer featureType;
/** 子级 **/
private List<NavTreeResp> children;
}

View File

@ -0,0 +1,32 @@
package cn.axzo.tyr.server.controller.permission;
import cn.axzo.framework.domain.web.result.ApiResult;
import cn.axzo.tyr.client.feign.PermissionQueryApi;
import cn.axzo.tyr.client.model.req.NavTreeReq;
import cn.axzo.tyr.client.model.res.NavTreeResp;
import cn.axzo.tyr.server.service.PermissionQueryService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 权限接口实现
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 17:29
*/
@Slf4j
@RestController
@RequiredArgsConstructor
public class PermissionQueryController implements PermissionQueryApi {
private final PermissionQueryService permissionService;
@Override
public ApiResult<List<NavTreeResp>> getNavTree(NavTreeReq req) {
return ApiResult.ok(permissionService.getNavTree(req));
}
}

View File

@ -0,0 +1,19 @@
package cn.axzo.tyr.server.service;
import cn.axzo.tyr.client.model.req.NavTreeReq;
import cn.axzo.tyr.client.model.res.NavTreeResp;
import java.util.List;
/**
* 权限服务接口
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 17:33
*/
public interface PermissionQueryService {
/** 获取导航菜单页面 **/
List<NavTreeResp> getNavTree(NavTreeReq req);
}

View File

@ -0,0 +1,32 @@
package cn.axzo.tyr.server.service.impl;
import cn.axzo.tyr.client.model.req.NavTreeReq;
import cn.axzo.tyr.client.model.res.NavTreeResp;
import cn.axzo.tyr.server.service.PermissionQueryService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* 权限查询服务实现
*
* @version V1.0
* @author: ZhanSiHu
* @date: 2024/4/7 17:54
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class PermissionQueryServiceImpl implements PermissionQueryService {
@Override
public List<NavTreeResp> getNavTree(NavTreeReq req) {
//TODO:@Zhan
return Collections.emptyList();
}
}