package com.pz.merchant.service; import com.pz.merchant.domain.vo.SonOrderVo; import com.pz.system.domain.bo.CreateOrderThirdBo; import com.pz.system.domain.bo.OrderFinishedBo; /** * 子订单业务 * <p>created in 2023/9/11 17:16 * * @author WangMin * @version 1.0 */ public interface ISonOrderService { /** * 取消订单Redis前缀 */ String ORDER_CANCEL_CACHE_PREFIX = "order_cancel_hash"; /** * 根据主订单ID查询子订单相关信息 * * @param totalId 主订单ID * @return 子订单相关信息 */ SonOrderVo getSonOrderSimpleDataByTotalId(Integer totalId); /** * 切换子订单状态 * * @param totalId 主订单ID * @param target 子订单目标状态 * @return 操作结果 */ boolean switchSonOrderStatus(Long totalId, Integer target); /** * 查询订单详情 * * @param totalId 主订单ID * @return 订单详情 */ default Object getSonOrderDetailDataByTotalId(Integer totalId) { throw new UnsupportedOperationException("不支持该操作"); } /** * 陪诊员取消订单 * * @param totalId 取消订单 * @return 操作结果 */ default boolean accompanyCancellationOfOrder(Integer totalId) { throw new UnsupportedOperationException("不支持该操作"); } /** * 陪诊员开始服务 * * @param totalId 主订单ID * @return 操作结果 */ default boolean accompanyStartService(Integer totalId) { throw new UnsupportedOperationException("不支持该操作"); } /** * 陪诊员完成服务 * * @param orderData 主订单数据 * @return 操作结果 */ default boolean finishedService(OrderFinishedBo orderData) { throw new UnsupportedOperationException("不支持该操作"); } /** * 查询服务开始时间 */ default String getFinishTime(Integer totalId){ throw new UnsupportedOperationException("不支持该操作"); } default Boolean insertSonOrder(CreateOrderThirdBo createOrderThirdBo){ throw new UnsupportedOperationException("不支持该操作"); } }