diff --git a/src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java b/src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java index 36c2dd6..fdd0682 100644 --- a/src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java +++ b/src/main/java/com/bellmann/common/enums/RemoteOperateMsgEnum.java @@ -19,7 +19,7 @@ public enum RemoteOperateMsgEnum implements IBaseEnum { REBOOT("Reboot", "重启设备"), TOUCH_DEVICE("TouchDevice", "设备在线测试"), UPLOAD_CONFIG("UploadConfig", "设备配置文件上传"), - DOWNLOAD_CONFIG("DownloadConfig", "设备配置文件下发"), + DOWNLOAD_CONFIG("DownloadConfig", "设备厂商配置文件下发"), DSL_LOOP_DIAGNOSTICS("DslLoopDiagnostics", "DslLoop诊断"), ATMF5_LOOP_BACK_DIAGNOSTICS("ATMF5LoopbackDiagnostics", "ATMF5Loopback诊断"), DOWNLOAD_SOFT_VER_FILE("DownloadSoftVerFile", "设备软件版本升级"), @@ -39,6 +39,8 @@ public enum RemoteOperateMsgEnum implements IBaseEnum { DOWNLOAD_DIAGNOSTICS_QUERY("DownloadDiagnosticsQuery","DownloadDiagnosticsQuery"), X_REGISTER("x_Register","开启终端注册页面"), + + SET_TELEPHONE_COM_ACCOUNT_PASSWORD("SetTeleComAccountPassword","设置电信维护密码") ; @Getter private String value; diff --git a/src/main/java/com/bellmann/common/result/ResultCode.java b/src/main/java/com/bellmann/common/result/ResultCode.java index bd24e64..301bf75 100644 --- a/src/main/java/com/bellmann/common/result/ResultCode.java +++ b/src/main/java/com/bellmann/common/result/ResultCode.java @@ -122,7 +122,8 @@ public enum ResultCode implements IResultCode, Serializable { DOMAIN_IS_NULL("F0031","系统管理域为空"), LOGIC_IS_NULL("F0032","逻辑ID为空"), TASK_NOT_FOUND("F0033","任务不存在"), - TASK_NOT_EXE("F0034", "任务未执行"); + TASK_NOT_EXE("F0034", "任务未执行"), + UPDATE_ACCOUNT_PWD_ERROR("F0035","更新设备维护密码失败"); @Override public String getCode() { diff --git a/src/main/java/com/bellmann/controller/DeviceStaticController.java b/src/main/java/com/bellmann/controller/DeviceStaticController.java index f092f2e..e7f2ecf 100644 --- a/src/main/java/com/bellmann/controller/DeviceStaticController.java +++ b/src/main/java/com/bellmann/controller/DeviceStaticController.java @@ -329,4 +329,25 @@ public class DeviceStaticController { log.info("{}任务执行中: {}", RemoteOperateMsgEnum.X_REGISTER.getLabel(), taskId); return Result.success(); } + @GetMapping("/remote/account-password/{devId}") + @Operation(summary = "远程操作-设备设置电信帐户密码") + @PreventDuplicateSubmit + public Result 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 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(); + } } diff --git a/src/main/java/com/bellmann/controller/DeviceTypeVerController.java b/src/main/java/com/bellmann/controller/DeviceTypeVerController.java index fa987a2..eeed924 100644 --- a/src/main/java/com/bellmann/controller/DeviceTypeVerController.java +++ b/src/main/java/com/bellmann/controller/DeviceTypeVerController.java @@ -94,7 +94,7 @@ public class DeviceTypeVerController { @Operation(summary = "查看厂商配置文件信息") @GetMapping("/list-vendor-profile/{typeAndVerId}") - public Result> listVendorProfile(@PathVariable Long typeAndVerId) throws Exception { + public Result> listVendorProfile(@PathVariable Long typeAndVerId){ List list = deviceTypeVerService.listVendorProfile(typeAndVerId); return Result.success(list); } diff --git a/src/main/java/com/bellmann/service/DeviceStaticService.java b/src/main/java/com/bellmann/service/DeviceStaticService.java index 3a3c2a5..2308533 100644 --- a/src/main/java/com/bellmann/service/DeviceStaticService.java +++ b/src/main/java/com/bellmann/service/DeviceStaticService.java @@ -59,4 +59,7 @@ public interface DeviceStaticService { RemoteOperateResult checkTr143SpeedResult(Long devId, Long taskId); Long remoteOpenRegister(Long devId); + + Long setAccountPassword(Long devId); + } diff --git a/src/main/java/com/bellmann/service/RemoteOperateTaskService.java b/src/main/java/com/bellmann/service/RemoteOperateTaskService.java index c135222..b5c569e 100644 --- a/src/main/java/com/bellmann/service/RemoteOperateTaskService.java +++ b/src/main/java/com/bellmann/service/RemoteOperateTaskService.java @@ -11,5 +11,4 @@ public interface RemoteOperateTaskService { RemoteOperateResult findDevInfoArgsByDevIdIsTimeOut(Long devId, String command); - } diff --git a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java index 97115a6..d637511 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java @@ -33,13 +33,12 @@ import com.zznode.itms.api.InventoryManager; import com.zznode.itms.api.NBIManager; import com.zznode.itms.api.OAMManager; import com.zznode.itms.api.Utils; -import com.zznode.itms.idl.device.DOperTask2DetailStruct; -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.device.*; import com.zznode.itms.idl.order.OrderInfoStructListHolder; import com.zznode.itms.idl.order.OrderStatus; 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.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -876,4 +875,57 @@ public class DeviceStaticServiceImpl implements DeviceStaticService { } 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