package com.thinkgem.jeesite.modules.pay.dao;

import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
import com.thinkgem.jeesite.modules.pay.entity.BenefitEntity;
import com.thinkgem.jeesite.modules.pay.entity.OrderEntity;
import com.thinkgem.jeesite.modules.pay.entity.UserRateEntity;
import com.thinkgem.jeesite.modules.user.entity.CardEntity;

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

@MyBatisDao
public interface PayApiDao {

    void saveOrderInfo(OrderEntity orderEntity);

    List<UserRateEntity> getCDEUsers(String[] pathIds);

    List<UserRateEntity> getSABUsers(UserRateEntity userRateEntity);

    void saveBenefitInfo(BenefitEntity benefitEntity);

    void updateOrderStatus(OrderEntity orderEntity);
    int updateOrderTradeNo(OrderEntity orderEntity);

    OrderEntity getOrder(OrderEntity orderEntity);

    // 按照条件获取分润之和
    BenefitEntity getBenefitSum(BenefitEntity benefitEntity);

    void updateBenefit(BenefitEntity benefitEntity);

    void deleteBenefit(BenefitEntity benefitEntity);

    // 查询状态为支付中的状态
    List<OrderEntity> getOrderListTimeing(OrderEntity orderEntity);

    //获取不同渠道最新使用的额度
    Double getLastLimit(Map<String, String> map);

    //获取用户的费率信息
    UserRateEntity getUpUser(Map<String, String> map);

    //高级别用户获取分润之和
    BenefitEntity getBenefitSumHighLevel(BenefitEntity benefitEntity);

    //高级别用户获取总提现之和
    BenefitEntity getBenefitSumHighLevelM(BenefitEntity benefitEntity);
}
