package com.hfkj.service.rebate;

import com.hfkj.entity.BsRebateActivityAccount;
import com.hfkj.entity.BsRebateMerAccount;
import com.hfkj.service.rebate.model.RebateActivityAccountTradeObject;
import com.hfkj.sysenum.RebateActivityAccountTradeTypeEnum;
import com.hfkj.sysenum.RebateMerAccountTradeTypeEnum;

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

/**
 * @className: BsRebateActivityAccountService
 * @author: HuRui
 * @date: 2023/10/18
 **/
public interface BsRebateActivityAccountService {

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

    /**
     * 创建账户
     * @param account
     */
    void createAccount(BsRebateActivityAccount account);

    /**
     * 查询账户
     *
     * @param activityNo
     * @return
     */
    BsRebateActivityAccount getAccountByActivityNo(String activityNo);

    /**
     * 充值金额
     * @param activityNo 活动编号
     * @param amount    金额
     */
    void recharge(String activityNo, BigDecimal amount);

    /**
     * 回收金额
     * @param activityNo 活动编号
     * @return
     */
    Boolean recover(String activityNo);

    /**
     * 账户交易
     */
    Boolean accountTrade(String activityNo, RebateActivityAccountTradeTypeEnum tradeType, BigDecimal tradeAmount, RebateActivityAccountTradeObject tradeObject);

}
