liu
2026-10-26 dddc473c582e983674913163dd4e93f840effbdb
fix(search): 修复多处搜索条件未生效的问题

- CRM 客户:补 customerType(客户分类)、creditLevel(信用等级)查询条件
- MES 销售退货:补 saleOrderId(销售订单)查询条件,权限过滤分支同步
- BI 图表配置:分页接口新增 name(图表名称)模糊查询
- BI 数据源配置:分页接口新增 name(名称)、type(类型)查询条件
- 用户分页:新增 keyword 参数,支持账号或昵称任一模糊匹配

Co-Authored-By: Claude <noreply@anthropic.com>
已修改10个文件
32 ■■■■■ 文件已修改
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiChartConfigController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiDataSourceConfigController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiChartConfigService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiChartConfigServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiDataSourceConfigService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiDataSourceConfigServiceImpl.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/customer/CrmCustomerMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/returnsales/MesWmReturnSalesMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiChartConfigController.java
@@ -70,9 +70,10 @@
    @PreAuthorize("@ss.hasPermission('bi:chart-config:query')")
    public CommonResult<PageResult<BiChartConfigDO>> getPage(
            @RequestParam(value = "dashboardId", required = false) Long dashboardId,
            @RequestParam(value = "name", required = false) String name,
            @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        return success(chartConfigService.getPage(dashboardId, pageNo, pageSize));
        return success(chartConfigService.getPage(dashboardId, name, pageNo, pageSize));
    }
    @GetMapping("/get-import-template")
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiDataSourceConfigController.java
@@ -69,9 +69,11 @@
    @Operation(summary = "分页查询数据源配置")
    @PreAuthorize("@ss.hasPermission('bi:data-source-config:query')")
    public CommonResult<PageResult<BiDataSourceConfigDO>> getPage(
            @RequestParam(value = "name", required = false) String name,
            @RequestParam(value = "type", required = false) String type,
            @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
        return success(dataSourceConfigService.getPage(pageNo, pageSize));
        return success(dataSourceConfigService.getPage(name, type, pageNo, pageSize));
    }
    @GetMapping("/get-import-template")
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiChartConfigService.java
@@ -38,7 +38,7 @@
    /**
     * 分页查询图表配置
     */
    PageResult<BiChartConfigDO> getPage(Long dashboardId, Integer pageNo, Integer pageSize);
    PageResult<BiChartConfigDO> getPage(Long dashboardId, String name, Integer pageNo, Integer pageSize);
    /**
     * 批量导入图表配置
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiChartConfigServiceImpl.java
@@ -70,10 +70,11 @@
    }
    @Override
    public PageResult<BiChartConfigDO> getPage(Long dashboardId, Integer pageNo, Integer pageSize) {
    public PageResult<BiChartConfigDO> getPage(Long dashboardId, String name, Integer pageNo, Integer pageSize) {
        IPage<BiChartConfigDO> page = mapper.selectPage(new Page<>(pageNo, pageSize),
                new LambdaQueryWrapperX<BiChartConfigDO>()
                        .eqIfPresent(BiChartConfigDO::getDashboardId, dashboardId)
                        .likeIfPresent(BiChartConfigDO::getName, name)
                        .orderByAsc(BiChartConfigDO::getSort));
        return new PageResult<>(page.getRecords(), page.getTotal());
    }
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiDataSourceConfigService.java
@@ -38,7 +38,7 @@
    /**
     * 分页查询数据源配置
     */
    PageResult<BiDataSourceConfigDO> getPage(Integer pageNo, Integer pageSize);
    PageResult<BiDataSourceConfigDO> getPage(String name, String type, Integer pageNo, Integer pageSize);
    /**
     * 批量导入数据源配置
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/service/config/BiDataSourceConfigServiceImpl.java
@@ -60,9 +60,11 @@
    }
    @Override
    public PageResult<BiDataSourceConfigDO> getPage(Integer pageNo, Integer pageSize) {
    public PageResult<BiDataSourceConfigDO> getPage(String name, String type, Integer pageNo, Integer pageSize) {
        IPage<BiDataSourceConfigDO> page = mapper.selectPage(new Page<>(pageNo, pageSize),
                new LambdaQueryWrapperX<BiDataSourceConfigDO>()
                        .likeIfPresent(BiDataSourceConfigDO::getName, name)
                        .eqIfPresent(BiDataSourceConfigDO::getType, type)
                        .orderByDesc(BiDataSourceConfigDO::getCreateTime));
        return new PageResult<>(page.getRecords(), page.getTotal());
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/dal/mysql/customer/CrmCustomerMapper.java
@@ -67,6 +67,8 @@
                .eqIfPresent(CrmCustomerDO::getMobile, pageReqVO.getMobile())
                .eqIfPresent(CrmCustomerDO::getIndustryId, pageReqVO.getIndustryId())
                .eqIfPresent(CrmCustomerDO::getLevel, pageReqVO.getLevel())
                .eqIfPresent(CrmCustomerDO::getCustomerType, pageReqVO.getCustomerType())
                .eqIfPresent(CrmCustomerDO::getCreditLevel, pageReqVO.getCreditLevel())
                .eqIfPresent(CrmCustomerDO::getSource, pageReqVO.getSource())
                .eqIfPresent(CrmCustomerDO::getFollowUpStatus, pageReqVO.getFollowUpStatus());
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/returnsales/MesWmReturnSalesMapper.java
@@ -23,6 +23,7 @@
                .likeIfPresent(MesWmReturnSalesDO::getCode, reqVO.getCode())
                .likeIfPresent(MesWmReturnSalesDO::getName, reqVO.getName())
                .likeIfPresent(MesWmReturnSalesDO::getSalesOrderCode, reqVO.getSalesOrderCode())
                .eqIfPresent(MesWmReturnSalesDO::getSaleOrderId, reqVO.getSaleOrderId())
                .eqIfPresent(MesWmReturnSalesDO::getClientId, reqVO.getClientId())
                .eqIfPresent(MesWmReturnSalesDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(MesWmReturnSalesDO::getReturnDate, reqVO.getReturnDate())
@@ -37,6 +38,7 @@
                .likeIfPresent(MesWmReturnSalesDO::getCode, reqVO.getCode())
                .likeIfPresent(MesWmReturnSalesDO::getName, reqVO.getName())
                .likeIfPresent(MesWmReturnSalesDO::getSalesOrderCode, reqVO.getSalesOrderCode())
                .eqIfPresent(MesWmReturnSalesDO::getSaleOrderId, reqVO.getSaleOrderId())
                .eqIfPresent(MesWmReturnSalesDO::getClientId, reqVO.getClientId())
                .eqIfPresent(MesWmReturnSalesDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(MesWmReturnSalesDO::getReturnDate, reqVO.getReturnDate())
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserPageReqVO.java
@@ -25,6 +25,9 @@
    @Schema(description = "用户昵称,模糊匹配", example = "管理员")
    private String nickname;
    @Schema(description = "用户名称/昵称,模糊匹配(账号或昵称任一匹配)", example = "管理员")
    private String keyword;
    @Schema(description = "手机号码,模糊匹配", example = "yudao")
    private String mobile;
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java
@@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.dal.mysql.user;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -34,6 +36,11 @@
                .betweenIfPresent(AdminUserDO::getCreateTime, reqVO.getCreateTime())
                .inIfPresent(AdminUserDO::getDeptId, deptIds)
                .inIfPresent(AdminUserDO::getId, userIds)
                // keyword:账号或昵称任一匹配。注意放在链尾:and() 返回基础 Wrapper,会丢失 likeIfPresent 等扩展方法
                .and(StrUtil.isNotBlank(reqVO.getKeyword()), wrapper -> wrapper
                        .like(AdminUserDO::getUsername, reqVO.getKeyword())
                        .or()
                        .like(AdminUserDO::getNickname, reqVO.getKeyword()))
                .orderByDesc(AdminUserDO::getId));
    }