package com.xingxi.business.PaymentInfo.service;

import com.xingxi.business.PaymentInfo.domain.PaymentInfo;

import java.util.List;

/**
 * 支付信息Service接口
 *
 * @author xingxi
 * @date 2025-03-06
 */
public interface IPaymentInfoService {
    /**
     * 查询支付信息
     *
     * @param payId 支付信息主键
     * @return 支付信息
     */
    PaymentInfo selectPaymentInfoByPayId(Long payId);

    /**
     * 查询支付信息列表
     *
     * @param paymentInfo 支付信息
     * @return 支付信息集合
     */
    List<PaymentInfo> selectPaymentInfoList(PaymentInfo paymentInfo);

    /**
     * 新增支付信息
     *
     * @param paymentInfo 支付信息
     * @return 结果
     */
    int insertPaymentInfo(PaymentInfo paymentInfo);

    /**
     * 新增支付信息
     *
     * @param paymentInfoList 支付信息
     * @return 结果
     */
    int batchInsertPaymentInfo(List<PaymentInfo> paymentInfoList);

    /**
     * 修改支付信息
     *
     * @param paymentInfo 支付信息
     * @return 结果
     */
    int updatePaymentInfo(PaymentInfo paymentInfo);

    /**
     * 批量删除支付信息
     *
     * @param payIds 需要删除的支付信息主键集合
     * @return 结果
     */
    int deletePaymentInfoByPayIds(String payIds);

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

    /**
     * 逻辑删除支付信息
     *
     * @param payId 支付信息主键
     * @return 结果
     */
    int logicDeletePaymentInfoByPayId(Long payId);

    /**
     * 逻辑批量删除支付信息
     *
     * @param payIds 需要删除的数据主键集合
     * @return 结果
     */
    int logicDeletePaymentInfoByPayIds(String[] payIds);

    /**
     * 逻辑批量删除支付信息
     *
     * @param paymentInfo 支付信息
     * @return 结果
     */
    int logicDeletePaymentInfoByCondition(PaymentInfo paymentInfo);
}
