package com.sqx.modules.pay.service;

import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.pay.dto.GetPayParamDTO;
import com.sqx.modules.pay.entity.PayDetails;

public interface PayDetailsService {

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

    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);

    Result selectPayDetailsById(Integer page, Integer limit, Long userId, String startTime, String endTime);

    /**
     * 根据订单编号查找
     * @param orderNo 订单编号
     * @return 支付订单
     */
    PayDetails getByOrderNo(String orderNo);

    /**
     * 新增支付订单
     * @param dto 交易参数
     * @param payParam 支付参数
     */
    void addPayDetail(GetPayParamDTO dto, String payParam);

    void updateDetail(PayDetails payDetails);
}
