Bladeren bron

feat:后端项目,添加接口上线和下线API

yang yi 11 maanden geleden
bovenliggende
commit
d1af685ec7

+ 40 - 0
src/main/java/space/anyi/openAPI/controller/InterfaceInfoController.java

@@ -4,7 +4,9 @@ import cn.hutool.core.util.IdUtil;
 import org.springframework.web.bind.annotation.*;
 import space.anyi.openAPI.model.PageVO;
 import space.anyi.openAPI.model.ResponseResult;
+import space.anyi.openAPI.model.commom.RequestID;
 import space.anyi.openAPI.model.interfaceInfo.InterfaceInfo;
+import space.anyi.openAPI.model.interfaceInfo.InterfaceStatus;
 import space.anyi.openAPI.model.interfaceInfo.dto.RequestAddInterfaceInfo;
 import space.anyi.openAPI.model.interfaceInfo.dto.RequestPageInterfaceInfo;
 import space.anyi.openAPI.model.interfaceInfo.dto.RequestUpdateInterfaceInfo;
@@ -14,6 +16,7 @@ import space.anyi.openAPI.util.SecurityUtils;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @ProjectName: yangyi-open-api-platform
@@ -55,4 +58,41 @@ public class InterfaceInfoController {
         PageVO pageVO = interfaceInfoService.listPage(requestPageInterfaceInfo);
         return ResponseResult.okResult(pageVO);
     }
+    @PutMapping("/online")
+    public ResponseResult onlineInterface(@RequestBody RequestID requestID){
+        //校验
+        //接口是否存在
+        InterfaceInfo interfaceInfo = interfaceInfoService.getById(requestID.getId());
+        if (Objects.isNull(interfaceInfo)) {
+            return ResponseResult.errorResult(ResponseResult.AppHttpCodeEnum.INTERFACE_NOT_FOUND);
+        }
+        //是否为当前用户创建
+        if (!SecurityUtils.getUserId().equals(interfaceInfo.getUserId())) {
+            return ResponseResult.errorResult(ResponseResult.AppHttpCodeEnum.NO_OPERATOR_AUTH);
+        }
+        //todo:是否可以调用
+        //更新状态
+        interfaceInfo.setStatus(InterfaceStatus.online.getStatus());
+        interfaceInfoService.updateById(interfaceInfo);
+        return ResponseResult.okResult();
+    }
+
+    @PutMapping("/offline")
+    public ResponseResult offlineInterface(@RequestBody RequestID requestID){
+        //校验
+        //接口是否存在
+        InterfaceInfo interfaceInfo = interfaceInfoService.getById(requestID.getId());
+        if (Objects.isNull(interfaceInfo)) {
+            return ResponseResult.errorResult(ResponseResult.AppHttpCodeEnum.INTERFACE_NOT_FOUND);
+        }
+        //是否为当前用户创建
+        if (!SecurityUtils.getUserId().equals(interfaceInfo.getUserId())) {
+            return ResponseResult.errorResult(ResponseResult.AppHttpCodeEnum.NO_OPERATOR_AUTH);
+        }
+        //更新状态
+        interfaceInfo.setStatus(InterfaceStatus.offline.getStatus());
+        interfaceInfoService.updateById(interfaceInfo);
+        return ResponseResult.okResult();
+    }
+
 }

+ 1 - 0
src/main/java/space/anyi/openAPI/model/ResponseResult.java

@@ -144,6 +144,7 @@ public class ResponseResult<T> implements Serializable {
         NO_OPERATOR_AUTH(403,"无权限操作"),
         FILE_NOT_NULL(410,"文件不能为空"),
         FILE_TYPE_ERROR(411,"文件类型错误"),
+        INTERFACE_NOT_FOUND(412,"接口不存在"),
         SYSTEM_ERROR(500,"出现错误"),
         USERNAME_EXIST(501,"用户名已存在"),
         REQUIRE_USERNAME(502, "必需填写用户名"),

+ 19 - 0
src/main/java/space/anyi/openAPI/model/commom/RequestID.java

@@ -0,0 +1,19 @@
+package space.anyi.openAPI.model.commom;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @ProjectName: yangyi-open-api-platform
+ * @FileName: RequestID
+ * @Author: 杨逸
+ * @Data:2025/10/21 10:50
+ * @Description:
+ */
+@Data
+@ApiModel
+public class RequestID {
+    @ApiModelProperty(value = "请求ID",required = true)
+    private Long id;
+}

+ 23 - 0
src/main/java/space/anyi/openAPI/model/interfaceInfo/InterfaceStatus.java

@@ -0,0 +1,23 @@
+package space.anyi.openAPI.model.interfaceInfo;
+
+/**
+ * @ProjectName: yangyi-open-api-platform
+ * @FileName: InterfaceStatus
+ * @Author: 杨逸
+ * @Data:2025/10/21 11:03
+ * @Description:
+ */
+
+public enum InterfaceStatus {
+    online(1),
+    offline(0);
+
+    int status;
+    private InterfaceStatus(int status){
+        this.status = status;
+    }
+
+    public int getStatus() {
+        return status;
+    }
+}