package com.kxs.product.biz.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kxs.common.core.util.R;
import com.kxs.product.api.dto.kxsapp.merchant.MachineRatioDTO;
import com.kxs.product.api.dto.kxsapp.merchant.MerchantListDTO;
import com.kxs.product.api.dto.kxsapp.merchant.ToMerchantMakerDTO;
import com.kxs.product.api.model.KxsMerchant;
import com.kxs.product.api.vo.kxsapp.merchant.MerchantListVO;

/**
 * 客小爽商户表(KxsMerchant)表服务接口
 *
 * @author 系统
 * @since 2023-12-20 10:09:35
 */
public interface KxsMerchantService extends IService<KxsMerchant> {
    /**
     * 商户列表
     *
     * @param page 分页对象
     * @param param 查询实体
     * @return 商户列表
     */
    Object merchantList(Page<KxsMerchant> page, MerchantListDTO param);
    /**
     * 商户详情
     *
     * @param merchantId 商户ID
     * @return 商户详情
     */
    Object merchantDetail(Long merchantId);
    /**
     * 转商户型创客
     *
     * @param param 实体对象
     * @return 转商户型创客
     */
    R toMerchantMaker(ToMerchantMakerDTO param);
    /**
     * 汇总数据激活等
     *
     * @param brandId 品牌ID
     * @return 汇总数据激活等
     */
    Object merchantTotal(Integer brandId);

    /**
     * 转商户型创客注册内部调用
     *
     * @param param 参数
     * @return {@link R}
     */
    R changeToMchUser(KxsMerchant param);


    /**
     * 更换机器费率
     *
     * @param param 参数
     * @return {@link R}
     */
    R changeMachineRatio(MachineRatioDTO param);
}

