调整接口文档存储方式

This commit is contained in:
akun 2024-05-13 11:14:31 +08:00
parent b8429e1d6a
commit 56b34917be
8 changed files with 33 additions and 18 deletions

View File

@ -59,6 +59,9 @@ public class SysOssServiceImpl implements ISysOssService {
*/ */
@Override @Override
public SysOss selectSysOssById(String id) { public SysOss selectSysOssById(String id) {
if (StringUtils.isBlank(id)) {
return null;
}
return sysOssMapper.selectSysOssById(id); return sysOssMapper.selectSysOssById(id);
} }

View File

@ -47,6 +47,10 @@
<artifactId>sf-vertx-api</artifactId> <artifactId>sf-vertx-api</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.smarterFramework</groupId>
<artifactId>sf-file</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -1,14 +1,13 @@
package com.sf.service.gateway.controller; package com.sf.service.gateway.controller;
import java.util.Collections; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.sf.common.utils.AppUtils; import com.sf.common.utils.AppUtils;
import com.sf.file.domain.SysOss;
import com.sf.file.service.ISysOssService;
import com.sf.service.gateway.domain.GatewayInterfaceInfo; import com.sf.service.gateway.domain.GatewayInterfaceInfo;
import com.sf.service.gateway.domain.GatewayInterfaceLinkStrategy; import com.sf.service.gateway.domain.GatewayInterfaceLinkStrategy;
import com.sf.service.gateway.domain.GatewayServer; import com.sf.service.gateway.domain.GatewayServer;
@ -18,7 +17,6 @@ import com.sf.service.gateway.domain.dto.UpdateDataStatusDTO;
import com.sf.service.gateway.domain.dto.UpdateGatewayInterfaceInfoDTO; import com.sf.service.gateway.domain.dto.UpdateGatewayInterfaceInfoDTO;
import com.sf.service.gateway.domain.vo.GatewayInterfaceInfoDetailedVO; import com.sf.service.gateway.domain.vo.GatewayInterfaceInfoDetailedVO;
import com.sf.service.gateway.domain.vo.GatewayInterfaceInfoListVO; import com.sf.service.gateway.domain.vo.GatewayInterfaceInfoListVO;
import com.sf.service.gateway.domain.vo.GatewayStrategyListVO;
import com.sf.service.gateway.enums.GatewayDataStatus; import com.sf.service.gateway.enums.GatewayDataStatus;
import com.sf.service.gateway.service.IGatewayInterfaceInfoService; import com.sf.service.gateway.service.IGatewayInterfaceInfoService;
import com.sf.service.gateway.service.IGatewayServerService; import com.sf.service.gateway.service.IGatewayServerService;
@ -62,6 +60,9 @@ public class GatewayInterfaceInfoController extends BaseController {
@Autowired @Autowired
private IGatewayStrategyService gatewayStrategyService; private IGatewayStrategyService gatewayStrategyService;
@Autowired
private ISysOssService sysOssService;
@ApiOperation("查询接口信息列表") @ApiOperation("查询接口信息列表")
@PreAuthorize("@ss.hasPermi('gateway:interface:list')") @PreAuthorize("@ss.hasPermi('gateway:interface:list')")
@GetMapping("/list") @GetMapping("/list")
@ -100,7 +101,8 @@ public class GatewayInterfaceInfoController extends BaseController {
List<GatewayInterfaceLinkStrategy> linkList = gatewayInterfaceInfoService.selectGatewayInterfaceLinkStrategyByInterfaceIds(Collections.singleton(id)); List<GatewayInterfaceLinkStrategy> linkList = gatewayInterfaceInfoService.selectGatewayInterfaceLinkStrategyByInterfaceIds(Collections.singleton(id));
GatewayServer gatewayServer = gatewayServerService.selectGatewayServerById(gatewayInterfaceInfo.getServerId()); GatewayServer gatewayServer = gatewayServerService.selectGatewayServerById(gatewayInterfaceInfo.getServerId());
List<GatewayStrategy> strategyList = gatewayStrategyService.selectGatewayStrategyByIds(linkList.stream().map(GatewayInterfaceLinkStrategy::getStrategyId).collect(Collectors.toSet())); List<GatewayStrategy> strategyList = gatewayStrategyService.selectGatewayStrategyByIds(linkList.stream().map(GatewayInterfaceLinkStrategy::getStrategyId).collect(Collectors.toSet()));
GatewayInterfaceInfoDetailedVO vo = GatewayInterfaceInfoDetailedVO.convert(gatewayInterfaceInfo,gatewayServer,strategyList); SysOss document = sysOssService.selectSysOssById(gatewayInterfaceInfo.getDocument());
GatewayInterfaceInfoDetailedVO vo = GatewayInterfaceInfoDetailedVO.convert(gatewayInterfaceInfo,gatewayServer,strategyList,document);
// TODO 调用次数和平均时间暂时没有来源 // TODO 调用次数和平均时间暂时没有来源
vo.setNumberOfCalls(0L); vo.setNumberOfCalls(0L);
vo.setAverageResponseTime(0L); vo.setAverageResponseTime(0L);

View File

@ -2,6 +2,7 @@ package com.sf.service.gateway.domain.dto;
import com.sf.common.annotation.Excel; import com.sf.common.annotation.Excel;
import com.sf.common.core.domain.BaseEntity; import com.sf.common.core.domain.BaseEntity;
import com.sf.file.domain.SysOss;
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;
@ -55,7 +56,7 @@ public class InsertGatewayInterfaceInfoDTO {
private String version; private String version;
@ApiModelProperty("接口文档(文档地址)") @ApiModelProperty("接口文档(文档地址)")
private String document; private SysOss document;
@NotNull(message = "网关服务不能为空") @NotNull(message = "网关服务不能为空")
@ApiModelProperty("网关服务id") @ApiModelProperty("网关服务id")

View File

@ -1,6 +1,7 @@
package com.sf.service.gateway.domain.dto; package com.sf.service.gateway.domain.dto;
import com.sf.common.annotation.Excel; import com.sf.common.annotation.Excel;
import com.sf.file.domain.SysOss;
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;
@ -58,7 +59,7 @@ public class UpdateGatewayInterfaceInfoDTO {
private String version; private String version;
@ApiModelProperty("接口文档(文档地址)") @ApiModelProperty("接口文档(文档地址)")
private String document; private SysOss document;
@NotNull(message = "网关服务不能为空") @NotNull(message = "网关服务不能为空")
@ApiModelProperty("网关服务id") @ApiModelProperty("网关服务id")

View File

@ -2,6 +2,7 @@ package com.sf.service.gateway.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.sf.common.annotation.Excel; import com.sf.common.annotation.Excel;
import com.sf.file.domain.SysOss;
import com.sf.service.gateway.domain.GatewayInterfaceInfo; import com.sf.service.gateway.domain.GatewayInterfaceInfo;
import com.sf.service.gateway.domain.GatewayServer; import com.sf.service.gateway.domain.GatewayServer;
import com.sf.service.gateway.domain.GatewayStrategy; import com.sf.service.gateway.domain.GatewayStrategy;
@ -88,7 +89,7 @@ public class GatewayInterfaceInfoDetailedVO {
*/ */
@Excel(name = "接口文档", readConverterExp = "文档地址") @Excel(name = "接口文档", readConverterExp = "文档地址")
@ApiModelProperty("接口文档(文档地址)") @ApiModelProperty("接口文档(文档地址)")
private String document; private SysOss document;
@ApiModelProperty("调用次数") @ApiModelProperty("调用次数")
private Long numberOfCalls; private Long numberOfCalls;
@ -119,7 +120,9 @@ public class GatewayInterfaceInfoDetailedVO {
public static GatewayInterfaceInfoDetailedVO convert(GatewayInterfaceInfo gatewayInterfaceInfo public static GatewayInterfaceInfoDetailedVO convert(GatewayInterfaceInfo gatewayInterfaceInfo
, GatewayServer gatewayServer , GatewayServer gatewayServer
, List<GatewayStrategy> strategyList) { , List<GatewayStrategy> strategyList
, SysOss document
) {
GatewayInterfaceInfoDetailedVO vo = new GatewayInterfaceInfoDetailedVO(); GatewayInterfaceInfoDetailedVO vo = new GatewayInterfaceInfoDetailedVO();
vo.setId(gatewayInterfaceInfo.getId()); vo.setId(gatewayInterfaceInfo.getId());
vo.setInterfaceName(gatewayInterfaceInfo.getInterfaceName()); vo.setInterfaceName(gatewayInterfaceInfo.getInterfaceName());
@ -129,7 +132,7 @@ public class GatewayInterfaceInfoDetailedVO {
vo.setDescription(gatewayInterfaceInfo.getDescription()); vo.setDescription(gatewayInterfaceInfo.getDescription());
vo.setVersion(gatewayInterfaceInfo.getVersion()); vo.setVersion(gatewayInterfaceInfo.getVersion());
vo.setStatus(gatewayInterfaceInfo.getStatus()); vo.setStatus(gatewayInterfaceInfo.getStatus());
vo.setDocument(gatewayInterfaceInfo.getDocument()); vo.setDocument(document);
vo.setCreateTime(gatewayInterfaceInfo.getCreateTime()); vo.setCreateTime(gatewayInterfaceInfo.getCreateTime());
vo.setUpdateTime(gatewayInterfaceInfo.getUpdateTime()); vo.setUpdateTime(gatewayInterfaceInfo.getUpdateTime());
vo.setServerId(gatewayInterfaceInfo.getServerId()); vo.setServerId(gatewayInterfaceInfo.getServerId());

View File

@ -2,11 +2,8 @@ package com.sf.service.gateway.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.sf.common.annotation.Excel; import com.sf.common.annotation.Excel;
import com.sf.common.core.domain.BaseEntity;
import com.sf.service.gateway.domain.GatewayInterfaceInfo; import com.sf.service.gateway.domain.GatewayInterfaceInfo;
import com.sf.service.gateway.domain.GatewayRoute;
import com.sf.service.gateway.domain.GatewayServer; import com.sf.service.gateway.domain.GatewayServer;
import com.sf.service.gateway.enums.GatewayServiceModel;
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;

View File

@ -26,6 +26,8 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import static org.apache.commons.lang3.StringUtils.EMPTY;
/** /**
* 接口管理Service业务层处理 * 接口管理Service业务层处理
* *
@ -94,8 +96,8 @@ public class GatewayInterfaceInfoServiceImpl implements IGatewayInterfaceInfoSer
} }
private void checkGatewayInterfaceInfoCanInsertOrUpdate(GatewayInterfaceInfo gatewayInterfaceInfo) { private void checkGatewayInterfaceInfoCanInsertOrUpdate(GatewayInterfaceInfo gatewayInterfaceInfo) {
if (GatewayDataStatus.ENABLE.getCode().equals(gatewayInterfaceInfo.getMockStatus())){ if (GatewayDataStatus.ENABLE.getCode().equals(gatewayInterfaceInfo.getMockStatus())) {
Assert.isTrue(JSON.isJSONObject(gatewayInterfaceInfo.getMockResponse()),"请输入正确格式的响应信息"); Assert.isTrue(JSON.isJSONObject(gatewayInterfaceInfo.getMockResponse()), "请输入正确格式的响应信息");
} }
} }
@ -186,7 +188,8 @@ public class GatewayInterfaceInfoServiceImpl implements IGatewayInterfaceInfoSer
gatewayInterfaceInfo.setDescription(dto.getDescription()); gatewayInterfaceInfo.setDescription(dto.getDescription());
gatewayInterfaceInfo.setVersion(dto.getVersion()); gatewayInterfaceInfo.setVersion(dto.getVersion());
gatewayInterfaceInfo.setStatus(GatewayDataStatus.DISABLE.getCode()); gatewayInterfaceInfo.setStatus(GatewayDataStatus.DISABLE.getCode());
gatewayInterfaceInfo.setDocument(dto.getDocument()); String document = dto.getDocument() == null ? EMPTY : dto.getDocument().getId();
gatewayInterfaceInfo.setDocument(document);
gatewayInterfaceInfo.setServerId(dto.getServerId()); gatewayInterfaceInfo.setServerId(dto.getServerId());
gatewayInterfaceInfo.setMockStatus(dto.getMockStatus()); gatewayInterfaceInfo.setMockStatus(dto.getMockStatus());
gatewayInterfaceInfo.setMockResponse(dto.getMockResponse()); gatewayInterfaceInfo.setMockResponse(dto.getMockResponse());
@ -212,7 +215,8 @@ public class GatewayInterfaceInfoServiceImpl implements IGatewayInterfaceInfoSer
gatewayInterfaceInfo.setRequestMethod(dto.getRequestMethod()); gatewayInterfaceInfo.setRequestMethod(dto.getRequestMethod());
gatewayInterfaceInfo.setDescription(dto.getDescription()); gatewayInterfaceInfo.setDescription(dto.getDescription());
gatewayInterfaceInfo.setVersion(dto.getVersion()); gatewayInterfaceInfo.setVersion(dto.getVersion());
gatewayInterfaceInfo.setDocument(dto.getDocument()); String document = dto.getDocument() == null ? EMPTY : dto.getDocument().getId();
gatewayInterfaceInfo.setDocument(document);
gatewayInterfaceInfo.setServerId(dto.getServerId()); gatewayInterfaceInfo.setServerId(dto.getServerId());
gatewayInterfaceInfo.setMockStatus(dto.getMockStatus()); gatewayInterfaceInfo.setMockStatus(dto.getMockStatus());
gatewayInterfaceInfo.setMockResponse(dto.getMockResponse()); gatewayInterfaceInfo.setMockResponse(dto.getMockResponse());