feat: 电信维护密码/厂商配置文件下发

master
李小林 8 months ago
parent 9e485b479f
commit 1ef7805bcd
  1. 4
      src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java
  2. 3
      src/main/java/com/bellmann/common/result/ResultCode.java
  3. 21
      src/main/java/com/bellmann/controller/DeviceStaticController.java
  4. 2
      src/main/java/com/bellmann/controller/DeviceTypeVerController.java
  5. 3
      src/main/java/com/bellmann/service/DeviceStaticService.java
  6. 1
      src/main/java/com/bellmann/service/RemoteOperateTaskService.java
  7. 60
      src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java

@ -19,7 +19,7 @@ public enum RemoteOperateMsgEnum implements IBaseEnum<String> {
REBOOT("Reboot", "重启设备"), REBOOT("Reboot", "重启设备"),
TOUCH_DEVICE("TouchDevice", "设备在线测试"), TOUCH_DEVICE("TouchDevice", "设备在线测试"),
UPLOAD_CONFIG("UploadConfig", "设备配置文件上传"), UPLOAD_CONFIG("UploadConfig", "设备配置文件上传"),
DOWNLOAD_CONFIG("DownloadConfig", "设备配置文件下发"), DOWNLOAD_CONFIG("DownloadConfig", "设备厂商配置文件下发"),
DSL_LOOP_DIAGNOSTICS("DslLoopDiagnostics", "DslLoop诊断"), DSL_LOOP_DIAGNOSTICS("DslLoopDiagnostics", "DslLoop诊断"),
ATMF5_LOOP_BACK_DIAGNOSTICS("ATMF5LoopbackDiagnostics", "ATMF5Loopback诊断"), ATMF5_LOOP_BACK_DIAGNOSTICS("ATMF5LoopbackDiagnostics", "ATMF5Loopback诊断"),
DOWNLOAD_SOFT_VER_FILE("DownloadSoftVerFile", "设备软件版本升级"), DOWNLOAD_SOFT_VER_FILE("DownloadSoftVerFile", "设备软件版本升级"),
@ -39,6 +39,8 @@ public enum RemoteOperateMsgEnum implements IBaseEnum<String> {
DOWNLOAD_DIAGNOSTICS_QUERY("DownloadDiagnosticsQuery","DownloadDiagnosticsQuery"), DOWNLOAD_DIAGNOSTICS_QUERY("DownloadDiagnosticsQuery","DownloadDiagnosticsQuery"),
X_REGISTER("x_Register","开启终端注册页面"), X_REGISTER("x_Register","开启终端注册页面"),
SET_TELEPHONE_COM_ACCOUNT_PASSWORD("SetTeleComAccountPassword","设置电信维护密码")
; ;
@Getter @Getter
private String value; private String value;

@ -122,7 +122,8 @@ public enum ResultCode implements IResultCode, Serializable {
DOMAIN_IS_NULL("F0031","系统管理域为空"), DOMAIN_IS_NULL("F0031","系统管理域为空"),
LOGIC_IS_NULL("F0032","逻辑ID为空"), LOGIC_IS_NULL("F0032","逻辑ID为空"),
TASK_NOT_FOUND("F0033","任务不存在"), TASK_NOT_FOUND("F0033","任务不存在"),
TASK_NOT_EXE("F0034", "任务未执行"); TASK_NOT_EXE("F0034", "任务未执行"),
UPDATE_ACCOUNT_PWD_ERROR("F0035","更新设备维护密码失败");
@Override @Override
public String getCode() { public String getCode() {

@ -329,4 +329,25 @@ public class DeviceStaticController {
log.info("{}任务执行中: {}", RemoteOperateMsgEnum.X_REGISTER.getLabel(), taskId); log.info("{}任务执行中: {}", RemoteOperateMsgEnum.X_REGISTER.getLabel(), taskId);
return Result.success(); return Result.success();
} }
@GetMapping("/remote/account-password/{devId}")
@Operation(summary = "远程操作-设备设置电信帐户密码")
@PreventDuplicateSubmit
public Result<String> setAccountPassword(@PathVariable Long devId){
Long taskId = deviceStaticService.setAccountPassword(devId);
log.info("{}任务执行中: {}", RemoteOperateMsgEnum.SET_TELEPHONE_COM_ACCOUNT_PASSWORD.getLabel(), taskId);
try {
TimeUnit.MILLISECONDS.sleep(SystemConstants.TASK_TIME_OUT_CONST2);
} catch (InterruptedException e) {
throw new BusinessException(ResultCode.LINK_INFO_ERROR);
}
return Result.success();
}
@GetMapping("/remote/vendor-profile/{devId}/{fileId}")
@Operation(summary = "远程操作-厂商配置文件下发")
@PreventDuplicateSubmit
public Result<String> remoteVendorProfile(@PathVariable Long devId,@PathVariable Long fileId){
Long taskId = remoteOperateTaskService.sendTaskByDevIdByFileId(devId,SecurityUtils.getUsername(),fileId,RemoteOperateMsgEnum.DOWNLOAD_CONFIG.getValue());
log.info("{}任务执行中: {}", RemoteOperateMsgEnum.DOWNLOAD_CONFIG.getLabel(), taskId);
return Result.success();
}
} }

@ -94,7 +94,7 @@ public class DeviceTypeVerController {
@Operation(summary = "查看厂商配置文件信息") @Operation(summary = "查看厂商配置文件信息")
@GetMapping("/list-vendor-profile/{typeAndVerId}") @GetMapping("/list-vendor-profile/{typeAndVerId}")
public Result<List<FileRecordVO>> listVendorProfile(@PathVariable Long typeAndVerId) throws Exception { public Result<List<FileRecordVO>> listVendorProfile(@PathVariable Long typeAndVerId){
List<FileRecordVO> list = deviceTypeVerService.listVendorProfile(typeAndVerId); List<FileRecordVO> list = deviceTypeVerService.listVendorProfile(typeAndVerId);
return Result.success(list); return Result.success(list);
} }

@ -59,4 +59,7 @@ public interface DeviceStaticService {
RemoteOperateResult checkTr143SpeedResult(Long devId, Long taskId); RemoteOperateResult checkTr143SpeedResult(Long devId, Long taskId);
Long remoteOpenRegister(Long devId); Long remoteOpenRegister(Long devId);
Long setAccountPassword(Long devId);
} }

@ -11,5 +11,4 @@ public interface RemoteOperateTaskService {
RemoteOperateResult findDevInfoArgsByDevIdIsTimeOut(Long devId, String command); RemoteOperateResult findDevInfoArgsByDevIdIsTimeOut(Long devId, String command);
} }

@ -33,13 +33,12 @@ import com.zznode.itms.api.InventoryManager;
import com.zznode.itms.api.NBIManager; import com.zznode.itms.api.NBIManager;
import com.zznode.itms.api.OAMManager; import com.zznode.itms.api.OAMManager;
import com.zznode.itms.api.Utils; import com.zznode.itms.api.Utils;
import com.zznode.itms.idl.device.DOperTask2DetailStruct; import com.zznode.itms.idl.device.*;
import com.zznode.itms.idl.device.DOperTask2DetailStructHolder;
import com.zznode.itms.idl.device.DOperTask2Struct;
import com.zznode.itms.idl.device.DOperTaskArgsStruct;
import com.zznode.itms.idl.order.OrderInfoStructListHolder; import com.zznode.itms.idl.order.OrderInfoStructListHolder;
import com.zznode.itms.idl.order.OrderStatus; import com.zznode.itms.idl.order.OrderStatus;
import com.zznode.itms.idl.order.OrderType; import com.zznode.itms.idl.order.OrderType;
import com.zznode.itms.idl.resourcedefinition.RDeviceDetailListHolder;
import com.zznode.itms.idl.resourcedefinition.RDeviceStaticStruct;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -876,4 +875,57 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
} }
return detailStructHolder.value.operTask.operTaskId; return detailStructHolder.value.operTask.operTaskId;
} }
@Override
public Long setAccountPassword(Long devId) {
DOperResultDetailStructHolder detailStructHolder = sendDeviceOper2TR069(devId, RemoteOperateMsgEnum.SET_TELEPHONE_COM_ACCOUNT_PASSWORD.getValue(),"","");
DOperResult2Struct operResult2Struct = detailStructHolder.value.operResult;
int result = operResult2Struct.resultState.value();
if (result!=DOperResultState._OPER_RUN_SUCC){
throw new BusinessException(ResultCode.OAM_INTERFACE_ERROR);
}else {
//根据一个设备的id来查找这个设备信息
RDeviceDetailListHolder holder=new RDeviceDetailListHolder();
result = InventoryManager.getDeviceByDevID(devId,holder);
if (result != 0) {
throw new BusinessException(ResultCode.NOT_GET_DEVICE);
}
RDeviceStaticStruct deviceStaticStruct = holder.value[0].devStatic;
DOperResultArgsStruct[] dOperResultArgsStruct = detailStructHolder.value.operResultArgsList;
if (dOperResultArgsStruct != null && dOperResultArgsStruct.length > 0){
for(int i=0; i<detailStructHolder.value.operResultArgsList.length; i++){
if((dOperResultArgsStruct[0].argsName).equals("TelComAccountPassword")){
deviceStaticStruct.devRemark1 = dOperResultArgsStruct[0].argsValue;
}
}
result = InventoryManager.updateDeviceStatic(deviceStaticStruct);
if (result != 0 ){
throw new BusinessException(ResultCode.UPDATE_ACCOUNT_PWD_ERROR);
}
}
}
return detailStructHolder.value.operResult.operTaskId;
}
private DOperResultDetailStructHolder sendDeviceOper2TR069(Long deviceId,String operationName,String argsName,String argsValue){
DOperTask2DetailStruct detailStruct = new DOperTask2DetailStruct();
DOperTask2Struct operTask2Struct = new DOperTask2Struct();
operTask2Struct.devId = deviceId ;
operTask2Struct.operName = operationName;
operTask2Struct.operTaskCreateTime = 0;
operTask2Struct.operTaskDesc = RemoteOperateMsgEnum.SET_TELEPHONE_COM_ACCOUNT_PASSWORD.getLabel();
operTask2Struct.operTaskId = Utils.LONG_NULL;
operTask2Struct.userName = "";
detailStruct.operTask = operTask2Struct;
DOperTaskArgsStruct[] argsStructs = new DOperTaskArgsStruct[1];
argsStructs[0] = new DOperTaskArgsStruct();
argsStructs[0].argsName = argsName;
argsStructs[0].argsValue = argsValue;
argsStructs[0].operTaskId = Utils.LONG_NULL;
detailStruct.operTaskArgsList = argsStructs;
DOperTask2DetailStructHolder task2DetailStructHolder = new DOperTask2DetailStructHolder(detailStruct);
DOperResultDetailStructHolder detailStructHolder = new DOperResultDetailStructHolder();
OAMManager.sendDeviceOper2TR069(task2DetailStructHolder,detailStructHolder);
return detailStructHolder;
}
} }

Loading…
Cancel
Save