package org.dromara.payment.merchant.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.payment.merchant.domain.BusMerchant;
import org.dromara.payment.merchant.domain.BusMerchantProduct;
import org.dromara.payment.merchant.domain.bo.BusMerchantBo;
import org.dromara.payment.merchant.domain.bo.BusMerchantProductBo;
import org.dromara.payment.merchant.domain.vo.BusMerchantProductVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.math.BigDecimal;
import java.util.Map;
import java.util.List;

/**
 * 商户产品表Mapper接口
 *
 * @author LionLi
 * @date 2024-04-03
 */
public interface BusMerchantProductMapper extends BaseMapperPlus<BusMerchantProduct, BusMerchantProductVo> {




    /**
     * @Param
     * @Return
     * @Author sunzexing
     * @Date 2024-04-25 14:40
     * 说明：代理商 - 企业产品配置查询
     **/
    Page<BusMerchantProductVo>  selBusMerProByTypeList(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper);


    /***
     * 根据商户，服务商查询产品信息
     * @param wrapper
     * @return
     */
    List<BusMerchantProductVo> selBusMerProList(@Param(Constants.WRAPPER) Wrapper wrapper);


    /**
     * @Param
     * @Return
     * @Author sunzexing
     * @Date 2024-04-25 18:16
     * 说明：根据产品编码，代理商编码，业务类型，查询最小的代理商服务费率
     **/

    BigDecimal selMinChargeByAgentAndBusType(Map map);


    int updateMerProInfos(BusMerchantProductBo bo);


    /***
     *
     * @return
     */
    int updateMerProInfosService();

}
