package com.zhentao.service;

import com.github.binarywang.wxpay.exception.WxPayException;
import com.zhentao.vo.UserVipInfoVO;

import java.util.Map;

/**
 * VIP服务接口
 */
public interface VipService {
    
    /**
     * 获取用户VIP信息和套餐列表
     * @param userId 用户ID
     * @return VIP信息
     */
    UserVipInfoVO getVipInfo(Long userId);
    
    /**
     * 购买VIP
     * @param userId 用户ID
     * @param packageId 套餐ID
     * @return 是否成功
     */
    Map<String, Object> purchaseVip(Long userId, Long packageId) throws WxPayException;
    
    /**
     * 赠送VIP（签到奖励等）
     * @param userId 用户ID
     * @param days 赠送天数
     * @param source 来源
     * @return 是否成功
     */
    Boolean grantVip(Long userId, Integer days, String source);


    String handlePayNotify(String notifyData) throws WxPayException;
}


