REM:
1. 增加处置任务接口
This commit is contained in:
huangxin 2020-04-13 10:56:26 +08:00
parent 9f354c1cb8
commit 188a49ae99
2 changed files with 99 additions and 0 deletions

View File

@ -24,6 +24,14 @@ public class ConstValue {
public class ProtocolCmdId {
public static final int AUTH_LOGIN = 10;
public static final int AUTH_LOGOUT = 11;
public static final int START_DISPOSE_CMD = 400;
public static final int STOP_DISPOSE_CMD = 401;
public static final int STOP_DISPOSE_CMD_BY_IP = 402;
public static final int STOP_DISPOSE_CMD_BY_POINT = 403;
public static final int STOP_DISPOSE_CMD_ALL = 404;
public static final int GET_DISPOSE_TASK_LIST = 405;
public static final int GET_DISPOSE_TASK_DETAIL = 406;
}
public enum DisposeDeviceType {

View File

@ -0,0 +1,91 @@
package com.cmcc.hy.phoenix.controller;
import com.cmcc.hy.phoenix.annotation.bodyencdec.ReqDec;
import com.cmcc.hy.phoenix.common.ConstValue;
import com.cmcc.hy.phoenix.common.ErrorCode;
import com.cmcc.hy.phoenix.pojo.dto.ProtocolDTO;
import com.cmcc.hy.phoenix.pojo.vo.ProtocolResp;
import com.cmcc.hy.phoenix.service.LoginService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.Builder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.security.NoSuchAlgorithmException;
import java.util.Objects;
import static com.cmcc.hy.phoenix.common.ErrorCode.ERR_OK;
import static com.cmcc.hy.phoenix.common.ErrorCode.ERR_UNKNOWNCMD;
@Controller
@RequestMapping(value = "/handle")
@Slf4j
@Api(value = "抗DDoS处置平台认证接口", tags = "抗DDoS处置平台认证接口")
@Component
public class taskController {
@Resource
private ObjectMapper objectMapper;
@Resource
private LoginService loginService;
@PostMapping("/command")
@ResponseBody
@ApiOperation("处置任务接口")
@ReqDec
@Builder
public ProtocolResp disposeTaskCommand(@RequestBody(required = true) ProtocolDTO mr,
@RequestHeader HttpHeaders headers) {
// 存放返回信息Json字符串
String msgCtx = "";
ErrorCode err = ERR_OK;
log.info("请求token: {}", headers.get("Authorization"));
log.info("请求参数 {}", mr);
// 参数检测
if (mr == null) {
err = ErrorCode.ERR_PARAMS;
return ProtocolResp.result(err, -1, msgCtx);
} else if (mr.IsRequestTimeout()) {
err = ErrorCode.ERR_REQTIMEOUT;
} else {
//try{
// 获取 Token
String token = Objects.
requireNonNull(headers.get("Authorization"))
.get(0).replaceFirst("Bearer ", "");
// 判断Head头是否存在
if (headers.get("Authorization") == null) {
err = ErrorCode.ERR_MISSAUTHHEAD;
} else if ((err = loginService.authTokenCheck(token)) == ERR_OK) {
// Token 正确则处理业务
switch (mr.getCmdId()) {
case ConstValue.ProtocolCmdId.START_DISPOSE_CMD:
break;
case ConstValue.ProtocolCmdId.STOP_DISPOSE_CMD:
break;
default:
err = ErrorCode.ERR_UNKNOWNCMD;
}
}
// } catch (JsonProcessingException | NoSuchAlgorithmException ex) {
// log.error(ex.getMessage());
// err = ErrorCode.ERR_EXCEPTION;
// }
}
return ProtocolResp.result(err, mr.getCmdId(), msgCtx);
}
}