RiderHoldLimitService.java
793 Bytes
package com.diligrp.rider.service;
import com.diligrp.rider.entity.Rider;
import com.diligrp.rider.vo.DispatchRuleTemplateVO;
import java.util.List;
import java.util.Map;
public interface RiderHoldLimitService {
/** 当前持单量(status=3/4) */
int countCurrentLoad(Long riderId);
/** 批量查询当前持单量(status=3/4) */
Map<Long, Integer> getCurrentLoadMap(List<Long> riderIds);
/** 解析骑手个人持单上限,null 表示不限制 */
Integer resolveHoldOrderLimit(Rider rider);
/** 解析抢单场景生效上限,null 表示不限制 */
Integer resolveGrabLimit(Rider rider, DispatchRuleTemplateVO rule);
/** 校验骑手是否还能继续接单 */
void assertWithinLimit(Long riderId, Integer limit, String message);
}