package com.jeesharp.business.modules.common.support;

import cn.hutool.core.collection.CollUtil;

import java.util.List;

/**
 * 列表 IN 查询辅助：主键列表转 CSV，供 Mapper {@code FIND_IN_SET} 使用。
 * <p>规避 jeesharp 分页 count 未复制 MyBatis foreach additionalParameters，导致 {@code __frch_*} 绑定失败。</p>
 *
 * @author jeesharp
 * @since 2026-07-03
 */
public final class QueryInCsvSupport {

    private QueryInCsvSupport() {
    }

    /**
     * 将主键列表转为逗号分隔字符串（雪花 ID 仅数字，不含逗号）。
     *
     * @param ids 主键列表
     * @return CSV；列表为空时返回 {@code null}
     */
    public static String toIdInCsv(List<String> ids) {
        if (CollUtil.isEmpty(ids)) {
            return null;
        }
        return CollUtil.join(ids, ",");
    }
}
