feat(repository): 优化设备组件查询功能并添加文件类型获取接口- 重构 DeviceComponentQuery 类,增加 componentSort 字段用于组件排序

- 更新 DeviceComponentMapper 接口和 XML 文件,实现按组件排序查询
- 在 FileUploadRecordMapper 中添加 getFileTypes 方法,获取文件类型列表
- 在 FileUploadRecordServiceImpl 和 IFileUploadRecordService 中实现 getFileTypes 方法
- 在 FileController 中添加 getFileTypes 接口,用于获取文件类型列表
This commit is contained in:
曹鹏飞 2025-04-02 18:10:41 +08:00
parent 25d0fbeb81
commit ffce8c212b
12 changed files with 75 additions and 37 deletions

View File

@ -10,15 +10,15 @@ import com.google.common.collect.Sets;
import com.nflg.mobilebroken.admin.annotation.ApiMark;
import com.nflg.mobilebroken.admin.pojo.dto.DeviceComponentDTO;
import com.nflg.mobilebroken.admin.pojo.dto.DeviceComponentDetailDTO;
import com.nflg.mobilebroken.admin.pojo.query.DeviceComponentQuery;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentImportExcel;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentDetailVO;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO;
import com.nflg.mobilebroken.common.constant.STATE;
import com.nflg.mobilebroken.common.exception.NflgException;
import com.nflg.mobilebroken.common.pojo.ApiResult;
import com.nflg.mobilebroken.common.pojo.PageData;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentImportExcel;
import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentDetailVO;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO;
import com.nflg.mobilebroken.common.util.AdminUserUtil;
import com.nflg.mobilebroken.common.util.EecExcelUtil;
import com.nflg.mobilebroken.common.util.VUtils;

View File

@ -150,4 +150,14 @@ public class FileController extends ControllerBase {
fileUploadRecordService.removeBatchByIds(ids);
return ApiResult.success();
}
/**
* 获取文件类型列表
* @return 文件类型列表
*/
@PostMapping("getFileTypes")
@ApiMark(moduleName = "文件管理", apiName = "获取文件类型列表")
public ApiResult<List<String>> getFileTypes(){
return ApiResult.success(fileUploadRecordService.getFileTypes());
}
}

View File

@ -1,13 +0,0 @@
package com.nflg.mobilebroken.admin.pojo.query;
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = false)
@Data
public class DeviceComponentQuery extends PageBaseQuery {
private String modelNo;
private String component;
}

View File

@ -0,0 +1,18 @@
package com.nflg.mobilebroken.common.pojo.query;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = false)
@Data
public class DeviceComponentQuery extends PageBaseQuery{
private String modelNo;
private String component;
/**
* 组件排序true:有组件在前false:无组件在前null:按id倒序
*/
private Boolean componentSort;
}

View File

@ -1,11 +1,12 @@
package com.nflg.mobilebroken.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel;
import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery;
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO;
import com.nflg.mobilebroken.repository.entity.DeviceComponent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -26,7 +27,7 @@ public interface DeviceComponentMapper extends BaseMapper<DeviceComponent> {
* @param query
* @return
*/
Page<DeviceComponentVO> selectListByPage(@Param("page") Page<PageBaseQuery> page, @Param("query") PageBaseQuery query);
Page<DeviceComponentVO> selectListByPage(@Param("page") Page<PageBaseQuery> page, @Param("query") DeviceComponentQuery query);
List<DevComponentExcel> getExportData();
}

View File

@ -3,6 +3,8 @@ package com.nflg.mobilebroken.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nflg.mobilebroken.repository.entity.FileUploadRecord;
import java.util.List;
/**
* <p>
* Mapper 接口
@ -13,4 +15,5 @@ import com.nflg.mobilebroken.repository.entity.FileUploadRecord;
*/
public interface FileUploadRecordMapper extends BaseMapper<FileUploadRecord> {
List<String> getFileTypes();
}

View File

