package com.sky.service; import com.sky.dto.*; import com.sky.result.PageResult; import com.sky.vo.OrderPaymentVO; import com.sky.vo.OrderStatisticsVO; import com.sky.vo.OrderSubmitVO; import com.sky.vo.OrderVO; public interface OrderService { /** * 用户下单 * @param ordersSubmitDTO * @return */ OrderSubmitVO submit(OrdersSubmitDTO ordersSubmitDTO); /** * 支付功能 * @param ordersPaymentDTO * @return */ OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO) throws Exception; /** * 用户端订单分页查询 * @param page * @param pageSize * @param status * @return */ PageResult pageQuery4User(int page, int pageSize, Integer status); /** * 查询订单详情 * @param id * @return */ OrderVO details(Long id); /** * 用户取消订单 * @param id */ void userCancelById(Long id) throws Exception; /** * 再来一单 * * @param id */ void repetition(Long id); /** * 条件搜索订单 * @param ordersPageQueryDTO * @return */ PageResult conditionSearch(OrdersPageQueryDTO ordersPageQueryDTO); /** * 各个状态的订单数量统计 * @return */ OrderStatisticsVO statistics(); /** * 接单 * * @param ordersConfirmDTO */ void confirm(OrdersConfirmDTO ordersConfirmDTO); /** * 拒单 * * @param ordersRejectionDTO */ void rejection(OrdersRejectionDTO ordersRejectionDTO) throws Exception; /** * 商家取消订单 * * @param ordersCancelDTO */ void cancel(OrdersCancelDTO ordersCancelDTO) throws Exception; /** * 派送订单 * * @param id */ void delivery(Long id); /** * 完成订单 * * @param id */ void complete(Long id); }