feat: 设备类型及软件版本列表

master
李小林 10 months ago
parent 6f965d2094
commit cf1b5370fd
  1. 9
      src/main/java/com/bellmann/controller/DeviceTypeController.java
  2. 3
      src/main/java/com/bellmann/mapper/DeviceTypeMapper.java
  3. 20
      src/main/java/com/bellmann/model/query/Tr069BindingPageQuery.java
  4. 20
      src/main/java/com/bellmann/model/vo/Tr069BindingVO.java
  5. 4
      src/main/java/com/bellmann/service/DeviceTypeService.java
  6. 31
      src/main/java/com/bellmann/service/impl/DeviceTypeServiceImpl.java
  7. 25
      src/main/resources/mapper/DeviceTypeMapper.xml

@ -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<Tr069BindingVO> tr069BindingPage(@RequestBody Tr069BindingPageQuery query){
Page<Tr069BindingVO> page = deviceTypeService.tr069BindingPage(query);
return PageResult.success(page);
}
}

@ -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<DeviceType> {
List<DeviceType> vendorOuiOption(@Param("vendorName") String vendorName);
Long countJoinStaticJoinVer(@Param("id") Long id);
List<DeviceTypePageBO> tr069BindingDevTypePage(Page<DeviceTypePageBO> page,@Param("query") Tr069BindingPageQuery query,@Param("domainId") Long domainId);
}

@ -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;
}

@ -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;
}

@ -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<Option<String>> hardVerOption(String typeName);
Result<String> deleteByIds(ArrayList<Long> ids);
Page<Tr069BindingVO> tr069BindingPage(Tr069BindingPageQuery query);
}

@ -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<Tr069BindingVO> tr069BindingPage(Tr069BindingPageQuery query) {
int pageNum = query.getPageNum();
int pageSize = query.getPageSize();
Page<DeviceTypePageBO> page = new Page<>(pageNum,pageSize);
List<DeviceTypePageBO> list = deviceTypeMapper.tr069BindingDevTypePage(page,query,SecurityUtils.getGroupId());
List<Tr069BindingVO> 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<Tr069BindingVO> tr069BindingVOPage = new Page<>(pageNum,pageSize);
tr069BindingVOPage.setTotal(page.getTotal());
tr069BindingVOPage.setRecords(collect);
return tr069BindingVOPage;
}
}

@ -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};
</select>
<select id="tr069BindingDevTypePage" resultType="com.bellmann.model.bo.DeviceTypePageBO">
SELECT
itms_device_type.dev_type_id,
itms_device_type.dev_vendor_name,
itms_device_type.dev_type_name,
itms_device_type.dev_hard_ver,
itms_device_type_ver.dev_type_ver_status,
itms_device_type_ver.soft_ver
FROM
itms_device_type
INNER JOIN itms_device_type_ver ON itms_device_type.dev_type_id = itms_device_type_ver.dev_type_id
INNER JOIN itms_devtypever_sysdomain_map ON itms_devtypever_sysdomain_map.type_and_ver_id = itms_device_type_ver.type_and_ver_id
INNER JOIN itms_tr069_ver ON itms_tr069_ver.tr069_ver_id = itms_device_type_ver.tr069_ver_id
WHERE
itms_devtypever_sysdomain_map.sys_domain_id = #{domainId}
<if test="query.devVendorName!=null and query.devVendorName!=''">
AND itms_device_type.dev_vendor_name = #{query.devVendorName}
</if>
<if test="query.devTypeName!=null and query.devTypeName!=''">
AND itms_device_type.dev_type_name = #{query.devTypeName}
</if>
<if test="query.devHardVer!=null and query.devHardVer!=''">
AND itms_device_type.dev_hard_ver = #{query.devHardVer}
</if>
</select>
</mapper>

Loading…
Cancel
Save