package com.hfkj.service.merchant;

import com.hfkj.entity.BsMerchantAccount;
import com.hfkj.entity.BsOrderRefund;

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

/**
 * @className: BsMerchantAccountService
 * @author: HuRui
 * @date: 2024/7/2
 **/
public interface BsMerchantAccountService {

    /**
     * 编辑数据
     * @param account
     */
    void editData(BsMerchantAccount account);

    /**
     * 查询账户
     * @param merNo 商户号
     */
    BsMerchantAccount getAccount(String merNo);

    /**
     * 充值
     * @param merNo     商户号
     * @param amount    金额
     */
    void recharge(String merNo, BigDecimal amount) throws Exception;

    /**
     * 扣除
     * @param merNo            商户号
     * @param amount            金额
     * @param otherParam     其他参数
     */
    void consume(String merNo, BigDecimal amount, Map<String, Object> otherParam) throws Exception;

    /**
     * 退款
     * @param merNo
     * @param amount
     * @param orderRefund
     */
    void refund(String merNo, BigDecimal amount, BsOrderRefund orderRefund) throws Exception;

    /**
     * 查询商户列表
     * @param param
     * @return
     */
    List<TreeMap<String,Object>> getMerList(Map<String,Object> param);
}

