实现了自动扫描 WAITING
状态的订单,通过 ISmartDispatchService.recommendRiders
方法进行智能派单,并将订单和推荐的师傅关联保存到中间表中。
AutoDispatchQuartz
每5分钟自动扫描等待状态的订单OrderDispatchServiceImpl
实现智能派单逻辑WAITING(0)
更新为 ALLOCATED(6)
kx_order_rider_recommend
order_no
: 订单编号rider_id
: 推荐的师傅IDrider_name
: 师傅姓名match_score
: 匹配度分数recommend_order
: 推荐排序(1表示最优推荐)status
: 推荐状态(0-待处理, 1-已分配, 2-师傅拒绝, 3-超时)KxOrderRiderRecommendController
提供CRUD操作KxOrderRiderRecommend.java
- 中间表实体类KxOrderRiderRecommendVo.java
- 视图对象KxOrderRiderRecommendBo.java
- 业务对象KxOrderRiderRecommendMapper.java
- 数据访问接口KxOrderRiderRecommendMapper.xml
- MyBatis映射文件IOrderDispatchService.java
- 派单服务接口OrderDispatchServiceImpl.java
- 派单服务实现IKxOrderRiderRecommendService.java
- 推荐记录服务接口KxOrderRiderRecommendServiceImpl.java
- 推荐记录服务实现KxOrderRiderRecommendController.java
- 管理控制器AutoDispatchQuartz.java
- 自动派单定时任务kx_order_rider_recommend.sql
- 中间表创建脚本WAITING
的订单SmartDispatchParamBo
参数ISmartDispatchService.recommendRiders
获取推荐师傅ALLOCATED
0 */5 * * * ?
)系统会自动运行,无需人工干预。
可以通过以下API手动触发订单派单:
POST /rider/orderRiderRecommend/dispatch/{orderNo}
可以通过以下API查询订单的推荐师傅:
GET /rider/orderRiderRecommend/listByOrderNo/{orderNo}
kx_order_rider_recommend.sql
创建中间表ISmartDispatchService
智能派单服务