From 29db84de76efe10a8e9cf39dd755ada1f8917f47 Mon Sep 17 00:00:00 2001 From: chenlinghy Date: Thu, 12 Nov 2020 16:42:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?OCT=20REM:=201.=E4=BF=AE=E6=94=B9=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=8E=B7=E5=8F=96=E5=A4=84=E7=BD=AE=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81=E5=8A=9F=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/dispose/service/impl/DeviceTaskManagerServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java index 285d9069..c29c76cd 100644 --- a/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java +++ b/src/main/java/com/dispose/service/impl/DeviceTaskManagerServiceImpl.java @@ -715,7 +715,7 @@ public class DeviceTaskManagerServiceImpl implements DeviceTaskManagerService { // 任务预计结束5分钟内, if (Helper.getTimestampDiffNow(task.getPlanEndTime()) < 5 * 60) { - if (v.getEndTime() == null && Helper.getTimestampDiffNow(v.getEndTime()) < 5 * 60) { + if (v.getEndTime() == null || Helper.getTimestampDiffNow(v.getEndTime()) < 5 * 60) { MulReturnType ret = ai.getDb().taskStatus(v.getId()); if (ret.getFirstParam() == ErrorCode.ERR_OK) { From 78c4ff66e5cd2cadbbbbd2d6b018c3709d53e33f Mon Sep 17 00:00:00 2001 From: chenlinghy Date: Thu, 12 Nov 2020 18:03:39 +0800 Subject: [PATCH 2/3] =?UTF-8?q?OCT=20REM:=201.=E4=BF=AE=E6=94=B9=E9=B9=8F?= =?UTF-8?q?=E4=BF=A1=E8=AE=BE=E5=A4=87=E8=8E=B7=E5=8F=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ability/impl/PengXinAbilityImpl.java | 78 +++++++++++++------ 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/dispose/ability/impl/PengXinAbilityImpl.java b/src/main/java/com/dispose/ability/impl/PengXinAbilityImpl.java index 7d69e63d..925d84c5 100644 --- a/src/main/java/com/dispose/ability/impl/PengXinAbilityImpl.java +++ b/src/main/java/com/dispose/ability/impl/PengXinAbilityImpl.java @@ -7,7 +7,12 @@ import com.dispose.common.ErrorCode; import com.dispose.common.Helper; import com.dispose.common.IpAddrType; 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.entity.DeviceTask; +import com.dispose.pojo.entity.DisposeTask; import com.dispose.pojo.po.MulReturnType; import com.dispose.pojo.vo.DeviceFirewareInfo; import com.pengxin.dispose.common.PengXinDisposeAbilityRsp; @@ -24,9 +29,11 @@ import lombok.Setter; import lombok.extern.slf4j.Slf4j; import javax.annotation.Nullable; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * The type Peng xin ability. @@ -35,6 +42,17 @@ import java.util.List; */ @Slf4j 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. @@ -84,7 +102,7 @@ public class PengXinAbilityImpl implements DisposeAbility { /** * 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. @@ -168,12 +186,12 @@ public class PengXinAbilityImpl implements DisposeAbility { } reqItems.add(PengXinStartTaskItem.builder() - .type(getPengXinTaskType(capType)) - .disposeObject(disposeObject) - .objectType(getPengXinObjectType(objectType)) - .disposeTime(duration) - .taskReqId(String.valueOf(taskReqId++)) - .build()); + .type(getPengXinTaskType(capType)) + .disposeObject(disposeObject) + .objectType(getPengXinObjectType(objectType)) + .disposeTime(duration) + .taskReqId(String.valueOf(taskReqId++)) + .build()); ProtocolRespDTO rspInfo = restfulInterface.startDisposeTask(url, token, reqItems); @@ -231,7 +249,7 @@ public class PengXinAbilityImpl implements DisposeAbility { } ProtocolRespDTO rspInfo = restfulInterface.stopDisposeTask(url, token, - new String[]{taskId}); + new String[]{taskId}); // 判断是否token过期 if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) { @@ -261,18 +279,18 @@ public class PengXinAbilityImpl implements DisposeAbility { @Override public MulReturnType getAbilityDeviceFireware() { return new MulReturnType<>(ErrorCode.ERR_OK, - DeviceFirewareInfo.builder() - .vendor("PengXin") - .model("Unknown") - .firmware("Unknown") - .os("Linux Server") - .kernel("Linux") - .arch("x86_64") - .version("Unknown") - .memory(-1) - .freeMemory(-1) - .cpuUsed(-1) - .build()); + DeviceFirewareInfo.builder() + .vendor("PengXin") + .model("Unknown") + .firmware("Unknown") + .os("Linux Server") + .kernel("Linux") + .arch("x86_64") + .version("Unknown") + .memory(-1) + .freeMemory(-1) + .cpuUsed(-1) + .build()); } /** @@ -423,25 +441,35 @@ public class PengXinAbilityImpl implements DisposeAbility { try { 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 dev = task.getDeviceTask().stream(). + filter(v -> disposeDeviceMapper.getDeviceById(v.getDeviceId()).getDeviceType() == DisposeDeviceType.PENGXIN_PLATFORM).collect(Collectors.toList()); + ProtocolRespDTO rspInfo = restfulInterface.getDeviceTaskStatus(url, token, - new String[] {String.valueOf(taskId)}); + new String[]{String.valueOf(dev.get(0).getExternId())}); // 判断是否token过期 if (rspInfo != null && rspInfo.getCode() == HttpServletResponse.SC_UNAUTHORIZED) { // 重新登录获取 token upgradeToken(); - rspInfo = restfulInterface.getDeviceTaskStatus(urlRootPath, token, - new String[] {String.valueOf(taskId)}); + rspInfo = restfulInterface.getDeviceTaskStatus(url, token, + new String[]{String.valueOf(dev.get(0).getExternId())}); } 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_OK, - rspInfo.getMsgContent().getItems().get(0).getTaskStatus()); + rspInfo.getMsgContent().getItems().get(0).getTaskStatus()); } else { return new MulReturnType<>(ErrorCode.ERR_CALLDEVICE, -1L); } From 374ecbcb5f3d497876b48059714e921723206137 Mon Sep 17 00:00:00 2001 From: chenlinghy Date: Thu, 12 Nov 2020 18:12:18 +0800 Subject: [PATCH 3/3] =?UTF-8?q?OCT=20REM:=201.=E4=BF=AE=E6=94=B9=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E6=94=B9=E5=8F=98=E4=BB=BB=E5=8A=A1=E7=8A=B6?= =?UTF-8?q?=E6=80=81SQL=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/dispose/mapper/DeviceTaskMapper.java | 4 ++-- src/main/resources/mappers/DeviceTask.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/dispose/mapper/DeviceTaskMapper.java b/src/main/java/com/dispose/mapper/DeviceTaskMapper.java index 538bad81..4f89f8c6 100644 --- a/src/main/java/com/dispose/mapper/DeviceTaskMapper.java +++ b/src/main/java/com/dispose/mapper/DeviceTaskMapper.java @@ -89,11 +89,11 @@ public interface DeviceTaskMapper { * Change task dev status int. * * @param id the id - * @param status the status + * @param devStatus the devStatus * @return the int */ int changeTaskDevStatus(@Param("id") Long id, - @Param("status") Long status); + @Param("devStatus") Long devStatus); /** * Change exec attack type in value int. diff --git a/src/main/resources/mappers/DeviceTask.xml b/src/main/resources/mappers/DeviceTask.xml index 7bf6e499..63325b59 100644 --- a/src/main/resources/mappers/DeviceTask.xml +++ b/src/main/resources/mappers/DeviceTask.xml @@ -90,7 +90,7 @@ UPDATE device_task - SET status = #{status} + SET devStatus = #{devStatus} WHERE id = #{id}