| | |
| | | import com.doumee.dao.dto.DispatchDTO; |
| | | import com.doumee.dao.dto.CommentOrderDTO; |
| | | 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 com.doumee.dao.vo.*; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | |
| | | MyOrderDetailVO findMyOrderDetail(Integer id, Integer memberId); |
| | | |
| | | /** |
| | | * 会员取消订单(仅异地寄存) |
| | | * 会员取消订单 |
| | | * |
| | | * @param orderId 订单主键 |
| | | * @param memberId 会员主键 |
| | |
| | | void confirmStoreOut(Integer orderId, Integer shopId, List<String> images, String remark); |
| | | |
| | | /** |
| | | * 会员确认收货 |
| | | * 异地寄存且无取件门店的订单,送达后(status=5),会员确认收货标记订单完成 |
| | | * |
| | | * @param orderId 订单主键 |
| | | * @param memberId 当前登录会员ID |
| | | */ |
| | | void memberConfirmReceipt(Integer orderId, Integer memberId); |
| | | |
| | | /** |
| | | * 计算并更新订单三方收益(存件门店/取件门店/司机) |
| | | * 就地寄存:仅存件门店收益 |
| | | * 异地寄存:存件门店 + 司机收益;有取件门店时加上取件门店收益 |
| | |
| | | /** |
| | | * 门店支付押金(唤起微信支付) |
| | | * |
| | | * @param shopId 门店主键 |
| | | * @param memberId 用户主键 |
| | | * @return 支付响应 |
| | | */ |
| | | PayResponse payShopDeposit(Integer shopId); |
| | | PayResponse payShopDeposit(Integer memberId); |
| | | |
| | | /** |
| | | * 门店押金支付回调处理 |
| | |
| | | */ |
| | | PageData<MyOrderVO> findShopOrderPage(PageWrap<MyOrderDTO> pageWrap, Integer shopId); |
| | | |
| | | /** |
| | | * 计算两地之间的预计送达时效(标速达 + 极速达) |
| | | * 通过腾讯地图API计算实际距离,再根据pricing_rule type=2计算时效 |
| | | * |
| | | * @param cityId 城市主键 |
| | | * @param fromLat 起点纬度 |
| | | * @param fromLng 起点经度 |
| | | * @param toLat 终点纬度 |
| | | * @param toLng 终点经度 |
| | | * @return 预计送达时效结果 |
| | | */ |
| | | EstimatedDeliveryResultVO calculateEstimatedDelivery(Integer cityId, |
| | | Double fromLat, Double fromLng, |
| | | Double toLat, Double toLng); |
| | | |
| | | /** |
| | | * 查询会员首页进行中最新订单提示 |
| | | * 查询status in (0,1,2,3,4,5)的订单,按创建时间倒序取第一条 |
| | | * |
| | | * @param memberId 会员主键 |
| | | * @return 最新进行中订单提示,无订单返回null |
| | | */ |
| | | ActiveOrderTipVO getActiveOrderTip(Integer memberId); |
| | | |
| | | /** |
| | | * 取消超时未支付订单 |
| | | * 根据运营配置 AUTO_CANCEL_TIME(分钟),将创建时间超过该值且仍为待支付的订单批量取消 |
| | | * |
| | | * @return 取消的订单数量 |
| | | */ |
| | | int cancelTimeoutUnpaidOrders(); |
| | | |
| | | /** |
| | | * 通知平台人员:已寄存订单超时无人抢单 |
| | | * 根据运营配置 NO_GRAB_NOTIFY_TIME(分钟),扫描异地已寄存(status=2)且超时的订单, |
| | | * 给配置的通知人员发送短信(PLATFORM_WAIT_GRAB),并标记已通知防止重复 |
| | | * |
| | | * @return 通知的订单数量 |
| | | */ |
| | | int notifyUngrabbedOrders(); |
| | | |
| | | /** |
| | | * 自动完成超时未确认的订单 |
| | | * 根据运营配置 AUTO_CONFIRM_RECEIPT(天),将已送达(status=5)超过该天数的订单自动标记为已完成 |
| | | * |
| | | * @return 自动完成的订单数量 |
| | | */ |
| | | int autoCompleteOrders(); |
| | | |
| | | } |