package com.hzs.system.config.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.system.config.BdMemberSpecialCurrency;
import com.hzs.common.domain.system.config.ext.BdMemberSpecialCurrencyExt;
import com.hzs.common.domain.system.config.ext.BdMemberSpecialDetailExt;
import com.hzs.system.config.param.BdMemberSpecialCurrencyParam;
import com.hzs.system.config.param.BdMemberSpecialCurrencySaveParam;

import java.util.List;

/**
 * 会员特殊消费配置 服务类
 *
 * @author hzs
 * @since 2025-02-20
 */
public interface IBdMemberSpecialCurrencyService extends IService<BdMemberSpecialCurrency> {

    /**
     * 查询配置列表
     *
     * @param param
     * @return
     */
    List<BdMemberSpecialCurrencyExt> listData(BdMemberSpecialCurrencyParam param);

    /**
     * 查询配置数据
     *
     * @param pkId
     * @return
     */
    BdMemberSpecialCurrencyExt getData(Integer pkId);

    /**
     * 保存配置数据
     *
     * @param param
     * @param userId
     */
    void saveData(BdMemberSpecialCurrencySaveParam param, Long userId);

    /**
     * 删除配置
     *
     * @param pkId   配置ID
     * @param userId
     */
    void deleteData(Integer pkId, Long userId);

    /**
     * 查询会员配置
     *
     * @param pkMember 会员ID
     * @param specialArea 所属专区
     * @return
     */
    List<BdMemberSpecialDetailExt> listMemberDetail(Long pkMember, Integer specialArea);

}
