| | |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.dao.business.model.Orders; |
| | | import com.doumee.dao.dto.CalculateLocalPriceDTO; |
| | | import com.doumee.dao.dto.CalculateRemotePriceDTO; |
| | | import com.doumee.dao.dto.CreateOrderDTO; |
| | | import com.doumee.dao.dto.DispatchDTO; |
| | | import com.doumee.dao.dto.MyOrderDTO; |
| | | import com.doumee.dao.vo.MyOrderDetailVO; |
| | | import com.doumee.dao.vo.MyOrderVO; |
| | | import com.doumee.dao.vo.OrderDetailVO; |
| | | import com.doumee.dao.vo.OrderDispatchVO; |
| | | import com.doumee.dao.vo.OrderSummaryVO; |
| | | import com.doumee.dao.vo.OverdueFeeVO; |
| | | import com.doumee.dao.vo.PayResponse; |
| | | import com.doumee.dao.vo.PriceCalculateVO; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | */ |
| | | long count(Orders orders); |
| | | |
| | | /** |
| | | * 查询订单详情 |
| | | * |
| | | * @param id 主键 |
| | | * @return OrderDetailVO |
| | | */ |
| | | OrderDetailVO findDetail(Integer id); |
| | | |
| | | /** |
| | | * 会员端订单详情 |
| | | * |
| | | * @param id 订单主键 |
| | | * @param memberId 会员主键 |
| | | * @return MyOrderDetailVO |
| | | */ |
| | | MyOrderDetailVO findMyOrderDetail(Integer id, Integer memberId); |
| | | |
| | | /** |
| | | * 会员取消订单(仅异地寄存) |
| | | * |
| | | * @param orderId 订单主键 |
| | | * @param memberId 会员主键 |
| | | * @param reason 取消原因 |
| | | */ |
| | | void cancelOrder(Integer orderId, Integer memberId, String reason); |
| | | |
| | | /** |
| | | * 寄存订单支付回调处理 |
| | | * |
| | | * @param outTradeNo 商户订单号 |
| | | * @param wxTradeNo 微信订单号 |
| | | */ |
| | | void handleStorageOrderPayNotify(String outTradeNo, String wxTradeNo); |
| | | |
| | | /** |
| | | * 门店核销收件 |
| | | * |
| | | * @param verifyCode 核销码 |
| | | * @param shopId 门店主键 |
| | | * @param images 图片地址列表(最多3张) |
| | | * @param remark 备注 |
| | | */ |
| | | void shopVerifyOrder(String verifyCode, Integer shopId, List<String> images, String remark); |
| | | |
| | | /** |
| | | * 门店端查询订单详情 |
| | | * 支持按订单主键或核销码查询,复用会员端详情逻辑 |
| | | * |
| | | * @param orderId 订单主键(与verifyCode二选一) |
| | | * @param verifyCode 核销码(与orderId二选一) |
| | | * @return 订单详情 |
| | | */ |
| | | MyOrderDetailVO findShopOrderDetail(Integer orderId, String verifyCode); |
| | | |
| | | /** |
| | | * 查询手动派单信息 |
| | | * |
| | | * @param id 订单主键 |
| | | * @return OrderDispatchVO |
| | | */ |
| | | OrderDispatchVO findDispatchInfo(Integer id); |
| | | |
| | | /** |
| | | * 订单派单 |
| | | * |
| | | * @param dto 派单参数 |
| | | */ |
| | | void dispatch(DispatchDTO dto); |
| | | |
| | | /** |
| | | * 根据分页查询条件统计订单汇总 |
| | | * |
| | | * @param pageWrap 分页查询条件 |
| | | * @return OrderSummaryVO |
| | | */ |
| | | OrderSummaryVO findSummary(PageWrap<Orders> pageWrap); |
| | | |
| | | /** |
| | | * 计算保价费用 |
| | | * @param declaredValue 报价金额 |
| | | * @return 保价费用 |
| | | */ |
| | | BigDecimal calculateInsuranceFee(BigDecimal declaredValue); |
| | | |
| | | /** |
| | | * 计算就地存取预估费用 |
| | | * @param dto 就地存取计价请求参数 |
| | | * @return 价格计算结果 |
| | | */ |
| | | PriceCalculateVO calculateLocalPrice(CalculateLocalPriceDTO dto); |
| | | |
| | | /** |
| | | * 计算异地存取预估费用 |
| | | * @param dto 异地存取计价请求参数 |
| | | * @return 价格计算结果 |
| | | */ |
| | | PriceCalculateVO calculateRemotePrice(CalculateRemotePriceDTO dto); |
| | | |
| | | /** |
| | | * 创建订单并唤起微信支付 |
| | | * @param dto 创建订单请求参数 |
| | | * @param memberId 当前登录会员ID |
| | | * @return 支付响应 |
| | | */ |
| | | PayResponse createOrder(CreateOrderDTO dto, Integer memberId); |
| | | |
| | | /** |
| | | * 继续支付(待支付订单重新唤起微信支付) |
| | | * @param orderId 订单主键 |
| | | * @param memberId 当前登录会员ID |
| | | * @return 支付响应 |
| | | */ |
| | | PayResponse continuePay(Integer orderId, Integer memberId); |
| | | |
| | | /** |
| | | * 小程序端-查询我的订单分页 |
| | | * @param pageWrap 分页查询参数(model含status) |
| | | * @param memberId 会员主键 |
| | | * @return 分页结果 |
| | | */ |
| | | PageData<MyOrderVO> findMyOrderPage(PageWrap<MyOrderDTO> pageWrap, Integer memberId); |
| | | |
| | | /** |
| | | * 查询订单超时费用 |
| | | * @param orderId 订单主键 |
| | | * @return 超时费用计算结果 |
| | | */ |
| | | OverdueFeeVO calculateOverdueFee(Integer orderId); |
| | | |
| | | /** |
| | | * 司机核销(异地寄存且有取件门店) |
| | | * 派送中(4) → 已到店(5),校验司机核销码 |
| | | * |
| | | * @param verifyCode 司机核销码 |
| | | * @param images 图片地址列表(最多3张) |
| | | * @param remark 备注 |
| | | * @param driverId 司机(会员)主键 |
| | | */ |
| | | void driverVerifyOrder(String verifyCode, List<String> images, String remark, Integer driverId); |
| | | |
| | | /** |
| | | * 确认顾客已到店 |
| | | * 就地寄存/异地寄存,且存在取件门店,状态为待取件(5) |
| | | * 检查逾期状态:逾期则标记逾期,未逾期则完成订单 |
| | | * |
| | | * @param orderId 订单主键 |
| | | * @param shopId 当前操作门店主键 |
| | | */ |
| | | void confirmCustomerArrived(Integer orderId, Integer shopId); |
| | | |
| | | } |