@ -1,14 +1,13 @@
package com.nflg.mobilebroken.repository.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel;
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO;
import com.nflg.mobilebroken.repository.entity.DeviceComponent;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
@ -27,7 +26,7 @@ public interface IDeviceComponentService extends IService<DeviceComponent> {
* @param query
* @return
*/
Page<DeviceComponentVO> selectListByPage(@Param("query") PageBaseQuery query);
Page<DeviceComponentVO> selectListByPage(@Param("query") DeviceComponentQuery query);
DeviceComponent saveComponent(DeviceComponent component);

View File

@ -6,6 +6,8 @@ import com.nflg.mobilebroken.common.pojo.request.FileSearchRequest;
import com.nflg.mobilebroken.common.pojo.vo.FileVO;
import com.nflg.mobilebroken.repository.entity.FileUploadRecord;
import java.util.List;
/**
* <p>
* 服务类
@ -17,4 +19,6 @@ import com.nflg.mobilebroken.repository.entity.FileUploadRecord;
public interface IFileUploadRecordService extends IService<FileUploadRecord> {
PageData<FileVO> search(FileSearchRequest request);
List<String> getFileTypes();
}

View File

@ -1,13 +1,13 @@
package com.nflg.mobilebroken.repository.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel;
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
import com.nflg.mobilebroken.common.pojo.query.DeviceComponentQuery;
import com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO;
import com.nflg.mobilebroken.repository.entity.DeviceComponent;
import com.nflg.mobilebroken.repository.mapper.DeviceComponentMapper;
import com.nflg.mobilebroken.repository.service.IDeviceComponentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
@ -27,11 +27,10 @@ public class DeviceComponentServiceImpl extends ServiceImpl<DeviceComponentMappe
/**
* 分页查询
* @param page
* @param query
* @return
*/
public Page<DeviceComponentVO> selectListByPage(@Param("query") PageBaseQuery query){
public Page<DeviceComponentVO> selectListByPage(@Param("query") DeviceComponentQuery query){
return this.getBaseMapper().selectListByPage(new Page<>(query.getPage(),query.getPageSize()) ,query);
}

View File

@ -13,6 +13,7 @@ import com.nflg.mobilebroken.repository.service.IFileUploadRecordService;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.util.List;
import java.util.Objects;
/**
@ -46,4 +47,9 @@ public class FileUploadRecordServiceImpl extends ServiceImpl<FileUploadRecordMap
.page(new Page<>(request.getPage(), request.getPageSize()));
return PageUtil.convert(datas, d -> Convert.convert(FileVO.class, d));
}
@Override
public List<String> getFileTypes() {
return baseMapper.getFileTypes();
}
}

View File

@ -2,17 +2,25 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.mobilebroken.repository.mapper.DeviceComponentMapper">
<sql id="whr">
<select id="selectListByPage" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO">
select * from device_component
<where>
<if test="query.modelNo!=null and query.modelNo!=''">
and model_no=#{query.modelNo}
and model_no like concat('%',#{query.modelNo} ,'%')
</if>
<if test="query.component!=null and query.component!=''">
and component like concat('%',#{query.component} ,"%")
and component like concat('%',#{query.component} ,'%')
</if>
</where>
<if test="query.componentSort==null">
ORDER BY id DESC
</if>
<if test="query.componentSort==true">
ORDER BY LENGTH(component) DESC,id DESC
</if>
<if test="query.componentSort==false">
ORDER BY LENGTH(component),id DESC
</if>
</sql>
<select id="selectListByPage" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceComponentVO">
select * from device_component where 1=1
<include refid="whr" />
</select>
<select id="getExportData" resultType="com.nflg.mobilebroken.common.pojo.dto.DevComponentExcel">

View File

@ -2,4 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.mobilebroken.repository.mapper.FileUploadRecordMapper">
<select id="getFileTypes" resultType="java.lang.String">
select distinct file_type from file_upload_record
</select>
</mapper>