package com.zhentao.service;

import com.github.binarywang.wxpay.exception.WxPayException;
import com.zhentao.entity.ActivityOrder;

import java.math.BigDecimal;
import java.util.Map;

/**
 * 活动订单服务接口
 */
public interface ActivityOrderService {
    
    /**
     * 创建活动订单并获取支付参数
     * 
     * @param userId 用户ID
     * @param activityId 活动ID
     * @param activityName 活动名称
     * @param price 活动价格
     * @return 微信支付参数
     */
    Map<String, Object> createOrderAndGetPayParams(Long userId, Integer activityId, String activityName, BigDecimal price) throws WxPayException;
    
    /**
     * 处理微信支付回调
     * 
     * @param notifyData 回调数据
     * @return 处理结果
     */
    String handlePayNotify(String notifyData) throws WxPayException;
    
    /**
     * 根据订单号查询订单
     * 
     * @param orderNo 订单号
     * @return 活动订单
     */
    ActivityOrder getOrderByOrderNo(String orderNo);
}