Merge pull request 'feat: 权限类型修改' (#77) from portal into master

Reviewed-on: http://git.feashow.cn/clay/fateverse/pulls/77
This commit is contained in:
clay
2024-04-24 03:49:32 +00:00
7 changed files with 50 additions and 32 deletions

View File

@@ -3,11 +3,11 @@ package cn.fateverse.query.entity;
import cn.fateverse.common.core.annotaion.EnableAutoField; import cn.fateverse.common.core.annotaion.EnableAutoField;
import cn.fateverse.common.core.entity.BaseEntity; import cn.fateverse.common.core.entity.BaseEntity;
import cn.fateverse.query.enums.PortalEnum; import cn.fateverse.query.enums.PortalEnum;
import cn.fateverse.query.enums.PortalPremEnum;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.web.bind.annotation.RequestMethod;
/** /**
@@ -44,9 +44,9 @@ public class Portal extends BaseEntity {
private String portalName; private String portalName;
/** /**
* 是否匿名 * 权限类型
*/ */
private Boolean anonymity; private PortalPremEnum permissionType;
/** /**
* 接口类型 * 接口类型

View File

@@ -3,7 +3,9 @@ package cn.fateverse.query.entity.dto;
import cn.fateverse.common.core.utils.ObjectUtils; import cn.fateverse.common.core.utils.ObjectUtils;
import cn.fateverse.query.entity.Portal; import cn.fateverse.query.entity.Portal;
import cn.fateverse.query.entity.PortalMapping; import cn.fateverse.query.entity.PortalMapping;
import cn.fateverse.query.enums.DataAdapterType;
import cn.fateverse.query.enums.PortalEnum; import cn.fateverse.query.enums.PortalEnum;
import cn.fateverse.query.enums.PortalPremEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -49,11 +51,11 @@ public class PortalDto {
private String portalName; private String portalName;
/** /**
* 是否匿名 * 权限类型
*/ */
@ApiModelProperty("是否匿名") @ApiModelProperty("权限类型")
@NotNull(message = "是否匿名不能为空") @NotNull(message = "权限类型不能为空")
private Boolean anonymity; private PortalPremEnum permissionType;
/** /**
* 接口类型 * 接口类型
@@ -101,10 +103,8 @@ public class PortalDto {
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remark; private String remark;
@ApiModelProperty("适配器代码类型")
@ApiModelProperty("数据适配器信息") private DataAdapterType adapterCodeType;
private DataAdapterDto dataAdapter;
@ApiModelProperty("映射关系") @ApiModelProperty("映射关系")
private List<PortalMapping> mappings; private List<PortalMapping> mappings;
@@ -115,7 +115,7 @@ public class PortalDto {
.queryId(queryId) .queryId(queryId)
.adapterId(adapterId) .adapterId(adapterId)
.portalName(portalName) .portalName(portalName)
.anonymity(anonymity) .permissionType(permissionType)
.createDataAdapter(createDataAdapter) .createDataAdapter(createDataAdapter)
.requestMethod(requestMethod) .requestMethod(requestMethod)
.page(page) .page(page)

View File

@@ -1,6 +1,7 @@
package cn.fateverse.query.entity.query; package cn.fateverse.query.entity.query;
import cn.fateverse.query.enums.PortalEnum; import cn.fateverse.query.enums.PortalEnum;
import cn.fateverse.query.enums.PortalPremEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -26,10 +27,10 @@ public class PortalQuery {
private String portalName; private String portalName;
/** /**
* 是否匿名 * 权限类型
*/ */
@ApiModelProperty("是否匿名") @ApiModelProperty("权限类型")
private Boolean anonymity; private PortalPremEnum permissionType;
/** /**
* 接口类型 * 接口类型

View File

@@ -3,7 +3,9 @@ package cn.fateverse.query.entity.vo;
import cn.fateverse.common.core.annotaion.Excel; import cn.fateverse.common.core.annotaion.Excel;
import cn.fateverse.common.decrypt.annotation.EncryptField; import cn.fateverse.common.decrypt.annotation.EncryptField;
import cn.fateverse.query.entity.Portal; import cn.fateverse.query.entity.Portal;
import cn.fateverse.query.enums.DataAdapterType;
import cn.fateverse.query.enums.PortalEnum; import cn.fateverse.query.enums.PortalEnum;
import cn.fateverse.query.enums.PortalPremEnum;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@@ -67,18 +69,18 @@ public class SimplePortalVo {
*/ */
@ApiModelProperty("数据适配器类型") @ApiModelProperty("数据适配器类型")
@Excel("数据适配器类型") @Excel("数据适配器类型")
private String adapterCodeType; private DataAdapterType adapterCodeType;
private Boolean createDataAdapter; private Boolean createDataAdapter;
/** /**
* 是否匿名 * 权限类型
*/ */
@ApiModelProperty("是否匿名") @ApiModelProperty("权限类型")
@Excel("是否匿名") @Excel("权限类型")
private Boolean anonymity; private PortalPremEnum permissionType;
/** /**
* 接口类型 * 接口类型
@@ -126,7 +128,7 @@ public class SimplePortalVo {
SimplePortalVo portalVo = SimplePortalVo.builder() SimplePortalVo portalVo = SimplePortalVo.builder()
.portalId(String.valueOf(portal.getPortalId())) .portalId(String.valueOf(portal.getPortalId()))
.portalName(portal.getPortalName()) .portalName(portal.getPortalName())
.anonymity(portal.getAnonymity()) .permissionType(portal.getPermissionType())
.queryId(portal.getQueryId()) .queryId(portal.getQueryId())
.adapterId(portal.getAdapterId()) .adapterId(portal.getAdapterId())
.createDataAdapter(portal.getCreateDataAdapter()) .createDataAdapter(portal.getCreateDataAdapter())

View File

@@ -0,0 +1,14 @@
package cn.fateverse.query.enums;
/**
* @author Clay
* @date 2024/4/15 11:23
*/
public enum PortalPremEnum {
ANONYMITY,
EXTERNAL,
LOCAL
;
}

View File

@@ -9,6 +9,7 @@ import cn.fateverse.query.entity.dto.DataAdapterCodeDto;
import cn.fateverse.query.entity.dto.MockParam; import cn.fateverse.query.entity.dto.MockParam;
import cn.fateverse.query.entity.vo.DataAdapterVo; import cn.fateverse.query.entity.vo.DataAdapterVo;
import cn.fateverse.query.entity.vo.PortalIdWrapper; import cn.fateverse.query.entity.vo.PortalIdWrapper;
import cn.fateverse.query.enums.DataAdapterType;
import cn.fateverse.query.handler.reader.DataAdapterHandlerReader; import cn.fateverse.query.handler.reader.DataAdapterHandlerReader;
import cn.fateverse.query.portal.service.HandlerMethodService; import cn.fateverse.query.portal.service.HandlerMethodService;
import cn.fateverse.query.constant.QueryConstant; import cn.fateverse.query.constant.QueryConstant;
@@ -125,7 +126,7 @@ public class PortalServiceImpl implements PortalService {
if (portal.getCreateDataAdapter()) { if (portal.getCreateDataAdapter()) {
DataAdapter dataAdapter = adapterMapper.selectById(portal.getAdapterId()); DataAdapter dataAdapter = adapterMapper.selectById(portal.getAdapterId());
if (!ObjectUtils.isEmpty(dataAdapter)) { if (!ObjectUtils.isEmpty(dataAdapter)) {
portalVo.setAdapterCodeType(dataAdapter.getType().name()); portalVo.setAdapterCodeType(dataAdapter.getType());
} }
} }
portalVo.setMappings(portalMappings); portalVo.setMappings(portalMappings);
@@ -172,11 +173,11 @@ public class PortalServiceImpl implements PortalService {
} }
} }
//映射数据适配器名称 //映射数据适配器名称
Map<Long, String> adapterMap = new HashMap<>(); Map<Long, DataAdapterType> adapterMap = new HashMap<>();
if (!ObjectUtils.isEmpty(adapterIds)) { if (!ObjectUtils.isEmpty(adapterIds)) {
List<DataAdapter> adapterList = adapterMapper.selectListByIds(adapterIds); List<DataAdapter> adapterList = adapterMapper.selectListByIds(adapterIds);
for (DataAdapter adapter : adapterList) { for (DataAdapter adapter : adapterList) {
adapterMap.put(adapter.getAdapterId(), adapter.getType().name()); adapterMap.put(adapter.getAdapterId(), adapter.getType());
} }
} }
//映射重组 //映射重组
@@ -367,11 +368,11 @@ public class PortalServiceImpl implements PortalService {
* @param portal 接口信息 * @param portal 接口信息
*/ */
private void createDataAdapter(PortalDto portalDto, Portal portal) { private void createDataAdapter(PortalDto portalDto, Portal portal) {
DataAdapterDto dataAdapterDto = portalDto.getDataAdapter(); if (ObjectUtils.isEmpty(portalDto.getAdapterCodeType())) {
if (ObjectUtils.isEmpty(dataAdapterDto)) {
throw new CustomException("数据适配器为空!"); throw new CustomException("数据适配器为空!");
} }
DataAdapter dataAdapter = dataAdapterDto.toDataAdapter(); DataAdapter dataAdapter = new DataAdapter();
dataAdapter.setType(portalDto.getAdapterCodeType());
if (ObjectUtils.isEmpty(dataAdapter.getType())) { if (ObjectUtils.isEmpty(dataAdapter.getType())) {
throw new CustomException("请选择数据适配器类型!"); throw new CustomException("请选择数据适配器类型!");
} }

View File

@@ -9,7 +9,7 @@
query_id, query_id,
adapter_id, adapter_id,
portal_name, portal_name,
anonymity, permission_type,
type, type,
request_method, request_method,
create_data_adapter, create_data_adapter,
@@ -33,7 +33,7 @@
<include refid="selectVo"/> <include refid="selectVo"/>
<where> <where>
<if test="portalName != null and portalName != ''">and portal_name like concat('%', #{portalName}, '%')</if> <if test="portalName != null and portalName != ''">and portal_name like concat('%', #{portalName}, '%')</if>
<if test="anonymity != null ">and anonymity = #{anonymity}</if> <if test="permissionType != null ">and permission_type = #{permissionType}</if>
<if test="type != null">and type = #{type}</if> <if test="type != null">and type = #{type}</if>
<if test="state != null">and state = #{state}</if> <if test="state != null">and state = #{state}</if>
<if test="path != null and path != ''">and path like concat('%', #{path}, '%')</if> <if test="path != null and path != ''">and path like concat('%', #{path}, '%')</if>
@@ -51,7 +51,7 @@
<if test="queryId != null">query_id,</if> <if test="queryId != null">query_id,</if>
<if test="adapterId != null">adapter_id,</if> <if test="adapterId != null">adapter_id,</if>
<if test="portalName != null">portal_name,</if> <if test="portalName != null">portal_name,</if>
<if test="anonymity != null">anonymity,</if> <if test="permissionType != null">permission_type,</if>
<if test="type != null">type,</if> <if test="type != null">type,</if>
<if test="page != null">page,</if> <if test="page != null">page,</if>
<if test="requestMethod != null">request_method,</if> <if test="requestMethod != null">request_method,</if>
@@ -66,7 +66,7 @@
<if test="queryId != null">#{queryId},</if> <if test="queryId != null">#{queryId},</if>
<if test="adapterId != null">#{adapterId},</if> <if test="adapterId != null">#{adapterId},</if>
<if test="portalName != null">#{portalName},</if> <if test="portalName != null">#{portalName},</if>
<if test="anonymity != null">#{anonymity},</if> <if test="permissionType != null">#{permissionType},</if>
<if test="type != null">#{type},</if> <if test="type != null">#{type},</if>
<if test="page != null">#{page},</if> <if test="page != null">#{page},</if>
<if test="requestMethod != null">#{requestMethod},</if> <if test="requestMethod != null">#{requestMethod},</if>
@@ -85,7 +85,7 @@
<if test="queryId != null">query_id = #{queryId},</if> <if test="queryId != null">query_id = #{queryId},</if>
<if test="adapterId != null">adapter_id = #{adapterId},</if> <if test="adapterId != null">adapter_id = #{adapterId},</if>
<if test="portalName != null">portal_name = #{portalName},</if> <if test="portalName != null">portal_name = #{portalName},</if>
<if test="anonymity != null">anonymity = #{anonymity},</if> <if test="permissionType != null">permission_type = #{permissionType},</if>
<if test="type != null">type = #{type},</if> <if test="type != null">type = #{type},</if>
<if test="page != null">type = #{page},</if> <if test="page != null">type = #{page},</if>
<if test="requestMethod != null">request_method = #{requestMethod},</if> <if test="requestMethod != null">request_method = #{requestMethod},</if>