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. 37
      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_DEVICE_IS_NOT_ONLINE("3","设备不在线"),
ONGOING("4","进行中"),
TIME_OUT("5","超时"),
;
@Getter

@ -64,6 +64,14 @@ public enum RemoteOperateMsgEnum implements IBaseEnum<String> {
PON112_ALG_SIP("2-8", "Pon112AlgSip"),
PON112_IPTV_UNABLE("3-1", "Pon112IPTVUnable"),
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
private String value;

@ -5,13 +5,16 @@ import com.bellmann.model.query.FaultQuery;
import com.bellmann.model.vo.FaultBasicInfoVO;
import com.bellmann.model.vo.FaultDiagnosisResult;
import com.bellmann.model.vo.FaultQueryVO;
import com.bellmann.security.util.SecurityUtils;
import com.bellmann.service.FaultService;
import com.bellmann.service.RemoteOperateTaskService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@Tag(name = "33.故障管理")
@RestController
@ -21,6 +24,8 @@ public class FaultController {
private final FaultService faultService;
private final RemoteOperateTaskService remoteOperateTaskService;
@Operation(summary = "故障管理查询")
@PostMapping("/query")
public Result<List<FaultQueryVO>> queryList(@RequestBody FaultQuery query){
@ -41,4 +46,12 @@ public class FaultController {
FaultDiagnosisResult result = faultService.basicInfoDiagnosis(devId,remote);
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 java.util.List;
import java.util.Map;
public interface FaultService {
List<FaultQueryVO> queryList(FaultQuery query);
@ -13,4 +14,6 @@ public interface FaultService {
FaultBasicInfoVO basicInfoQuery(FaultQuery query);
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 java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@Service
@ -127,6 +129,7 @@ public class FaultServiceImpl implements FaultService {
}
}
public long getDiagnosisResult(OperationTask operationTask) {
DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
DOperTask2Struct operTaskStruct = new DOperTask2Struct();
@ -188,4 +191,38 @@ public class FaultServiceImpl implements FaultService {
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 {
result = OAMManager.sendDeviceOper2Task(detailStructHolder);
}catch (Exception e){
e.printStackTrace();
throw new BusinessException(ResultCode.NOT_GET_DEVICE);
}
if (result != 0) {

Loading…
Cancel
Save