feat: 故障管理-高级查询

master
李小林 6 months ago
parent 1a5ac3c6c1
commit 15fd7e55eb
  1. 6
      src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java
  2. 28
      src/main/java/com/bellmann/controller/FaultController.java
  3. 20
      src/main/java/com/bellmann/model/form/AlgForm.java
  4. 14
      src/main/java/com/bellmann/model/form/CpeForm.java
  5. 5
      src/main/java/com/bellmann/service/RemoteOperateTaskService.java
  6. 77
      src/main/java/com/bellmann/service/impl/RemoteOperateTaskServiceImpl.java

@ -71,7 +71,11 @@ public enum RemoteOperateMsgEnum implements IBaseEnum<String> {
VOIP_INFO_QUERY_GPON("VoipInfoQueryGPON","VoipInfoQueryGPON"), VOIP_INFO_QUERY_GPON("VoipInfoQueryGPON","VoipInfoQueryGPON"),
DIGITAL_HOME_QUERY_GPON("DigitalhomeQueryGPON","DigitalhomeQueryGPON"), DIGITAL_HOME_QUERY_GPON("DigitalhomeQueryGPON","DigitalhomeQueryGPON"),
LAN_INFO_QUERY("LanInfoQuery","LanInfoQuery") LAN_INFO_QUERY("LanInfoQuery","LanInfoQuery"),
ALG_QUERY("AlgQuery","AlgQuery"),
CPE_NUMBER_QUERY("CpeNumberQuery","CpeNumberQuery"),
; ;
@Getter @Getter
private String value; private String value;

@ -1,11 +1,15 @@
package com.bellmann.controller; package com.bellmann.controller;
import com.bellmann.common.result.Result; import com.bellmann.common.result.Result;
import com.bellmann.common.result.ResultCode;
import com.bellmann.model.form.AlgForm;
import com.bellmann.model.form.CpeForm;
import com.bellmann.model.query.FaultQuery; import com.bellmann.model.query.FaultQuery;
import com.bellmann.model.vo.FaultBasicInfoVO; import com.bellmann.model.vo.FaultBasicInfoVO;
import com.bellmann.model.vo.FaultDiagnosisResult; import com.bellmann.model.vo.FaultDiagnosisResult;
import com.bellmann.model.vo.FaultQueryVO; import com.bellmann.model.vo.FaultQueryVO;
import com.bellmann.security.util.SecurityUtils; import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.DeviceStaticService;
import com.bellmann.service.FaultService; import com.bellmann.service.FaultService;
import com.bellmann.service.RemoteOperateTaskService; import com.bellmann.service.RemoteOperateTaskService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@ -13,6 +17,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -26,6 +31,8 @@ public class FaultController {
private final RemoteOperateTaskService remoteOperateTaskService; private final RemoteOperateTaskService remoteOperateTaskService;
private final DeviceStaticService deviceStaticService;
@Operation(summary = "故障管理查询") @Operation(summary = "故障管理查询")
@PostMapping("/query") @PostMapping("/query")
public Result<List<FaultQueryVO>> queryList(@RequestBody FaultQuery query){ public Result<List<FaultQueryVO>> queryList(@RequestBody FaultQuery query){
@ -54,4 +61,25 @@ public class FaultController {
Map<String,String> map = faultService.getServiceStatusResult(taskId); Map<String,String> map = faultService.getServiceStatusResult(taskId);
return Result.success(map); return Result.success(map);
} }
@Operation(summary = "修改ALG功能")
@PostMapping("/update-alg")
public Result<String> updateAlg(@RequestParam Long devId,@RequestBody @Valid AlgForm algForm){
Long taskId = remoteOperateTaskService.updateAlg(devId,algForm);
boolean isSuccess = deviceStaticService.taskIsSuccess(taskId);
if (isSuccess){
return Result.success();
}
return Result.failed(ResultCode.THE_INTERFACE_CONNECTION_TIMED_OUT);
}
@Operation(summary = "修改上网终端数目")
@PostMapping("/update-cpe")
public Result<String> updateCpe(@RequestParam Long devId,@RequestBody @Valid CpeForm cpeForm){
Long taskId = remoteOperateTaskService.updateCpe(devId,cpeForm);
boolean isSuccess = deviceStaticService.taskIsSuccess(taskId);
if (isSuccess){
return Result.success();
}
return Result.failed(ResultCode.THE_INTERFACE_CONNECTION_TIMED_OUT);
}
} }

@ -0,0 +1,20 @@
package com.bellmann.model.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class AlgForm {
@NotBlank(message = "必填参数不能为空")
private String h323Enable;
@NotBlank(message = "必填参数不能为空")
private String sIPEnable;
@NotBlank(message = "必填参数不能为空")
private String rTSPEnable;
@NotBlank(message = "必填参数不能为空")
private String l2TPEnable;
@NotBlank(message = "必填参数不能为空")
private String iPSECEnable;
}

@ -0,0 +1,14 @@
package com.bellmann.model.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
@Data
public class CpeForm {
@NotBlank(message = "必填参数不能为空")
@Pattern(regexp = "^([1-9][0-9]?|0|100)$",message = "只能输入0-100的整数")
private String cpeNum;
}

@ -1,6 +1,8 @@
package com.bellmann.service; package com.bellmann.service;
import com.bellmann.model.dto.OperationTask; import com.bellmann.model.dto.OperationTask;
import com.bellmann.model.form.AlgForm;
import com.bellmann.model.form.CpeForm;
import com.bellmann.model.vo.RemoteOperateResult; import com.bellmann.model.vo.RemoteOperateResult;
public interface RemoteOperateTaskService { public interface RemoteOperateTaskService {
@ -11,4 +13,7 @@ public interface RemoteOperateTaskService {
RemoteOperateResult findDevInfoArgsByDevIdIsTimeOut(Long devId, String command); RemoteOperateResult findDevInfoArgsByDevIdIsTimeOut(Long devId, String command);
Long updateAlg(Long devId, AlgForm algForm);
Long updateCpe(Long devId, CpeForm algForm);
} }

@ -15,8 +15,11 @@ import com.bellmann.model.dto.RemoteOperation;
import com.bellmann.model.entity.DeviceDynamic; import com.bellmann.model.entity.DeviceDynamic;
import com.bellmann.model.entity.OperateResult2; import com.bellmann.model.entity.OperateResult2;
import com.bellmann.model.entity.OperateTask2; import com.bellmann.model.entity.OperateTask2;
import com.bellmann.model.form.AlgForm;
import com.bellmann.model.form.CpeForm;
import com.bellmann.model.vo.RemoteOperateResult; import com.bellmann.model.vo.RemoteOperateResult;
import com.bellmann.runner.UIService; import com.bellmann.runner.UIService;
import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.RemoteOperateTaskService; import com.bellmann.service.RemoteOperateTaskService;
import com.zznode.itms.api.InventoryManager; import com.zznode.itms.api.InventoryManager;
import com.zznode.itms.api.OAMManager; import com.zznode.itms.api.OAMManager;
@ -106,7 +109,6 @@ public class RemoteOperateTaskServiceImpl implements RemoteOperateTaskService {
try { try {
result = OAMManager.sendDeviceOper2Task(detailStructHolder); result = OAMManager.sendDeviceOper2Task(detailStructHolder);
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
throw new BusinessException(ResultCode.NOT_GET_DEVICE); throw new BusinessException(ResultCode.NOT_GET_DEVICE);
} }
if (result != 0) { if (result != 0) {
@ -213,4 +215,77 @@ public class RemoteOperateTaskServiceImpl implements RemoteOperateTaskService {
return new RemoteOperation(); return new RemoteOperation();
} }
@Override
public Long updateAlg(Long devId, AlgForm algForm) {
DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
DOperTask2Struct operTask2Struct = new DOperTask2Struct();
operTask2Struct.devId = devId; ;
operTask2Struct.operName = RemoteOperateMsgEnum.SET_PARAMETER_VALUES.getValue();
operTask2Struct.operTaskCreateTime = 0;
operTask2Struct.operTaskDesc = RemoteOperateMsgEnum.SET_PARAMETER_VALUES.getLabel();
operTask2Struct.operTaskId = Utils.LONG_NULL;
operTask2Struct.userName = SecurityUtils.getUsername();
detailStruct.operTask = operTask2Struct;
DOperTaskArgsStruct[] argsStructs = new DOperTaskArgsStruct[5];
argsStructs[0] = new DOperTaskArgsStruct();
argsStructs[0].argsName = "InternetGatewayDevice.DeviceInfo.X_CT-COM_ALGAbility.H323Enable";
argsStructs[0].argsValue = algForm.getH323Enable(); //H323开关
argsStructs[0].operTaskId = Utils.LONG_NULL;
argsStructs[1] = new DOperTaskArgsStruct();
argsStructs[1].argsName = "InternetGatewayDevice.DeviceInfo.X_CT-COM_ALGAbility.SIPEnable";
argsStructs[1].argsValue = algForm.getSIPEnable(); //SIP开关
argsStructs[1].operTaskId = Utils.LONG_NULL;
argsStructs[2] = new DOperTaskArgsStruct();
argsStructs[2].argsName = "InternetGatewayDevice.DeviceInfo.X_CT-COM_ALGAbility.RTSPEnable";
argsStructs[2].argsValue = algForm.getRTSPEnable(); //RTSP开关
argsStructs[2].operTaskId = Utils.LONG_NULL;
argsStructs[3] = new DOperTaskArgsStruct();
argsStructs[3].argsName = "InternetGatewayDevice.DeviceInfo.X_CT-COM_ALGAbility.L2TPEnable";
argsStructs[3].argsValue = algForm.getL2TPEnable(); //L2TP开关
argsStructs[3].operTaskId = Utils.LONG_NULL;
argsStructs[4] = new DOperTaskArgsStruct();
argsStructs[4].argsName = "InternetGatewayDevice.DeviceInfo.X_CT-COM_ALGAbility.IPSECEnable";
argsStructs[4].argsValue = algForm.getIPSECEnable(); //IPSEV开关
argsStructs[4].operTaskId = Utils.LONG_NULL;
detailStruct.operTaskArgsList = argsStructs;
DOperTask2DetailStructHolder task2DetailStructHolder = new DOperTask2DetailStructHolder(detailStruct);
int result = OAMManager.sendDeviceOper2Task(task2DetailStructHolder);
if (result != 0) {
throw new BusinessException(ResultCode.OAM_INTERFACE_ERROR);
}
return task2DetailStructHolder.value.operTask.operTaskId;
}
@Override
public Long updateCpe(Long devId, CpeForm cpeForm) {
DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
DOperTask2Struct operTask2Struct = new DOperTask2Struct();
operTask2Struct.devId = devId; ;
operTask2Struct.operName = RemoteOperateMsgEnum.SET_PARAMETER_VALUES.getValue();
operTask2Struct.operTaskCreateTime = 0;
operTask2Struct.operTaskDesc = RemoteOperateMsgEnum.SET_PARAMETER_VALUES.getLabel();
operTask2Struct.operTaskId = Utils.LONG_NULL;
operTask2Struct.userName = SecurityUtils.getUsername();
detailStruct.operTask = operTask2Struct;
DOperTaskArgsStruct[] argsStructs = new DOperTaskArgsStruct[1];
argsStructs[0] = new DOperTaskArgsStruct();
argsStructs[0].argsName = "InternetGatewayDevice.Services.X_CT-COM_MWBAND.TotalTerminalNumber";
argsStructs[0].argsValue = cpeForm.getCpeNum();
argsStructs[0].operTaskId = Utils.LONG_NULL;
detailStruct.operTaskArgsList = argsStructs;
DOperTask2DetailStructHolder task2DetailStructHolder = new DOperTask2DetailStructHolder(detailStruct);
int result = OAMManager.sendDeviceOper2Task(task2DetailStructHolder);
if (result != 0) {
throw new BusinessException(ResultCode.OAM_INTERFACE_ERROR);
}
return task2DetailStructHolder.value.operTask.operTaskId;
}
} }

Loading…
Cancel
Save