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