feat: 故障管理-业务终端状态

master
李小林 7 months ago
parent bdff7398e2
commit 1a5ac3c6c1
  1. 1
      src/main/java/com/bellmann/common/enums/OperateTaskStateEnum.java
  2. 8
      src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java
  3. 13
      src/main/java/com/bellmann/controller/FaultController.java
  4. 3
      src/main/java/com/bellmann/service/FaultService.java
  5. 51
      src/main/java/com/bellmann/service/impl/FaultServiceImpl.java
  6. 1
      src/main/java/com/bellmann/service/impl/RemoteOperateTaskServiceImpl.java

@ -10,6 +10,7 @@ public enum OperateTaskStateEnum implements IBaseEnum<String> {
THE_EXECUTION_WAS_SUCCESSFUL("2","执行成功"), THE_EXECUTION_WAS_SUCCESSFUL("2","执行成功"),
THE_DEVICE_IS_NOT_ONLINE("3","设备不在线"), THE_DEVICE_IS_NOT_ONLINE("3","设备不在线"),
ONGOING("4","进行中"), ONGOING("4","进行中"),
TIME_OUT("5","超时"),
; ;
@Getter @Getter

@ -64,6 +64,14 @@ public enum RemoteOperateMsgEnum implements IBaseEnum<String> {
PON112_ALG_SIP("2-8", "Pon112AlgSip"), PON112_ALG_SIP("2-8", "Pon112AlgSip"),
PON112_IPTV_UNABLE("3-1", "Pon112IPTVUnable"), PON112_IPTV_UNABLE("3-1", "Pon112IPTVUnable"),
PON112_IPTV_UNSTABLE("3-2", "Pon112IPTVUnstable"), PON112_IPTV_UNSTABLE("3-2", "Pon112IPTVUnstable"),
IPTV_QUERY_GPON("IptvQueryGPON","IptvQueryGPON"),
WLAN_INFO_QUERY("WLanInfoQuery","WLanInfoQuery"),
VOIP_INFO_QUERY_GPON("VoipInfoQueryGPON","VoipInfoQueryGPON"),
DIGITAL_HOME_QUERY_GPON("DigitalhomeQueryGPON","DigitalhomeQueryGPON"),
LAN_INFO_QUERY("LanInfoQuery","LanInfoQuery")
; ;
@Getter @Getter
private String value; private String value;

@ -5,13 +5,16 @@ 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.service.FaultService; import com.bellmann.service.FaultService;
import com.bellmann.service.RemoteOperateTaskService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; 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 java.util.List; import java.util.List;
import java.util.Map;
@Tag(name = "33.故障管理") @Tag(name = "33.故障管理")
@RestController @RestController
@ -21,6 +24,8 @@ public class FaultController {
private final FaultService faultService; private final FaultService faultService;
private final RemoteOperateTaskService remoteOperateTaskService;
@Operation(summary = "故障管理查询") @Operation(summary = "故障管理查询")
@PostMapping("/query") @PostMapping("/query")
public Result<List<FaultQueryVO>> queryList(@RequestBody FaultQuery query){ public Result<List<FaultQueryVO>> queryList(@RequestBody FaultQuery query){
@ -41,4 +46,12 @@ public class FaultController {
FaultDiagnosisResult result = faultService.basicInfoDiagnosis(devId,remote); FaultDiagnosisResult result = faultService.basicInfoDiagnosis(devId,remote);
return Result.success(result); return Result.success(result);
} }
@Operation(summary = "业务/终端状态")
@GetMapping("/basic_info/service_status")
public Result<Map<String,String>> serviceStatus(@RequestParam Long devId, @RequestParam String remote){
Long taskId = remoteOperateTaskService.sendTaskByDevId(devId, SecurityUtils.getUsername(),remote);
Map<String,String> map = faultService.getServiceStatusResult(taskId);
return Result.success(map);
}
} }

@ -6,6 +6,7 @@ import com.bellmann.model.vo.FaultDiagnosisResult;
import com.bellmann.model.vo.FaultQueryVO; import com.bellmann.model.vo.FaultQueryVO;
import java.util.List; import java.util.List;
import java.util.Map;
public interface FaultService { public interface FaultService {
List<FaultQueryVO> queryList(FaultQuery query); List<FaultQueryVO> queryList(FaultQuery query);
@ -13,4 +14,6 @@ public interface FaultService {
FaultBasicInfoVO basicInfoQuery(FaultQuery query); FaultBasicInfoVO basicInfoQuery(FaultQuery query);
FaultDiagnosisResult basicInfoDiagnosis(Long devId, String remote); FaultDiagnosisResult basicInfoDiagnosis(Long devId, String remote);
Map<String, String> getServiceStatusResult(Long taskId);
} }

@ -35,7 +35,9 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Service @Service
@ -79,7 +81,7 @@ public class FaultServiceImpl implements FaultService {
} }
} }
String devStatus = faultBasicInfoQuery.getDevStatus(); String devStatus = faultBasicInfoQuery.getDevStatus();
if (devStatus!=null){ if (devStatus != null) {
faultBasicInfoQuery.setDevStatus(IBaseEnum.getLabelByValue(devStatus, DevStatusEnum.class)); faultBasicInfoQuery.setDevStatus(IBaseEnum.getLabelByValue(devStatus, DevStatusEnum.class));
} }
return faultBasicInfoQuery; return faultBasicInfoQuery;
@ -87,15 +89,15 @@ public class FaultServiceImpl implements FaultService {
@Override @Override
public FaultDiagnosisResult basicInfoDiagnosis(Long devId, String remote) { public FaultDiagnosisResult basicInfoDiagnosis(Long devId, String remote) {
if (devId==null || devId==0L || remote==null){ if (devId == null || devId == 0L || remote == null) {
throw new BusinessException(ResultCode.PARAM_IS_NULL); throw new BusinessException(ResultCode.PARAM_IS_NULL);
} }
String operateName = ""; String operateName = "";
String addEponOrLan = dataDictManager.AddEponOrLan(devId); String addEponOrLan = dataDictManager.AddEponOrLan(devId);
boolean flag = CommonUtils.isNeedlanOrEpon(remote); boolean flag = CommonUtils.isNeedlanOrEpon(remote);
if (flag){ if (flag) {
operateName = IBaseEnum.getLabelByValue(remote, RemoteOperateMsgEnum.class) + addEponOrLan; operateName = IBaseEnum.getLabelByValue(remote, RemoteOperateMsgEnum.class) + addEponOrLan;
}else { } else {
operateName = IBaseEnum.getLabelByValue(remote, RemoteOperateMsgEnum.class); operateName = IBaseEnum.getLabelByValue(remote, RemoteOperateMsgEnum.class);
} }
OperationTask operationTask = new OperationTask(); OperationTask operationTask = new OperationTask();
@ -110,23 +112,24 @@ public class FaultServiceImpl implements FaultService {
new QueryWrapper<OperateResult2>() new QueryWrapper<OperateResult2>()
.eq("oper_task_id", taskId) .eq("oper_task_id", taskId)
); );
if (isSuccess){ if (isSuccess) {
List<OperateResultArgs> list = operateResultArgsMapper.selectList(new LambdaQueryWrapper<OperateResultArgs>() List<OperateResultArgs> list = operateResultArgsMapper.selectList(new LambdaQueryWrapper<OperateResultArgs>()
.eq(OperateResultArgs::getOperTaskId, taskId) .eq(OperateResultArgs::getOperTaskId, taskId)
); );
result.setErrorDesc(operateResult2.getErrorDesc()); result.setErrorDesc(operateResult2.getErrorDesc());
if (!list.isEmpty()){ if (!list.isEmpty()) {
result.setEndTime(list.get(0).getRecTime()); result.setEndTime(list.get(0).getRecTime());
result.setTestResult(list.get(0).getArgsValue()); result.setTestResult(list.get(0).getArgsValue());
} }
return result; return result;
}else { } else {
result.setErrorDesc(ResultCode.THE_INTERFACE_CONNECTION_TIMED_OUT.getMsg()); result.setErrorDesc(ResultCode.THE_INTERFACE_CONNECTION_TIMED_OUT.getMsg());
result.setEndTime(operateResult2.getOperEndTime()); result.setEndTime(operateResult2.getOperEndTime());
return result; return result;
} }
} }
public long getDiagnosisResult(OperationTask operationTask) { public long getDiagnosisResult(OperationTask operationTask) {
DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct(); DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
DOperTask2Struct operTaskStruct = new DOperTask2Struct(); DOperTask2Struct operTaskStruct = new DOperTask2Struct();
@ -188,4 +191,38 @@ public class FaultServiceImpl implements FaultService {
return false; return false;
} }
@Override
public Map<String, String> getServiceStatusResult(Long taskId) {
boolean isSuccess = taskIsSuccess(taskId);
OperateResult2 operateResult2 = operateResult2Mapper.selectOne(
new QueryWrapper<OperateResult2>()
.eq("oper_task_id", taskId)
);
if (isSuccess) {
String resultState = operateResult2.getResultState();
if (OperateTaskStateEnum.THE_EXECUTION_WAS_SUCCESSFUL.getValue().equals(resultState)) {
List<OperateResultArgs> list = operateResultArgsMapper.selectList(new LambdaQueryWrapper<OperateResultArgs>()
.eq(OperateResultArgs::getOperTaskId, taskId)
);
Map<String, String> map = new HashMap<>();
map.put("state",resultState);
for (OperateResultArgs args : list) {
map.put(args.getArgsName(), args.getArgsValue());
}
return map;
} else {
Map<String, String> map = new HashMap<>();
map.put("state",resultState);
map.put("result", operateResult2.getErrorDesc());
return map;
}
} else {
Map<String, String> map = new HashMap<>();
map.put("state",OperateTaskStateEnum.TIME_OUT.getValue());
map.put("result", ResultCode.THE_INTERFACE_CONNECTION_TIMED_OUT.getMsg());
return map;
}
}
} }

@ -106,6 +106,7 @@ 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) {

Loading…
Cancel
Save