package com.sptg.pay.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.pay.api.dto.UserOrderDto;
import com.sptg.pay.api.entity.UserOrder;

import java.util.List;
import java.util.Map;

/**
 * @author zwx
 * @create 2020/5/16 9:49
 */
public interface UserOrderServiceInterface extends IService<UserOrder> {

    /**
     * 功能描述：分页展示用户订单记录
     * @param userOrderDto
     * @return
     */
    ResultBean<Page<UserOrder>> showUserOrderPage(UserOrderDto userOrderDto);

    /**
     * 功能描述：获取用户订单列表
     * @param userOrderDto
     * @return
     */
    List<UserOrder> getUserOrderList(UserOrderDto userOrderDto);

    /**
     * 功能描述：添加用户订单
     * @param userOrderDto
     * @return
     */
    ResultBean<UserOrder> addUserOrder(UserOrderDto userOrderDto);

    /**
     * 功能描述：编辑用户订单
     * @param userOrder
     * @return
     */
    ResultBean<Boolean> updateUserOrder(UserOrder userOrder);

    /**
     * 功能描述：根据id获取用户订单
     * @param id
     * @return
     */
    UserOrder findUserOrderById(Long id);

    /**
     * 功能描述：根据条件获取用户订单
     * @param userOrderDto
     * @return
     */
    UserOrder findUserOrderByCondition(UserOrderDto userOrderDto);

    /**
     * 功能描述：第三方订单查询
     * @param userOrderDto
     * @return
     */
    Map<String, String> orderQuery(UserOrderDto userOrderDto);

    /**
     * 添加用户订单-》导入模板
     * @param userOrderDto
     * @return
     */
    UserOrder addUserOrderByImport(UserOrderDto userOrderDto);

    /**
     *
     * @param oldId
     * @return
     */
    UserOrder getByOldId(String oldId);

}
