- 梳理TIMER,去除TimerTypeBaseExpectedDeliveredTime

This commit is contained in:
gazebo
2019-03-31 15:46:41 +08:00
parent d2fafe5ec0
commit ef05d85fc2
9 changed files with 132 additions and 119 deletions

View File

@@ -23,11 +23,10 @@ const (
)
const (
TimerTypeNoOverride = 0 // GetStatusActionConfig 返回表示不修改缺省配置
TimerTypeByPass = 1
TimerTypeBaseNow = 2
TimerTypeBaseStatusTime = 3
TimerTypeBaseExpectedDeliveredTime = 4 // 如果是定时达以expected delivery time倒推的时间当成statusTime之后与TimerTypeBaseStatusTime一样否则与TimerTypeBaseStatusTime相同
TimerTypeNoOverride = 0 // GetStatusActionConfig 返回表示不修改缺省配置
TimerTypeByPass = 1
TimerTypeBaseNow = 2
TimerTypeBaseStatusTime = 3
)
type StatusActionParams struct {
@@ -36,6 +35,18 @@ type StatusActionParams struct {
TimeoutGap int // 以秒为单位的随机时间0在GetStatusActionConfig返回时表示不修改缺省
}
func (s *StatusActionParams) GetRefTimeout(statusTime time.Time) (timeout time.Duration) {
switch s.TimerType {
case TimerTypeBaseNow:
timeout = s.Timeout
case TimerTypeBaseStatusTime:
timeout = statusTime.Sub(time.Now()) + s.Timeout
default:
timeout = 0
}
return timeout
}
var (
CancelWaybillReasonStrNotAcceptIntime = "没有及时抢单"
CancelWaybillReasonStrSwitch2SelfFailed = "转自送失败"