package com.ruoyi.mall.service;

import java.util.List;
import com.ruoyi.mall.domain.MallPayLog;

/**
 * 支付记录Service接口
 *
 * @author LCL
 * @date 2023-10-26
 */
public interface IMallPayLogService
{
    /**
     * 查询支付记录
     *
     * @param payId 支付记录主键
     * @return 支付记录
     */
    public MallPayLog selectMallPayLogByPayId(Long payId);

    /**
     * 查询支付记录列表
     *
     * @param mallPayLog 支付记录
     * @return 支付记录集合
     */
    public List<MallPayLog> selectMallPayLogList(MallPayLog mallPayLog);

    /**
     * 新增支付记录
     *
     * @param mallPayLog 支付记录
     * @return 结果
     */
    public int insertMallPayLog(MallPayLog mallPayLog);

    /**
     * 修改支付记录
     *
     * @param mallPayLog 支付记录
     * @return 结果
     */
    public int updateMallPayLog(MallPayLog mallPayLog);

    /**
     * 批量删除支付记录
     *
     * @param payIds 需要删除的支付记录主键集合
     * @return 结果
     */
    public int deleteMallPayLogByPayIds(Long[] payIds);

    /**
     * 删除支付记录信息
     *
     * @param payId 支付记录主键
     * @return 结果
     */
    public int deleteMallPayLogByPayId(Long payId);

    /**
     * 根据支付单号查询支付记录
     *
     * @param outTradeNo 微信官方支付单号
     * @return 支付记录
     */
    public MallPayLog selectMallPayLogByOutTradeNo(String outTradeNo);

    /**
     * 修改支付记录及用户信息
     *
     * @param outTradeNo 微信官方支付单号
     * @return 结果
     */
    public int updateMallPayLogAndMember(String outTradeNo);

    /**修改支付记录及报告审核类型
     *
     * @param outTradeNo 微信官方支付单号
     * @return
     */
    int updateMallPayLogAndReport(String outTradeNo);

    /**
     * 用户返优惠券
     *
     * @param outTradeNo 微信官方支付单号
     * @return 结果
     */
    public int giveMemberCoupon(String outTradeNo);

    /**
     * 修改用户优惠券状态
     *
     * @param outTradeNo 微信官方支付单号
     * @return 结果
     */
    public int updateMemberCouponStatus(String outTradeNo);
}
