package vip.xiaonuo.money.service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import vip.xiaonuo.common.pojo.CommonResult;
import vip.xiaonuo.money.entity.MoneyBorrowWarning;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.money.entity.vo.MoneyBankNameVo;
import vip.xiaonuo.money.entity.vo.MoneyBorrowPriceVo;
import vip.xiaonuo.money.param.MoneyBorrowDetailParam;
import vip.xiaonuo.money.param.MoneyBorrowParam;
import vip.xiaonuo.money.param.MoneyInOutParam;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 财务临近还款期预警 服务类
 * </p>
 *
 * @author author
 * @since 2024-11-20
 */
public interface IMoneyBorrowWarningService extends IService<MoneyBorrowWarning> {

    List<MoneyBorrowWarning> listBorrowWarning(MoneyInOutParam moneyInOutParam);

    //借款总金额
    JSONObject getMoneyCount(MoneyBorrowParam borrowParam);

    //银行借款金额分析
    List<MoneyBankNameVo> bankRank(MoneyBorrowParam borrowParam);

    //年月借款分析
    List<MoneyBorrowPriceVo> borrowMoney(MoneyBorrowParam borrowParam);

    //借款明细表
    Page<MoneyBorrowWarning> listBorrowDetail(MoneyBorrowDetailParam detailParam);

    //新增借款
    CommonResult add(MoneyBorrowWarning moneyBorrowWarning);

    //新增修改
    void update(MoneyBorrowWarning moneyBorrowWarning);

    //新增删除
    void remove(Map<String, String> paramsMap);

    //借款银行列表
    List<MoneyBorrowWarning> listBank(Map<String, String> paramsMap);
}
