package com.zanxiang.game.module.sdk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.mybatis.entity.Order;
import com.zanxiang.game.module.mybatis.entity.User;
import com.zanxiang.game.module.sdk.pojo.dto.PlatformOrderDTO;
import com.zanxiang.game.module.sdk.pojo.param.ProductPayParam;
import com.zanxiang.game.module.sdk.pojo.param.UserData;

/**
 * 平台订单逻辑开发
 *
 * @author xufeng
 * @date 2022-06-06 17:06
 */

public interface IOrderService extends IService<Order> {

    /**
     * 创建订单
     *
     * @param payParam 支付参数
     * @param userData 用户数据
     * @param user     用户
     * @return {@link Boolean}
     */
    Boolean createOrder(ProductPayParam payParam, User user, UserData userData);

    /**
     * 单一订单详情获取
     *
     * @param orderId 订单id
     * @return {@link PlatformOrderDTO}
     */
    PlatformOrderDTO getByOrderId(String orderId);

    /**
     * 生成订单id
     *
     * @param userId : 玩家id
     * @return : 返回订单id
     */
    String getOrderNum(Long userId);
}
