default PageResult<PieceConfigurationOrderDO> selectPage(PieceConfigurationOrderPageReqVO reqVO) {
        LambdaQueryWrapperX<PieceConfigurationOrderDO> queryWrapper = new LambdaQueryWrapperX<PieceConfigurationOrderDO>()
                .likeIfPresent(PieceConfigurationOrderDO::getOrderCode, reqVO.getOrderCode())
                .eqIfPresent(PieceConfigurationOrderDO::getPieceItem, reqVO.getPieceItem())
                .eqIfPresent(PieceConfigurationOrderDO::getUnitPrice, reqVO.getUnitPrice())
                .eqIfPresent(PieceConfigurationOrderDO::getUnitId, reqVO.getUnitId())
                .likeIfPresent(PieceConfigurationOrderDO::getUnitName, reqVO.getUnitName())
                .eqIfPresent(PieceConfigurationOrderDO::getStatus, reqVO.getStatus())
                .betweenIfPresent(PieceConfigurationOrderDO::getCreateTime, reqVO.getCreateTime())
                .eqIfPresent(PieceConfigurationOrderDO::getCreator, reqVO.getCreator())
                .orderByDesc(PieceConfigurationOrderDO::getId);
        queryWrapper.apply(reqVO.getCompanyId() != null, "FIND_IN_SET('" + reqVO.getCompanyId() + "',company_id)");
        queryWrapper.apply(reqVO.getDeptId() != null, "FIND_IN_SET('" + reqVO.getDeptId() + "',dept_id)");
        return selectPage(reqVO, queryWrapper);
            LambdaQueryWrapper<PieceConfigurationOrderDO> queryWrapper = new LambdaQueryWrapper<PieceConfigurationOrderDO>()
                    .eq(PieceConfigurationOrderDO::getPieceItem, createReqVO.getPieceItem())
                    .and(wrapper -> {
                        if (createReqVO.getCompanyId() != null) {
                            wrapper.apply("FIND_IN_SET({0}, company_id)", createReqVO.getCompanyId());
                        }
                        if (createReqVO.getDeptId() != null) {
                            wrapper.apply("FIND_IN_SET({0}, dept_id)", createReqVO.getDeptId());
                        }
                    });
            PieceConfigurationOrderDO matchedOrder = pieceConfigurationOrderMapper.selectOne(queryWrapper, false);

通过find_in_set函数实现数据库逗号分隔查询

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