搬家产能推荐师傅
2019-10-30 19:30:32 0 举报
搬家产能推荐师傅
作者其他创作
大纲/内容
geo 距离,最大去程距离,最大返程距离
6→8
0→0
当前订单占用时长0→0
postFilter(term) 后置筛选,满足订单时间区间的
完成当前订单距离下一个订单的距离endPoint→dispatchEndPoint
产能表和ES中记录的每条信息,可以理解成每个师傅,每天空闲的时间段信息
当前订单右边边空闲时间endTime→dispatchEndTime
产能示意图
一条产能信息,记录了一个订单的占用时间段,也记录了它前后的空闲时间段
完成上一个订单距离当前订单的距离dispatchStartPoint→startPoint
当前订单左边空闲时间0→0
ES查询语句(红色是ES查询语法)
浮动工时过滤,订单时间+前后驱车时间(驱车时间 = 距离/城市速度)
服务项信息(嵌套属性) \"serviceInfo\": [ { \"serviceCode\": \"8a9091b4667668a501667668a5390000\
第一个空闲0→6
第一个订单来了之后,添加一条记录,加上初始化的,此时两条数据记录
推荐人数限制,只取前多少人
每天开始的时候,只有一条数据记录
当前订单占用时长6→8
产能本身的属性logicCode,transactionType
当前订单右边边空闲时间0→24
一个ES文档的基本信息
每天会初始化一条产能信息,所以查询一个订单是否有产能时,只需要查询订单的开始结束时间是不是在这个区间里头就行
term 城市,产品,兼职/全职
最大成本过滤,<= 城市最大运营成本(成本 = 去程距离*去程系数 + 返程距离*返程系数)
aggregation 基于员工分组统计订单数,再基于服务项进行嵌套分组,统计服务项信息
一整天(0→24)空闲(0点取一天第一毫秒,24点取的一天最后一秒,最后一秒毫秒值为0)
订单信息
当前订单左边空闲时间0→6
当前订单右边边空闲时间0→6
当前订单右边边空闲时间8→24
每天初始化的
第二个空闲8→24
推荐服务者列表
一条产能信息,记录了一个订单的直线距离,也记录了从上一个地点来的直线距离,和去下一个地点的直线距离
成本排序,从小到大
每天初始化的记录
第一个订单
最大接单数过滤(当日订单数 <= 最大单数)
服务项剩余量过滤,服务项剩余大于订单要求的
Java代码(蓝色为可配置)
当前订单左边空闲时间dispatchStartTime →startTime
rang 时间范围,当天所有的(方便统计订单数量,服务项数量)
0 条评论
下一页