rk
2 天以前 467fe3b3ec6aa9d449b094bdd9df4611323d88d1
server/services/src/main/java/com/doumee/service/business/OrdersService.java
@@ -9,14 +9,7 @@
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;
@@ -129,7 +122,7 @@
    MyOrderDetailVO findMyOrderDetail(Integer id, Integer memberId);
    /**
     * 会员取消订单(仅异地寄存)
     * 会员取消订单
     *
     * @param orderId  订单主键
     * @param memberId 会员主键
@@ -154,6 +147,26 @@
     * @param remark     备注
     */
    void shopVerifyOrder(String verifyCode, Integer shopId, List<String> images, String remark);
    /**
     * 门店核销(自动识别会员核销码/司机核销码)
     *
     * @param verifyCode 核销码
     * @param shopId     门店主键
     * @param images     图片
     * @param remark     备注
     */
    void verifyOrder(String verifyCode, Integer shopId, List<String> images, String remark);
    /**
     * 门店通过订单主键核销
     *
     * @param orderId 订单主键
     * @param shopId  门店主键
     * @param images  图片
     * @param remark  备注
     */
    void verifyOrderByShopId(Integer orderId, Integer shopId, List<String> images, String remark);
    /**
     * 门店端查询订单详情
@@ -298,6 +311,15 @@
    void confirmStoreOut(Integer orderId, Integer shopId, List<String> images, String remark);
    /**
     * 会员确认收货
     * 异地寄存且无取件门店的订单,送达后(status=5),会员确认收货标记订单完成
     *
     * @param orderId  订单主键
     * @param memberId 当前登录会员ID
     */
    void memberConfirmReceipt(Integer orderId, Integer memberId);
    /**
     * 计算并更新订单三方收益(存件门店/取件门店/司机)
     * 就地寄存:仅存件门店收益
     * 异地寄存:存件门店 + 司机收益;有取件门店时加上取件门店收益
@@ -317,10 +339,10 @@
    /**
     * 门店支付押金(唤起微信支付)
     *
     * @param shopId 门店主键
     * @param memberId 用户主键
     * @return 支付响应
     */
    PayResponse payShopDeposit(Integer shopId);
    PayResponse payShopDeposit(Integer memberId);
    /**
     * 门店押金支付回调处理
@@ -355,4 +377,53 @@
     */
    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();
}