package org.jeecg.modules.apiService;

import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.apiBean.PageBean;
import org.jeecg.modules.teambuyOrderGoods.entity.TeambuyOrderGoods;
import org.jeecg.modules.teambuyOrderLeader.entity.TeambuyOrderLeader;
import org.jeecg.modules.teambuyOrderMember.entity.TeambuyOrderMember;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

public interface OrderService {
    //查看团餐订单列表
    public Result<?> queryLeaderOrderList(String token, TeambuyOrderLeader teambuyOrderLeader, PageBean pageBean);
    //根据团餐id查询团团员订单列表
    public Result<?> queryLeaderOrderListById(String token, String teambuyOrderId, PageBean pageBean);
    //查看团员订单列表
    public Result<?> queryMemberOrderList(String token, TeambuyOrderMember teambuyOrderMember, PageBean pageBean);
    //团长通知全体取餐
    public Result<?> informOrderAll(String token, String leaderOrderId);
    //团长完成全体取餐
    public Result<?> finishOrderAll(String token, String leaderOrderId);
    //团长通知单体取餐
    public Result<?> informOrderOne(String token, String leaderOrderId);
    //团长完成单体取餐
    public Result<?> finishOrderOne(String token, String leaderOrderId);
    //修改团长订单状态
    public Result<?> updateLeaderOrderById(String token, TeambuyOrderLeader teambuyOrderLeader);
    //修改团员订单状态
    public Result<?> updateMemberOrderById(String token, TeambuyOrderMember teambuyOrderMember);
    //团员完成取餐
    public Result<?> finishMemberOrderById(String token, String memberOrderId);
//    //创建订单
//    public Result<?> createOrder(String token, TeambuyOrderMember teambuyOrderMember, String payType);
    //创建订单
    public Result<?> createOrder2(String token, TeambuyOrderMember teambuyOrderMember, String leaderId, String goodss, String userCouponId);
    //取消团员订单
    public Result<?> deleteMemberOrderById(String token, String memberOrderId);
    //支付订单
    public Result<?> payOrder(String token, String orderId, String payType);

    //支付回调
    Object payOrderNotify(String requestBody);
}
