package com.fzm.mall.server.admin.finance_center.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fzm.mall.server.admin.finance_center.entity.vo.MerchantAssetsFlowVO;
import com.fzm.mall.server.admin.finance_center.entity.vo.MerchantAssetsVO;
import com.fzm.mall.server.admin.finance_center.model.MerchantAssets;
import com.baomidou.mybatisplus.extension.service.IService;

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

/**
 * @author wangp
 * @date 2021/4/29 15:53
 * @description 服务类
 * @since JDK 1.8
 */
public interface IMerchantAssetsService extends IService<MerchantAssets> {
    /**
     * 根据商户id和资产类型查询商户资产
     *
     * @param merchantId 商户id
     * @param coin       资产类型
     * @return 商户资产
     */
    MerchantAssets queryByMerchantIdAndCoin(String merchantId, String coin);

    /**
     * 根据商户id和资产类型查询商户资产
     *
     * @param merchantId 商户id
     * @param isBase     是否是平台基础积分
     * @return 商户资产
     */
    MerchantAssets queryByMerchantIdAndCoin(String merchantId, boolean isBase);

    /**
     * 分页查询-商户资产
     *
     * @param merchantId 商户编号
     * @param account    商户登陆账号
     * @param type       资产类型
     * @param pageNum    当前页数
     * @param pageSize   每页个数
     * @return
     */
    IPage<MerchantAssetsVO> page(String merchantId, String account, String type, Integer pageNum, Integer pageSize);

    /**
     * 资产类型
     */
    List<String> assetsType();

    void updateAssets(String merchantId, String account, String coin, BigDecimal amount);
}
