package com.gxwebsoft.shop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.shop.entity.Order;
import com.gxwebsoft.shop.param.OrderParam;

import java.util.HashMap;
import java.util.List;

/**
 * 订单Service
 *
 * @author 科技小王子
 * @since 2024-05-14 13:20:04
 */
public interface OrderService extends IService<Order> {

  /**
   * 分页关联查询
   *
   * @param param 查询参数
   * @return PageResult<Order>
   */
  PageResult<Order> pageRel(OrderParam param);

  /**
   * 关联查询全部
   *
   * @param param 查询参数
   * @return List<Order>
   */
  List<Order> listRel(OrderParam param);

  /**
   * 根据id查询
   *
   * @param orderId 订单号
   * @return Order
   */
  Order getByIdRel(Integer orderId);

  HashMap<String, String> createWxOrder(Order order);

  Order getByOutTradeNo(String outTradeNo);

  Boolean updateByOutTradeNo(Order order);

  Boolean payByBalance(Order order);

//    String payByWxNative(Order order);
}
