feat: 设备能力信息

master
李小林 8 months ago
parent 252ca9a3d1
commit 95c61f2679
  1. 23
      src/main/java/com/bellmann/common/enums/CapabilityEnum.java
  2. 25
      src/main/java/com/bellmann/common/enums/FePortNumberEnum.java
  3. 25
      src/main/java/com/bellmann/common/enums/GePortNumberEnum.java
  4. 21
      src/main/java/com/bellmann/common/enums/Ipv6EnableEnum.java
  5. 24
      src/main/java/com/bellmann/common/enums/LanNumberEnum.java
  6. 21
      src/main/java/com/bellmann/common/enums/MeshEnum.java
  7. 21
      src/main/java/com/bellmann/common/enums/RebootEnum.java
  8. 22
      src/main/java/com/bellmann/common/enums/Tr143Enum.java
  9. 27
      src/main/java/com/bellmann/common/enums/VoipPortNumberEnum.java
  10. 22
      src/main/java/com/bellmann/common/enums/VoipProtocolEnum.java
  11. 22
      src/main/java/com/bellmann/common/enums/WifiConfigEnum.java
  12. 23
      src/main/java/com/bellmann/common/enums/WifiTypeEnum.java
  13. 21
      src/main/java/com/bellmann/common/enums/YwgEnum.java
  14. 8
      src/main/java/com/bellmann/controller/TypeVerExtController.java
  15. 2
      src/main/java/com/bellmann/model/bo/RemoteEquipmentBO.java
  16. 26
      src/main/java/com/bellmann/model/form/CapabilityForm.java
  17. 51
      src/main/java/com/bellmann/model/vo/CapabilityVO.java
  18. 2
      src/main/java/com/bellmann/model/vo/RemoteDevInfoVO.java
  19. 2
      src/main/java/com/bellmann/model/vo/RemoteEquipmentVO.java
  20. 1
      src/main/java/com/bellmann/service/DeviceStaticService.java
  21. 3
      src/main/java/com/bellmann/service/TypeVerExtService.java
  22. 1
      src/main/java/com/bellmann/service/impl/DeviceStaticServiceImpl.java
  23. 39
      src/main/java/com/bellmann/service/impl/TypeVerExtServiceImpl.java
  24. 1
      src/main/resources/mapper/DeviceStaticMapper.xml

@ -0,0 +1,23 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum CapabilityEnum implements IBaseEnum<String> {
M_100("100", "100M"),
M_1000("1000", "1000M"),
M_500("500", "500M"),
M_2000("2000", "2000M"),
CAPABILITY_NULL("", "");
@Getter
private String value;
@Getter
private String label;
CapabilityEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,25 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum FePortNumberEnum implements IBaseEnum<String> {
FE_0("fe_0", "0个"),
FE_1("fe_1", "1个"),
FE_2("fe_2", "2个"),
FE_3("fe_3", "3个"),
FE_4("fe_4", "4个"),
FE_8("fe_8", "8个"),
FE_NULL("", "");
@Getter
private String value;
@Getter
private String label;
FePortNumberEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,25 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum GePortNumberEnum implements IBaseEnum<String> {
GE_0("ge_0", "0个"),
GE_1("ge_1", "1个"),
GE_2("ge_2", "2个"),
GE_3("ge_3", "3个"),
GE_4("ge_4", "4个"),
GE_8("ge_8", "8个"),
GE_NULL("", "");
@Getter
private String value;
@Getter
private String label;
GePortNumberEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,21 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum Ipv6EnableEnum implements IBaseEnum<String> {
IPV6ENABLE_1("ipv6enable_1", "是"),
IPV6ENABLE_0("ipv6enable_0", "否"),
IPV6ENABLE_NULL("", "");
@Getter
private String value;
@Getter
private String label;
Ipv6EnableEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,24 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum LanNumberEnum implements IBaseEnum<String> {
LAN_1("lan_1", "1口"),
LAN_2("lan_2", "2口"),
LAN_4("lan_4", "4口"),
LAN_8("lan_8", "8口"),
LAN_9("lan_9", "9口"),
LAN_NULL("", "");
@Getter
private String value;
@Getter
private String label;
LanNumberEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,21 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum MeshEnum implements IBaseEnum<String> {
MESH_1("mesh_1", "是"),
MESH_0("mesh_0", "否"),
MESH_NULL("", "");
@Getter
private String value;
@Getter
private String label;
MeshEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,21 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum RebootEnum implements IBaseEnum<String> {
REBOOT_YES("reboot_yes", "是"),
REBOOT_NO("reboot_no", "否"),
REBOOT_NULL("", "");
@Getter
private String value;
@Getter
private String label;
RebootEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,22 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum Tr143Enum implements IBaseEnum<String> {
TR143_1("TR143_1", "是"),
TR143_0("TR143_0", "否"),
TR143_2("TR143_2", "路由支持"),
TR143_NULL("","");
@Getter
private String value;
@Getter
private String label;
Tr143Enum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,27 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum VoipPortNumberEnum implements IBaseEnum<String> {
VOIP_0("voip_0", "不支持语音"),
VOIP_32("voip_32", "32口语音"),
VOIP_16("voip_16", "16口语音"),
VOIP_8("voip_8", "8口语音"),
VOIP_4("voip_4", "4口语音"),
VOIP_2("voip_2", "2口语音"),
VOIP_1("voip_1", "1口语音"),
VOIP_NULL("", "");
@Getter
private String value;
@Getter
private String label;
VoipPortNumberEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,22 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum VoipProtocolEnum implements IBaseEnum<String> {
VOIP_PROTOCOL_0("voipprotocol_0", "无"),
SIP("voipprotocol_1", "SIP"),
SIP_AND_H_248("voipprotocol_2", "SIP及H.248"),
VOIP_PROTOCOL_NULL("", "");
@Getter
private String value;
@Getter
private String label;
VoipProtocolEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,22 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum WifiConfigEnum implements IBaseEnum<String> {
WIFI_0("wifi_0", "无频"),
WIFI_1("wifi_1", "单频"),
WIFI_2("wifi_2", "双频"),
WIFI_NULL("", "");
@Getter
private String value;
@Getter
private String label;
WifiConfigEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,23 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum WifiTypeEnum implements IBaseEnum<String> {
WIFI_TYPE_0("wifitype_0", "无WIFI"),
WIFI_TYPE_1("wifitype_1", "WIFI4"),
WIFI_TYPE_2("wifitype_2", "WIFI5"),
WIFI_TYPE_3("wifitype_3", "WIFI6"),
WIFI_TYPE_NULL("","");
@Getter
private String value;
@Getter
private String label;
WifiTypeEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -0,0 +1,21 @@
package com.bellmann.common.enums;
import com.bellmann.common.base.IBaseEnum;
import lombok.Getter;
public enum YwgEnum implements IBaseEnum<String> {
YWG_1("ywg_1", "是"),
YWG_0("ywg_0", "否"),
YWG_NULL("", "");
@Getter
private String value;
@Getter
private String label;
YwgEnum(String value, String label) {
this.value = value;
this.label = label;
}
}

@ -2,6 +2,7 @@ package com.bellmann.controller;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.CapabilityForm;
import com.bellmann.model.vo.CapabilityVO;
import com.bellmann.service.TypeVerExtService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -28,4 +29,11 @@ public class TypeVerExtController {
public Result<String> editCapabilityForm(@RequestBody CapabilityForm form){
return typeVerExtService.editCapabilityForm(form);
}
@GetMapping("/remote/capability/{typeAndVerId}")
@Operation(summary = "远程操作-设备能力信息")
public Result<CapabilityVO> devCapabilityInfo(@PathVariable Long typeAndVerId){
return typeVerExtService.devCapabilityInfo(typeAndVerId);
}
}

@ -9,6 +9,8 @@ public class RemoteEquipmentBO {
private Long devId;
private Long typeAndVerId;
private String devSno;
private String devAdNo;

@ -11,41 +11,41 @@ public class CapabilityForm {
private String typeAndVerId;
@Schema(description = "LAN口数量")
private String lanNumber;
private String lanNumber="";
@Schema(description = "VOIP端口数量")
private String voipPortNumber;
private String voipPortNumber="";
@Schema(description = "GE端口数")
private String gePortNumber;
private String gePortNumber="";
@Schema(description = "FE端口数")
private String fePortNumber;
private String fePortNumber="";
@Schema(description = "WIFI类型")
private String wifiType;
private String wifiType="";
@Schema(description = "WIFI配置")
private String wifiConfig;
private String wifiConfig="";
@Schema(description = "语音协议")
private String voipProtocol;
private String voipProtocol="";
@Schema(description = "设备能力")
private String capability;
private String capability="";
@Schema(description = "是否支持MESH组网")
private String mesh;
private String mesh="";
@Schema(description = "是否支持云网关")
private String ywg;
private String ywg="";
@Schema(description = "是否支持测速")
private String tr143;
private String tr143="";
@Schema(description = "是否支持IPV6")
private String ipv6Enable;
private String ipv6Enable="";
@Schema(description = "是否重启生效")
private String reboot;
private String reboot="";
}

@ -0,0 +1,51 @@
package com.bellmann.model.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
@Schema(description = "设备能力信息视图")
public class CapabilityVO {
@Schema(description = "设备类型软件版本ID")
private String typeAndVerId;
@Schema(description = "LAN口数量")
private String lanNumber;
@Schema(description = "VOIP端口数量")
private String voipPortNumber;
@Schema(description = "GE端口数")
private String gePortNumber;
@Schema(description = "FE端口数")
private String fePortNumber;
@Schema(description = "WIFI类型")
private String wifiType;
@Schema(description = "WIFI配置")
private String wifiConfig;
@Schema(description = "语音协议")
private String voipProtocol;
@Schema(description = "设备能力")
private String capability;
@Schema(description = "是否支持MESH组网")
private String mesh;
@Schema(description = "是否支持云网关")
private String ywg;
@Schema(description = "是否支持测速")
private String tr143;
@Schema(description = "是否支持IPV6")
private String ipv6Enable;
@Schema(description = "是否重启生效")
private String reboot;
}

@ -13,6 +13,8 @@ public class RemoteDevInfoVO {
private Long devId;
private Long typeAndVerId;
private String devAdNo;
private String devSno;

@ -14,6 +14,8 @@ public class RemoteEquipmentVO {
private String devSno;
private Long typeAndVerId;
private String devAdNo;
private String devPppoe;

@ -40,4 +40,5 @@ public interface DeviceStaticService {
Result<RemoteDevInfoVO> remoteDevInfo(Long devId);
Result<String> unbindingLogicId(UnBindingForm form);
}

@ -2,9 +2,12 @@ package com.bellmann.service;
import com.bellmann.common.result.Result;
import com.bellmann.model.form.CapabilityForm;
import com.bellmann.model.vo.CapabilityVO;
public interface TypeVerExtService {
CapabilityForm getCapabilityForm(String typeAndVerId);
Result<String> editCapabilityForm(CapabilityForm form);
Result<CapabilityVO> devCapabilityInfo(Long typeAndVerId);
}

@ -78,6 +78,7 @@ public class DeviceStaticServiceImpl implements DeviceStaticService {
private final DeviceServiceMapMapper deviceServiceMapMapper;
@Override
public Page<EquipmentVO> resourcePage(SelectQuery query) {
int pageNum = query.getPageNum();

@ -2,17 +2,19 @@ package com.bellmann.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.bellmann.common.base.IBaseEnum;
import com.bellmann.common.enums.*;
import com.bellmann.common.result.Result;
import com.bellmann.mapper.TypeVerExtMapper;
import com.bellmann.model.entity.TypeVerExt;
import com.bellmann.model.form.CapabilityForm;
import com.bellmann.model.vo.CapabilityVO;
import com.bellmann.service.TypeVerExtService;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
@Service
@ -77,6 +79,9 @@ public class TypeVerExtServiceImpl implements TypeVerExtService {
case "设备能力":
capabilityForm.setCapability(propertyId);
break;
case "是否重启生效":
capabilityForm.setReboot(propertyId);
break;
}
});
return capabilityForm;
@ -134,9 +139,41 @@ public class TypeVerExtServiceImpl implements TypeVerExtService {
if (StringUtils.isNotBlank(form.getCapability())) {
insertAndUpdate(new TypeVerExt(form.getTypeAndVerId(), "设备能力", form.getCapability()));
}
if (StringUtils.isNotBlank(form.getReboot())) {
insertAndUpdate(new TypeVerExt(form.getTypeAndVerId(), "是否重启生效", form.getReboot()));
}
}
private void insertAndUpdate(TypeVerExt typeVerExt) {
typeVerExtMapper.insert(typeVerExt);
}
@Override
public Result<CapabilityVO> devCapabilityInfo(Long typeAndVerId) {
CapabilityForm capabilityForm = getCapabilityForm(typeAndVerId.toString());
if (capabilityForm==null){
return Result.success(new CapabilityVO());
}
CapabilityVO capabilityVO = form2V0(capabilityForm);
return Result.success(capabilityVO);
}
private CapabilityVO form2V0(CapabilityForm form){
CapabilityVO capabilityVO = new CapabilityVO();
capabilityVO.setLanNumber(IBaseEnum.getLabelByValue(form.getLanNumber(), LanNumberEnum.class));
capabilityVO.setReboot(IBaseEnum.getLabelByValue(form.getReboot(), RebootEnum.class));
capabilityVO.setMesh(IBaseEnum.getLabelByValue(form.getMesh(), MeshEnum.class));
capabilityVO.setCapability(IBaseEnum.getLabelByValue(form.getCapability(), CapabilityEnum.class));
capabilityVO.setYwg(IBaseEnum.getLabelByValue(form.getYwg(), YwgEnum.class));
capabilityVO.setTr143(IBaseEnum.getLabelByValue(form.getTr143(), Tr143Enum.class));
capabilityVO.setVoipProtocol(IBaseEnum.getLabelByValue(form.getVoipProtocol(), VoipProtocolEnum.class));
capabilityVO.setWifiConfig(IBaseEnum.getLabelByValue(form.getWifiConfig(),WifiConfigEnum.class));
capabilityVO.setWifiType(IBaseEnum.getLabelByValue(form.getWifiType(), WifiTypeEnum.class));
capabilityVO.setFePortNumber(IBaseEnum.getLabelByValue(form.getFePortNumber(), FePortNumberEnum.class));
capabilityVO.setGePortNumber(IBaseEnum.getLabelByValue(form.getGePortNumber(),GePortNumberEnum.class));
capabilityVO.setIpv6Enable(IBaseEnum.getLabelByValue(form.getIpv6Enable(), Ipv6EnableEnum.class));
capabilityVO.setVoipPortNumber(IBaseEnum.getLabelByValue(form.getVoipPortNumber(), VoipPortNumberEnum.class));
capabilityVO.setTypeAndVerId(form.getTypeAndVerId());
return capabilityVO;
}
}

@ -212,6 +212,7 @@
s.dev_sno,
s.dev_ad_no,
s.dev_pppoe,
s.type_and_ver_id,
s.dev_status,
v.soft_ver,
T.dev_hard_ver,

Loading…
Cancel
Save