package com.pz.system.service; import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult; import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult; import com.pz.common.core.domain.R; import com.pz.system.domain.TotalOrder; import com.pz.system.domain.bo.*; import com.pz.system.domain.vo.AccompanyDemandVo; import com.pz.system.domain.vo.DataOrderVo; import com.pz.system.domain.vo.DataViewVo; import com.pz.system.domain.vo.OrderColumnarVo; import com.pz.system.domain.vo.OrderLineVo; import com.pz.system.domain.vo.TotalOrderVo; import com.pz.common.core.page.TableDataInfo; import com.pz.common.core.domain.PageQuery; import org.apache.ibatis.annotations.Param; import javax.validation.constraints.NotNull; import java.util.Collection; import java.util.List; import java.util.Map; /** * 总订单Service接口 * * @author ruoyi * @date 2023-09-08 */ public interface ITotalOrderService { /** * 查询总订单 */ TotalOrderVo queryById(Long id); /** * 查询用户订单详情 * * @param id * @return */ TotalOrderVo queryByAppId(Integer id); /** * 查询总订单列表 */ TableDataInfo<TotalOrderVo> queryPageList(TotalOrderBo bo, PageQuery pageQuery); /** * 查询总订单列表 */ List<TotalOrderVo> queryList(TotalOrderBo bo); /** * 新增总订单 */ Boolean insertByBo(TotalOrderBo bo); /** * 小程序创建订单 * * @param bo * @return */ TotalOrderVo createOrder(CreateOrderBo bo); /** * 修改总订单 */ Boolean updateByBo(TotalOrderBo bo); /** * 用户取消订单 * * @param bo * @return */ Boolean cancelOrder(TotalOrderBo bo); /** * 用户完成订单 * * @param bo * @return */ Boolean finishOrder(TotalOrderBo bo); /** * 统一下单接口 * @param bo * @return */ Object payOrder(TotalOrderBo bo); /** * 支付回调 * @param result * @return */ boolean orderPayCallBack(WxPayOrderNotifyResult result); /** * 用户主动退款 * * @param bo * @return */ Boolean refundOrder(TotalOrderBo bo); boolean orderRefundCallBack(WxPayRefundNotifyResult wxPayRefundNotifyResult); /** * 校验并批量删除总订单信息 */ Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); /** * 陪诊员端 需求广场 * * @return 待分配陪诊员订单 */ TableDataInfo<AccompanyDemandVo> queryUndistributedOrder(Integer cityCode, PageQuery page); /** * 陪诊员端 评价 * * @return 待分配陪诊员订单 */ TableDataInfo<AccompanyDemandVo> queryOrderComment(Integer emId,PageQuery page); /** * 陪诊员接单 * * @param emId 陪诊员ID * @param orderId 主订单ID * @return 操作结果 */ boolean orderReceiving(Integer emId, Integer orderId); /** * 查询订单信息 * * @param id 订单ID * @return 订单信息 */ AccompanyDemandVo queryTotalOrderById(Long id); /** * 查询物流状态 * @return */ Object selectLogisticsStatus(TotalOrderBo totalOrderBo); /** * 订单销售额 */ DataOrderVo saleroom(DataViewBo dataViewBo); /** * 平台收益 */ DataOrderVo platformRevenue(DataViewBo dataViewBo); DataOrderVo platformRevenueDivide(DataViewBo dataViewBo); /** * 订单量 */ DataOrderVo orderQuantity(DataViewBo dataViewBo); /** * 数据总览 * @param bo * @return */ List<OrderLineVo> findOrderColumnarVoList(OrderColumnarBo bo); Boolean addThirdOrder(CreateOrderThirdBo createOrderThirdBo); }