|
@@ -14,6 +14,11 @@ import (
|
|
|
)
|
|
|
|
|
|
func Task(ctx context.Context) {
|
|
|
+ start := time.Now()
|
|
|
+ defer func() {
|
|
|
+ g.Log().Info(ctx, "本轮完成", time.Since(start))
|
|
|
+
|
|
|
+ }()
|
|
|
// get rule
|
|
|
var rules []entity.NewUserSendRule
|
|
|
err := dao.NewUserSendRule.Ctx(ctx).Scan(&rules)
|
|
@@ -46,9 +51,10 @@ func Task(ctx context.Context) {
|
|
|
continue
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- // 过滤销售进程
|
|
|
- userList = filterTrailStatus(ctx, rules[i], userList)
|
|
|
+ if rules[i].Trailstatus != "" {
|
|
|
+ // 过滤销售进程
|
|
|
+ userList = filterTrailStatus(ctx, rules[i], userList)
|
|
|
+ }
|
|
|
// 保存用户
|
|
|
saveList := []do.NewUserSendLog{}
|
|
|
for j := 0; j <= len(userList); j++ {
|
|
@@ -58,6 +64,11 @@ func Task(ctx context.Context) {
|
|
|
CreateTime: gtime.Now(),
|
|
|
})
|
|
|
}
|
|
|
+ _, err = dao.NewUserSendLog.Ctx(ctx).Data(saveList).Insert()
|
|
|
+ if err != nil {
|
|
|
+ g.Log().Errorf(ctx, "第%v个规则 保存失败 :id-%v name:%v err:%v %v\n", i, rules[i].Id, rules[i].Name, err, saveList)
|
|
|
+ continue
|
|
|
+ }
|
|
|
g.Log().Infof(ctx, "完成--第%v个规则:id-%v name:%v \n", i, rules[i].Id, rules[i].Name)
|
|
|
|
|
|
}
|
|
@@ -171,15 +182,18 @@ func filterCallState(ctx context.Context, rule entity.NewUserSendRule, userList
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
return
|
|
|
}
|
|
|
|
|
|
// 跟进状态
|
|
|
func filterTrailStatus(ctx context.Context, rule entity.NewUserSendRule, userList []*User) (newUserList []*User) {
|
|
|
+ start := time.Now()
|
|
|
+ defer func() {
|
|
|
+ g.Log().Info(ctx, "filterTrailStatus 耗时:", time.Since(start))
|
|
|
|
|
|
- // 拒绝沟通 最后一次销售跟进状态为拒绝沟通
|
|
|
+ }()
|
|
|
+ for i := 0; i < len(userList); i++ {
|
|
|
|
|
|
- // 无意向客户 最后一次跟进状态为无意向客户
|
|
|
+ }
|
|
|
return
|
|
|
}
|