package com.jeesharp.business.modules.member.service;

import com.jeesharp.business.modules.member.entity.MemberLevelFeature;
import com.jeesharp.business.modules.member.vo.MemberLevelFeatureQueryVO;
import com.jeesharp.framework.mybatis.core.service.BaseInterface;

import java.util.List;

/**
 * 会员等级功能权限服务接口
 *
 * @author jeesharp
 * @version 2024-01-24
 */
public interface MemberLevelFeatureService extends BaseInterface<MemberLevelFeature, MemberLevelFeatureQueryVO> {

    /**
     * 根据会员等级排序值获取该等级拥有的功能权限码列表（含低等级功能）
     *
     * @param levelSort 等级排序值（level_sort，数值越大等级越高）
     * @param tenantId  租户ID（可为空）
     * @return 功能权限码列表
     */
    List<String> getFeatureCodesByLevelSort(Integer levelSort, String tenantId);

    /**
     * 根据功能权限码列表查询功能配置（用于填充 featureName、featureDesc）
     *
     * @param featureCodes 功能权限码列表
     * @return 功能配置列表
     */
    List<MemberLevelFeature> listByFeatureCodes(List<String> featureCodes);
}
