From 73c0431076a0c5b32be4360f1bea2603c3af7bd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 18 May 2026 17:47:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(product-model):=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=8A=A5=E4=BB=B7=E4=BA=A7=E5=93=81=E6=A8=A1=E5=9E=8B=E7=9A=84?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将搜索方法searchForQuotation的返回类型由List改为分页类型IPage - 修改Mapper接口和XML,实现基于分页的查询逻辑 - Controller层响应数据类型调整为PageData以支持分页展示 - 在请求对象QuotationProductModelSearchRequest中继承分页请求参数,规范分页请求 - 优化SQL查询条件,修正部分拼写错误和缩进格式 - 统一分页参数传递,提升查询性能与用户体验 --- .../request/QuotationProductModelSearchRequest.java | 2 +- .../controller/app/ProductModelController.java | 3 ++- .../repository/mapper/ProductModelMapper.java | 3 ++- .../repository/service/IProductModelService.java | 3 ++- .../service/impl/ProductModelServiceImpl.java | 5 +++-- .../src/main/resources/mapper/ProductModelMapper.xml | 10 +++++----- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/QuotationProductModelSearchRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/QuotationProductModelSearchRequest.java index d7db0a84..7adf9da8 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/QuotationProductModelSearchRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/QuotationProductModelSearchRequest.java @@ -6,7 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; @Data -public class QuotationProductModelSearchRequest { +public class QuotationProductModelSearchRequest extends PageRequest{ /** * 模块id diff --git a/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/app/ProductModelController.java b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/app/ProductModelController.java index f38673dd..6a477ce3 100644 --- a/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/app/ProductModelController.java +++ b/nflg-mobilebroken-quotation/src/main/java/com/nflg/mobilebroken/quotation/controller/app/ProductModelController.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.quotation.controller.app; import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.PageData; import com.nflg.mobilebroken.common.pojo.request.QuotationProductModelSearchRequest; import com.nflg.mobilebroken.common.pojo.vo.ProductModelInfoVO; import com.nflg.mobilebroken.common.pojo.vo.QuotationProductModelInfoVO; @@ -29,7 +30,7 @@ public class ProductModelController extends ControllerBase { * 搜索 */ @PostMapping("/search") - public ApiResult> search(@Valid @RequestBody QuotationProductModelSearchRequest request){ + public ApiResult> search(@Valid @RequestBody QuotationProductModelSearchRequest request){ return ApiResult.success(productModelService.searchForQuotation(request, MultilingualUtil.getLanguage())); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelMapper.java index 3c294e65..94957181 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/ProductModelMapper.java @@ -1,6 +1,7 @@ package com.nflg.mobilebroken.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nflg.mobilebroken.common.pojo.request.ModelConfigSearchRequest; import com.nflg.mobilebroken.common.pojo.request.ProductModelSearchRequest; @@ -34,7 +35,7 @@ public interface ProductModelMapper extends BaseMapper { Page searchForQuotation(ModelConfigSearchRequest request, Page page); - List searchForQuotation1(QuotationProductModelSearchRequest request, String language); + IPage searchForQuotation1(QuotationProductModelSearchRequest request, String language, Page page); QuotationProductModelInfoVO getInfoForQuotation(Long id, String language); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelService.java index f3d3392b..d9815b49 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IProductModelService.java @@ -1,5 +1,6 @@ package com.nflg.mobilebroken.repository.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.request.*; @@ -54,7 +55,7 @@ public interface IProductModelService extends IService { List getEffectives(); - List searchForQuotation(QuotationProductModelSearchRequest request, String language); + IPage searchForQuotation(QuotationProductModelSearchRequest request, String language); QuotationProductModelInfoVO getInfoForQuotation(Long id, String language); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java index fce0c458..bcd69ceb 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/ProductModelServiceImpl.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.constant.PublishState; @@ -410,8 +411,8 @@ public class ProductModelServiceImpl extends ServiceImpl searchForQuotation(QuotationProductModelSearchRequest request, String language) { - return baseMapper.searchForQuotation1(request,language); + public IPage searchForQuotation(QuotationProductModelSearchRequest request, String language) { + return baseMapper.searchForQuotation1(request,language,new Page<>(request.getPage(), request.getPageSize())); } @Override diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelMapper.xml index ebe4bcd4..fe48c9bf 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/ProductModelMapper.xml @@ -66,8 +66,8 @@ SELECT pm.*, pmii.`desc`, pmii.feature ,(SELECT `name` FROM product_type WHERE batch_number=pm.type_number AND state!=2 ORDER BY state DESC LIMIT 1) as 'typeName' FROM product_model pm - INNER JOIN product_model_intro pmi ON pm.id = pmi.model_id - INNER JOIN product_model_intro_item pmii ON pmi.id = pmii.model_intro_id + INNER JOIN product_model_intro pmi ON pm.id = pmi.model_id + INNER JOIN product_model_intro_item pmii ON pmi.id = pmii.model_intro_id WHERE pm.state = 1 AND pm.`enable` = 1 AND pmi.state = 1 @@ -137,9 +137,9 @@ AND dis.model_id is not null - - - + + AND pm.`no` like concat('%', #{request.name}, '%') + ORDER BY pm.sort,pm.id DESC