Merge remote-tracking branch 'origin/v2.0.3_dev' into v2.0.3_dev
# Conflicts: # src/main/java/com/dispose/mapper/DeviceTaskMapper.java # src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java
This commit is contained in:
commit
c250fd01b2
|
@ -7,7 +7,12 @@ import com.dispose.common.ErrorCode;
|
||||||
import com.dispose.common.Helper;
|
import com.dispose.common.Helper;
|
||||||
import com.dispose.common.IpAddrType;
|
import com.dispose.common.IpAddrType;
|
||||||
import com.dispose.common.NetflowDirection;
|
import com.dispose.common.NetflowDirection;
|
||||||
|
import com.dispose.common.DisposeDeviceType;
|
||||||
|
import com.dispose.manager.DisposeTaskManager;
|
||||||
|
import com.dispose.mapper.DisposeDeviceMapper;
|
||||||
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
|
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
|
||||||
|
import com.dispose.pojo.entity.DeviceTask;
|
||||||
|
import com.dispose.pojo.entity.DisposeTask;
|
||||||
import com.dispose.pojo.po.MulReturnType;
|
import com.dispose.pojo.po.MulReturnType;
|
||||||
import com.dispose.pojo.vo.DeviceFirewareInfo;
|
import com.dispose.pojo.vo.DeviceFirewareInfo;
|
||||||
import com.pengxin.dispose.common.PengXinDisposeAbilityRsp;
|
import com.pengxin.dispose.common.PengXinDisposeAbilityRsp;
|
||||||
|
@ -24,9 +29,11 @@ import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The type Peng xin ability.
|
* The type Peng xin ability.
|
||||||
|
@ -35,6 +42,17 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class PengXinAbilityImpl implements DisposeAbility {
|
public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
|
/**
|
||||||
|
* The Dispose task manager.
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private DisposeTaskManager disposeTaskManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Dispose device mapper.
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private DisposeDeviceMapper disposeDeviceMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Protect ip v 4.
|
* The Protect ip v 4.
|
||||||
|
@ -84,7 +102,7 @@ public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
/**
|
/**
|
||||||
* The Peng xin dispose type.
|
* The Peng xin dispose type.
|
||||||
*/
|
*/
|
||||||
private final Integer[] pengXinDisposeType = new Integer[] {0, 4, 1, 3};
|
private final Integer[] pengXinDisposeType = new Integer[]{0, 4, 1, 3};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets peng xin task type.
|
* Gets peng xin task type.
|
||||||
|
@ -168,12 +186,12 @@ public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
}
|
}
|
||||||
|
|
||||||
reqItems.add(PengXinStartTaskItem.builder()
|
reqItems.add(PengXinStartTaskItem.builder()
|
||||||
.type(getPengXinTaskType(capType))
|
.type(getPengXinTaskType(capType))
|
||||||
.disposeObject(disposeObject)
|
.disposeObject(disposeObject)
|
||||||
.objectType(getPengXinObjectType(objectType))
|
.objectType(getPengXinObjectType(objectType))
|
||||||
.disposeTime(duration)
|
.disposeTime(duration)
|
||||||
.taskReqId(String.valueOf(taskReqId++))
|
.taskReqId(String.valueOf(taskReqId++))
|
||||||
.build());
|
.build());
|
||||||
|
|
||||||
ProtocolRespDTO<PengXinStartTaskRsp> rspInfo = restfulInterface.startDisposeTask(url, token, reqItems);
|
ProtocolRespDTO<PengXinStartTaskRsp> rspInfo = restfulInterface.startDisposeTask(url, token, reqItems);
|
||||||
|
|
||||||
|
@ -231,7 +249,7 @@ public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
}
|
}
|
||||||
|
|
||||||
ProtocolRespDTO<PengXinStopTaskRsp> rspInfo = restfulInterface.stopDisposeTask(url, token,
|
ProtocolRespDTO<PengXinStopTaskRsp> rspInfo = restfulInterface.stopDisposeTask(url, token,
|
||||||
new String[]{taskId});
|
new String[]{taskId});
|
||||||
|
|
||||||
// 判断是否token过期
|
// 判断是否token过期
|
||||||
if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) {
|
if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) {
|
||||||
|
@ -261,18 +279,18 @@ public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
@Override
|
@Override
|
||||||
public MulReturnType<ErrorCode, DeviceFirewareInfo> getAbilityDeviceFireware() {
|
public MulReturnType<ErrorCode, DeviceFirewareInfo> getAbilityDeviceFireware() {
|
||||||
return new MulReturnType<>(ErrorCode.ERR_OK,
|
return new MulReturnType<>(ErrorCode.ERR_OK,
|
||||||
DeviceFirewareInfo.builder()
|
DeviceFirewareInfo.builder()
|
||||||
.vendor("PengXin")
|
.vendor("PengXin")
|
||||||
.model("Unknown")
|
.model("Unknown")
|
||||||
.firmware("Unknown")
|
.firmware("Unknown")
|
||||||
.os("Linux Server")
|
.os("Linux Server")
|
||||||
.kernel("Linux")
|
.kernel("Linux")
|
||||||
.arch("x86_64")
|
.arch("x86_64")
|
||||||
.version("Unknown")
|
.version("Unknown")
|
||||||
.memory(-1)
|
.memory(-1)
|
||||||
.freeMemory(-1)
|
.freeMemory(-1)
|
||||||
.cpuUsed(-1)
|
.cpuUsed(-1)
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -423,25 +441,35 @@ public class PengXinAbilityImpl implements DisposeAbility {
|
||||||
try {
|
try {
|
||||||
String url = urlRootPath + "dispose_device/task/get";
|
String url = urlRootPath + "dispose_device/task/get";
|
||||||
|
|
||||||
|
DisposeTask task = disposeTaskManager.getDisposeTaskById(taskId);
|
||||||
|
|
||||||
|
if (task == null) {
|
||||||
|
return new MulReturnType<>(ErrorCode.ERR_NOSUCHTASK, -1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据设备ID获取设备信息,判断任务列表中的设备为鹏信,获取externId
|
||||||
|
List<DeviceTask> dev = task.getDeviceTask().stream().
|
||||||
|
filter(v -> disposeDeviceMapper.getDeviceById(v.getDeviceId()).getDeviceType() == DisposeDeviceType.PENGXIN_PLATFORM).collect(Collectors.toList());
|
||||||
|
|
||||||
ProtocolRespDTO<PengXinTaskStatusRsp> rspInfo = restfulInterface.getDeviceTaskStatus(url, token,
|
ProtocolRespDTO<PengXinTaskStatusRsp> rspInfo = restfulInterface.getDeviceTaskStatus(url, token,
|
||||||
new String[] {String.valueOf(taskId)});
|
new String[]{String.valueOf(dev.get(0).getExternId())});
|
||||||
|
|
||||||
// 判断是否token过期
|
// 判断是否token过期
|
||||||
if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) {
|
if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) {
|
||||||
// 重新登录获取 token
|
// 重新登录获取 token
|
||||||
upgradeToken();
|
upgradeToken();
|
||||||
rspInfo = restfulInterface.getDeviceTaskStatus(urlRootPath, token,
|
rspInfo = restfulInterface.getDeviceTaskStatus(url, token,
|
||||||
new String[] {String.valueOf(taskId)});
|
new String[]{String.valueOf(dev.get(0).getExternId())});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rspInfo != null && rspInfo.getCode() == ErrorCode.ERR_OK.getHttpCode()) {
|
if (rspInfo != null && rspInfo.getCode() == ErrorCode.ERR_OK.getHttpCode()) {
|
||||||
|
|
||||||
if(rspInfo.getMsgContent().getItems().size() == 0) {
|
if (rspInfo.getMsgContent().getItems().size() == 0) {
|
||||||
return new MulReturnType<>(ErrorCode.ERR_NOSUCHTASK, -1L);
|
return new MulReturnType<>(ErrorCode.ERR_NOSUCHTASK, -1L);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new MulReturnType<>(ErrorCode.ERR_OK,
|
return new MulReturnType<>(ErrorCode.ERR_OK,
|
||||||
rspInfo.getMsgContent().getItems().get(0).getTaskStatus());
|
rspInfo.getMsgContent().getItems().get(0).getTaskStatus());
|
||||||
} else {
|
} else {
|
||||||
return new MulReturnType<>(ErrorCode.ERR_CALLDEVICE, -1L);
|
return new MulReturnType<>(ErrorCode.ERR_CALLDEVICE, -1L);
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,7 +90,7 @@
|
||||||
|
|
||||||
<update id="changeTaskDevStatus">
|
<update id="changeTaskDevStatus">
|
||||||
UPDATE device_task
|
UPDATE device_task
|
||||||
SET status = #{status}
|
SET devStatus = #{devStatus}
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue