
package com.tmerclub.cloud.api.user.feign;

import com.tmerclub.cloud.api.user.dto.FinanceDetailDTO;
import com.tmerclub.cloud.api.user.dto.UserTypeDTO;
import com.tmerclub.cloud.api.user.vo.FinanceDetailExcelVO;
import com.tmerclub.cloud.api.user.vo.FinanceDetailVO;
import com.tmerclub.cloud.api.user.vo.UserApiVO;
import com.tmerclub.cloud.common.database.vo.PageVO;
import com.tmerclub.cloud.common.response.ServerResponseEntity;

import java.util.List;

/**
 * 会员等级日志
 * @author tmerclub
 */
public interface UserLevelLogFeignClient {

    /**
     * 获取会员等级购买金额，并生成购买vip的订单
     * @param userLevelLogId 会员等级购买记录id
     * @return
     */
    ServerResponseEntity<Long> getPayAmount(Long userLevelLogId);

    /**
     * 获取会员等级购买记录是否已经支付
     * @param userLevelLogId 会员等级购买记录id
     * @return
     */
    ServerResponseEntity<Integer> getIsPay(Long userLevelLogId);

    /**
     * 获取指定时间内的用户类型
     * @param userTypeDTO
     * @return
     */
    UserApiVO getUserTypeAndUserNameAtTime(UserTypeDTO userTypeDTO);

    /**
     * 获取会员购买财务对账信息
     * @param financeDetailDTO
     * @return
     */
    ServerResponseEntity<PageVO<FinanceDetailVO>> pageFinanceDetail(FinanceDetailDTO financeDetailDTO);

    /**
     * 获取会员购买财务对账信息
     * @param financeDetailDTO
     * @return
     */
    ServerResponseEntity<List<FinanceDetailExcelVO>> listFinanceDetail(FinanceDetailDTO financeDetailDTO);
}
