diff --git a/src/main/java/com/bellmann/controller/DeviceTypeController.java b/src/main/java/com/bellmann/controller/DeviceTypeController.java index 1d28b9b..8409f98 100644 --- a/src/main/java/com/bellmann/controller/DeviceTypeController.java +++ b/src/main/java/com/bellmann/controller/DeviceTypeController.java @@ -5,8 +5,10 @@ import com.bellmann.common.model.Option; import com.bellmann.common.result.PageResult; import com.bellmann.common.result.Result; import com.bellmann.model.query.DeviceTypeQuery; +import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; import com.bellmann.model.vo.DeviceTypeVO; +import com.bellmann.model.vo.Tr069BindingVO; import com.bellmann.service.DeviceTypeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -71,4 +73,11 @@ public class DeviceTypeController { return deviceTypeService.deleteByIds(ids); } + + @PostMapping("/tr069-binding-page") + @Operation(summary = "TR-069数据模型版本对应的设备类型及软件版本列表:") + public PageResult tr069BindingPage(@RequestBody Tr069BindingPageQuery query){ + Page page = deviceTypeService.tr069BindingPage(query); + return PageResult.success(page); + } } diff --git a/src/main/java/com/bellmann/mapper/DeviceTypeMapper.java b/src/main/java/com/bellmann/mapper/DeviceTypeMapper.java index cf99cc3..460f472 100644 --- a/src/main/java/com/bellmann/mapper/DeviceTypeMapper.java +++ b/src/main/java/com/bellmann/mapper/DeviceTypeMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.model.bo.DeviceTypePageBO; import com.bellmann.model.entity.DeviceType; import com.bellmann.model.query.DeviceTypeQuery; +import com.bellmann.model.query.Tr069BindingPageQuery; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -32,4 +33,6 @@ public interface DeviceTypeMapper extends BaseMapper { List vendorOuiOption(@Param("vendorName") String vendorName); Long countJoinStaticJoinVer(@Param("id") Long id); + + List tr069BindingDevTypePage(Page page,@Param("query") Tr069BindingPageQuery query,@Param("domainId") Long domainId); } diff --git a/src/main/java/com/bellmann/model/query/Tr069BindingPageQuery.java b/src/main/java/com/bellmann/model/query/Tr069BindingPageQuery.java new file mode 100644 index 0000000..d4630c4 --- /dev/null +++ b/src/main/java/com/bellmann/model/query/Tr069BindingPageQuery.java @@ -0,0 +1,20 @@ +package com.bellmann.model.query; + +import com.bellmann.common.base.BasePageQuery; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = true) +@Data +public class Tr069BindingPageQuery extends BasePageQuery { + + @Schema(description = "tr069数据模型ID") + private Long tr069VerId; + + private String devVendorName; + + private String devTypeName; + + private String devHardVer; +} diff --git a/src/main/java/com/bellmann/model/vo/Tr069BindingVO.java b/src/main/java/com/bellmann/model/vo/Tr069BindingVO.java new file mode 100644 index 0000000..fb9079d --- /dev/null +++ b/src/main/java/com/bellmann/model/vo/Tr069BindingVO.java @@ -0,0 +1,20 @@ +package com.bellmann.model.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "TR-069数据模型版本对应的设备类型及软件版本列表视图") +public class Tr069BindingVO { + + @Schema(description = "设备类型") + private String devType; + + @Schema(description = "设备类型软件版本名称") + private String devTypeSoftVer; + + @Schema(description = "审核标志") + private String devTypeVerStatus; + + private Long devTypeId; +} diff --git a/src/main/java/com/bellmann/service/DeviceTypeService.java b/src/main/java/com/bellmann/service/DeviceTypeService.java index c560b29..d4f6d18 100644 --- a/src/main/java/com/bellmann/service/DeviceTypeService.java +++ b/src/main/java/com/bellmann/service/DeviceTypeService.java @@ -4,8 +4,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bellmann.common.model.Option; import com.bellmann.common.result.Result; import com.bellmann.model.query.DeviceTypeQuery; +import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; import com.bellmann.model.vo.DeviceTypeVO; +import com.bellmann.model.vo.Tr069BindingVO; import java.util.ArrayList; import java.util.List; @@ -24,4 +26,6 @@ public interface DeviceTypeService { List> hardVerOption(String typeName); Result deleteByIds(ArrayList ids); + + Page tr069BindingPage(Tr069BindingPageQuery query); } diff --git a/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java b/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java index a52ad45..c202694 100644 --- a/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java +++ b/src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java @@ -2,6 +2,8 @@ package com.bellmann.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bellmann.common.base.IBaseEnum; +import com.bellmann.common.enums.DevTypeVerStatusEnum; import com.bellmann.common.model.Option; import com.bellmann.common.result.IResultCode; import com.bellmann.common.result.Result; @@ -13,8 +15,10 @@ import com.bellmann.model.bo.DeviceTypePageBO; import com.bellmann.model.entity.DeviceType; import com.bellmann.model.entity.DeviceTypeVer; import com.bellmann.model.query.DeviceTypeQuery; +import com.bellmann.model.query.Tr069BindingPageQuery; import com.bellmann.model.vo.DeviceTypePageVO; import com.bellmann.model.vo.DeviceTypeVO; +import com.bellmann.model.vo.Tr069BindingVO; import com.bellmann.security.util.SecurityUtils; import com.bellmann.service.DeviceTypeService; import lombok.RequiredArgsConstructor; @@ -121,4 +125,31 @@ public class DeviceTypeServiceImpl implements DeviceTypeService { } return Result.success(); } + + @Override + public Page tr069BindingPage(Tr069BindingPageQuery query) { + int pageNum = query.getPageNum(); + int pageSize = query.getPageSize(); + Page page = new Page<>(pageNum,pageSize); + List list = deviceTypeMapper.tr069BindingDevTypePage(page,query,SecurityUtils.getGroupId()); + List collect = list.stream().map(deviceTypePageBO -> { + Tr069BindingVO tr069BindingVO = new Tr069BindingVO(); + String sb = deviceTypePageBO.getDevVendorName() + + " " + + deviceTypePageBO.getDevTypeName() + + " " + + deviceTypePageBO.getDevHardVer(); + tr069BindingVO.setDevType(sb); + tr069BindingVO.setDevTypeSoftVer(deviceTypePageBO.getSoftVer()); + tr069BindingVO.setDevTypeVerStatus( + IBaseEnum.getLabelByValue(deviceTypePageBO.getDevTypeVerStatus(), DevTypeVerStatusEnum.class) + ); + tr069BindingVO.setDevTypeId(deviceTypePageBO.getDevTypeId()); + return tr069BindingVO; + }).collect(Collectors.toList()); + Page tr069BindingVOPage = new Page<>(pageNum,pageSize); + tr069BindingVOPage.setTotal(page.getTotal()); + tr069BindingVOPage.setRecords(collect); + return tr069BindingVOPage; + } } diff --git a/src/main/resources/mapper/DeviceTypeMapper.xml b/src/main/resources/mapper/DeviceTypeMapper.xml index 11f5852..e17eb64 100644 --- a/src/main/resources/mapper/DeviceTypeMapper.xml +++ b/src/main/resources/mapper/DeviceTypeMapper.xml @@ -87,4 +87,29 @@ ITMS_DEVICE_STATIC.TYPE_AND_VER_ID = ITMS_DEVICE_TYPE_VER.TYPE_AND_VER_ID AND ITMS_DEVICE_TYPE_VER.DEV_TYPE_ID = #{id}; +