package com.sqx.modules.pay.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.pay.entity.PayDetails;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;

public interface PayDetailsService extends IService<PayDetails> {

    PageUtils selectPayDetails(int page, int limit, String startTime, String endTime, Long userId, Integer state);

    PageUtils wxPayJsApiMoneyDetails(int page, int limit,int classfiy,Long userId);

    Result findTopUpMoney(Integer page, Integer limit, PayDetails payDetails, String startTime, String endTime);

    Double selectSumPay(String createTime, String endTime, Long userId);

    PageUtils payMemberAnalysis(int page, int limit, String time, Integer flag);

    PageUtils selectUserMemberList(int page, int limit, String phone);

    Double selectSumMember(String time, Integer flag);

    Double selectSumPayByState(String time, Integer flag, Integer state);

    Double selectSumPayByClassify(String time, Integer flag, Integer classify,Integer payClassify);

    Double instantselectSumPay(String date, Long userId);

    BigDecimal getRechargeMoney(Integer type, String time, Integer flag);

    BigDecimal getUserAccumulateMoney(@Param("userId") Long userId);

    Result refund(Long id);
}
