parent
b5fe65f728
commit
a7cdb3b9dc
|
@ -1,87 +0,0 @@
|
||||||
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.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.util.Objects;
|
|
||||||
|
|
||||||
import static com.cmcc.hy.phoenix.common.ErrorCode.ERR_OK;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping(value = "/handle")
|
|
||||||
@Slf4j
|
|
||||||
@Api(value = "抗DDoS处置平台认证接口", tags = "抗DDoS处置平台认证接口")
|
|
||||||
@Component
|
|
||||||
public class DispointPointController {
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private ObjectMapper objectMapper;
|
|
||||||
|
|
||||||
@Resource
|
|
||||||
private LoginService loginService;
|
|
||||||
|
|
||||||
@PostMapping("/manager")
|
|
||||||
@ResponseBody
|
|
||||||
@ApiOperation("节点管理")
|
|
||||||
@ReqDec
|
|
||||||
@Builder
|
|
||||||
public ProtocolResp disposePointManager(@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.ADD_DISPOSE_POINT:
|
|
||||||
break;
|
|
||||||
case ConstValue.ProtocolCmdId.DEL_DISPOSE_POINT:
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
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.entity.DeviceCapacity;
|
||||||
|
import com.cmcc.hy.phoenix.pojo.entity.DisposeDevice;
|
||||||
|
import com.cmcc.hy.phoenix.pojo.po.DeviceCmdInfo;
|
||||||
|
import com.cmcc.hy.phoenix.pojo.vo.AddDispointPointReq;
|
||||||
|
import com.cmcc.hy.phoenix.pojo.vo.DevManagerResp;
|
||||||
|
import com.cmcc.hy.phoenix.pojo.vo.ProtocolResp;
|
||||||
|
import com.cmcc.hy.phoenix.service.DisposeDeviceManager;
|
||||||
|
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.ArrayList;
|
||||||
|
import java.util.EnumMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static com.cmcc.hy.phoenix.common.ErrorCode.ERR_OK;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping(value = "/handle")
|
||||||
|
@Slf4j
|
||||||
|
@Api(value = "抗DDoS处置平台认证接口", tags = "抗DDoS处置平台认证接口")
|
||||||
|
@Component
|
||||||
|
public class DisposePointController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ObjectMapper objectMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private LoginService loginService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DisposeDeviceManager disposeDeviceManager;
|
||||||
|
|
||||||
|
@PostMapping("/manager")
|
||||||
|
@ResponseBody
|
||||||
|
@ApiOperation("节点管理")
|
||||||
|
@ReqDec
|
||||||
|
@Builder
|
||||||
|
public ProtocolResp disposePointManager(@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.ADD_DISPOSE_POINT:
|
||||||
|
msgCtx = addDisposePoint(mr);
|
||||||
|
break;
|
||||||
|
case ConstValue.ProtocolCmdId.DEL_DISPOSE_POINT:
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
err = ErrorCode.ERR_UNKNOWNCMD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (JsonProcessingException ex) {
|
||||||
|
log.error(ex.getMessage());
|
||||||
|
err = ErrorCode.ERR_EXCEPTION;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ProtocolResp.result(err, mr.getCmdId(), msgCtx);
|
||||||
|
}
|
||||||
|
|
||||||
|
private String addDisposePoint(ProtocolDTO mr)
|
||||||
|
throws JsonProcessingException {
|
||||||
|
ErrorCode err = ErrorCode.ERR_OK;
|
||||||
|
|
||||||
|
DevManagerResp rspInfo = new DevManagerResp();
|
||||||
|
List<DeviceCmdInfo> devRsp = new ArrayList<>();
|
||||||
|
rspInfo.setResult(devRsp);
|
||||||
|
|
||||||
|
|
||||||
|
AddDispointPointReq reqInfo = objectMapper.readValue(mr.getMsgContent(), AddDispointPointReq.class);
|
||||||
|
|
||||||
|
reqInfo.getItems().forEach(v -> {
|
||||||
|
//
|
||||||
|
DisposeDevice dev = new DisposeDevice();
|
||||||
|
|
||||||
|
dev.setIpv4(v.getIp());
|
||||||
|
dev.setType(v.getType());
|
||||||
|
dev.setAreaCode(v.getAreaCode());
|
||||||
|
dev.setName(v.getName());
|
||||||
|
dev.setReadme(v.getReadme());
|
||||||
|
dev.setManufacturer(v.getManufacturer());
|
||||||
|
dev.setModel(v.getModel());
|
||||||
|
dev.setVersion(v.getVersion());
|
||||||
|
|
||||||
|
dev.setDevCaps(new ArrayList<>());
|
||||||
|
|
||||||
|
v.getCapacity().forEach(k -> {
|
||||||
|
DeviceCapacity devCap = new DeviceCapacity();
|
||||||
|
devCap.setCapacity(k.getType());
|
||||||
|
devCap.setTolFlowCapacity(k.getTolFlowCapacity());
|
||||||
|
dev.getDevCaps().add(devCap);
|
||||||
|
});
|
||||||
|
|
||||||
|
EnumMap<ErrorCode, Long> ret = disposeDeviceManager.addNewDisposeDevice(dev);
|
||||||
|
|
||||||
|
ErrorCode errno = ret.keySet().iterator().next();
|
||||||
|
devRsp.add(new DeviceCmdInfo(v.getId(), String.valueOf(ret.get(errno)), errno.getCode(), errno.getMsg()));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return objectMapper.writeValueAsString(rspInfo);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.cmcc.hy.phoenix.pojo.po;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class DeciveCaps {
|
||||||
|
private int type;
|
||||||
|
@Nullable
|
||||||
|
private int tolFlowCapacity;
|
||||||
|
@Nullable
|
||||||
|
private String disposeIp;
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.cmcc.hy.phoenix.pojo.po;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFilter;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class DeviceCmdInfo {
|
||||||
|
private String id;
|
||||||
|
private String devId;
|
||||||
|
private int status;
|
||||||
|
private String message;
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.cmcc.hy.phoenix.pojo.po;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class DisposeAddInfo {
|
||||||
|
private String id;
|
||||||
|
private int type;
|
||||||
|
private String name;
|
||||||
|
private String ip;
|
||||||
|
private int areaCode;
|
||||||
|
@Nullable
|
||||||
|
private String manufacturer;
|
||||||
|
@Nullable
|
||||||
|
private String model;
|
||||||
|
@Nullable
|
||||||
|
private String version;
|
||||||
|
@Nullable
|
||||||
|
private String readme;
|
||||||
|
private List<DeciveCaps> capacity;
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.cmcc.hy.phoenix.pojo.vo;
|
||||||
|
|
||||||
|
import com.cmcc.hy.phoenix.pojo.po.DisposeAddInfo;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class AddDispointPointReq {
|
||||||
|
private List<DisposeAddInfo> items;
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.cmcc.hy.phoenix.pojo.vo;
|
||||||
|
|
||||||
|
import com.cmcc.hy.phoenix.pojo.po.DeviceCmdInfo;
|
||||||
|
import lombok.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class DevManagerResp {
|
||||||
|
private List<DeviceCmdInfo> result;
|
||||||
|
}
|
Loading…
Reference in New Issue