|
@@ -822,7 +822,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
clueUpdateData["level_open"] = nil
|
|
|
clueUpdateData["clue_level"] = nil
|
|
|
}
|
|
|
- if trailstatus != "08" && is_assign == 0 { //在公海的成交客户
|
|
|
+ if is_assign == 0 { //在公海的成交客户
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
} else {
|
|
|
clueUpdateData["trailstatus"] = "01"
|
|
@@ -834,7 +834,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
clueUpdateData["trailstatus_time"] = nowTime
|
|
|
}
|
|
|
is_ok := false
|
|
|
- if (trailstatus != "08" && recordCount <= 0) || is_assign == 0 {
|
|
|
+ if recordCount <= 0 || is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
} else {
|
|
|
if item == "eventReg" {
|
|
@@ -968,7 +968,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
- } else if trailstatus != "08" && is_assign == 0 {
|
|
|
+ } else if is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
} else {
|
|
|
updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
@@ -1007,7 +1007,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
"operator_id": -1,
|
|
|
})
|
|
|
}
|
|
|
- } else if trailstatus != "08" && is_assign == -1 {
|
|
|
+ } else if is_assign == -1 {
|
|
|
updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
"clue_id": clueId,
|
|
|
"position_id": positionId,
|
|
@@ -1043,7 +1043,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
"operator_id": -1,
|
|
|
})
|
|
|
}
|
|
|
- if (trailstatus != "08" && recordCount <= 0) || is_assign == 0 {
|
|
|
+ if recordCount <= 0 || is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
} else {
|
|
|
if old_sub_cluetype != sub_cluetype && !is_ok {
|
|
@@ -1052,7 +1052,7 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
"clue_id": clueId,
|
|
|
"position_id": common.If(trailstatus == "00" || is_assign == 0 || is_assign == -1, positionId, common.If(is_assign == 1, positionId, common.Int64All(data["position_id"]))),
|
|
|
"change_type": "加入任务车",
|
|
|
- "new_value": "线索来源自动更新" + "-" + topname + "-" + subname,
|
|
|
+ "new_value": gconv.String(common.If(gconv.Int64(data["position_id"]) == 0, "线索自动分配", "线索来源自动更新")) + "-" + topname + "-" + subname,
|
|
|
"createtime": nowTime,
|
|
|
"BCPCID": common.GetRandom(32),
|
|
|
"operator_id": -1,
|
|
@@ -1091,6 +1091,20 @@ func WorkUpdateClue(data map[string]interface{}, saleData []map[string]interface
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ }
|
|
|
+ if old_sub_cluetype == sub_cluetype && !is_ok {
|
|
|
+ if trailstatus == "00" || is_assign == 0 || is_assign == -1 {
|
|
|
+ updateId5 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
+ "clue_id": clueId,
|
|
|
+ "position_id": positionId,
|
|
|
+ "change_type": "加入任务车",
|
|
|
+ "new_value": gconv.String(common.If(gconv.Int64(data["position_id"]) == 0, "线索自动分配", "线索来源自动更新")) + "-" + topname + "-" + subname,
|
|
|
+ "createtime": nowTime,
|
|
|
+ "BCPCID": common.GetRandom(32),
|
|
|
+ "operator_id": -1,
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1363,8 +1377,11 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if trailstatus == "00" || old_position_id == 0 || is_assign != 1 || (pIsOk && old_cluename != cluename && cluename != "") {
|
|
|
+ if trailstatus == "00" || trailstatus == "09" || old_position_id == 0 || is_assign != 1 || (pIsOk && old_cluename != cluename && cluename != "") {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ //无意向几天以内不参与分配
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
+ //线索状态为“拒绝沟通客户”,则仅针对线索来源一级分类为“付费产品落地页主动留资”和“受理系统”产生的线索进行线索分配,其他类线上线索只做线索更新但不再自动分配。
|
|
|
} else {
|
|
|
clueUpdateData["seatNumber"] = seatNumber
|
|
|
clueUpdateData["position_id"] = positionId
|
|
@@ -1388,8 +1405,10 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
clueUpdateData["level_open"] = nil
|
|
|
clueUpdateData["clue_level"] = nil
|
|
|
}
|
|
|
- if trailstatus != "08" && is_assign == 0 { //在公海的成交客户
|
|
|
+ if is_assign == 0 { //在公海的成交客户
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
+ //线索状态为“拒绝沟通客户”,则仅针对线索来源一级分类为“付费产品落地页主动留资”和“受理系统”产生的线索进行线索分配,其他类线上线索只做线索更新但不再自动分配。
|
|
|
} else {
|
|
|
clueUpdateData["trailstatus"] = "01"
|
|
|
clueUpdateData["trailstatus_time"] = nowTime
|
|
@@ -1400,8 +1419,10 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
clueUpdateData["trailstatus_time"] = nowTime
|
|
|
}
|
|
|
is_ok := false
|
|
|
- if (trailstatus != "08" && recordCount <= 0) || is_assign == 0 {
|
|
|
+ if recordCount <= 0 || is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
+ //线索状态为“拒绝沟通客户”,则仅针对线索来源一级分类为“付费产品落地页主动留资”和“受理系统”产生的线索进行线索分配,其他类线上线索只做线索更新但不再自动分配。
|
|
|
} else {
|
|
|
if item == "eventReg" {
|
|
|
eData := TiDb.Find("dwd_f_crm_clue_change_record", map[string]interface{}{"clue_id": clueId, "change_type": "加入任务车"}, "", "", -1, -1)
|
|
@@ -1451,6 +1472,7 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
//变更记录
|
|
|
if (trailstatus == "00" || old_position_id == 0 || (pIsOk && old_cluename != cluename && cluename != "")) && is_assign == 1 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
} else if old_position_id == 0 {
|
|
|
updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
"clue_id": clueId,
|
|
@@ -1534,8 +1556,9 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
- } else if trailstatus != "08" && is_assign == 0 {
|
|
|
+ } else if is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
} else {
|
|
|
updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
"clue_id": clueId,
|
|
@@ -1573,7 +1596,7 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
"operator_id": -1,
|
|
|
})
|
|
|
}
|
|
|
- } else if trailstatus != "08" && is_assign == -1 {
|
|
|
+ } else if is_assign == -1 {
|
|
|
updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
"clue_id": clueId,
|
|
|
"position_id": positionId,
|
|
@@ -1597,8 +1620,9 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
"operator_id": -1,
|
|
|
})
|
|
|
}
|
|
|
- if (trailstatus != "08" && recordCount <= 0) || is_assign == 0 {
|
|
|
+ if recordCount <= 0 || is_assign == 0 {
|
|
|
if trailstatus == "00" && trailstatusTime != "" && time.Now().Unix()-trailstatusTimes.Unix() < 86400 {
|
|
|
+ } else if trailstatus == "09" && (topname != "付费产品落地页主动留资" || topname != "受理系统") {
|
|
|
} else {
|
|
|
if old_sub_cluetype != sub_cluetype && !is_ok {
|
|
|
if is_transfer != 1 {
|
|
@@ -1646,6 +1670,19 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if old_sub_cluetype == sub_cluetype && !is_ok {
|
|
|
+ if trailstatus == "00" || trailstatus == "09" || is_assign == 0 || is_assign == -1 {
|
|
|
+ updateId5 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
|
|
|
+ "clue_id": clueId,
|
|
|
+ "position_id": positionId,
|
|
|
+ "change_type": "加入任务车",
|
|
|
+ "new_value": gconv.String(common.If(gconv.Int64(data["position_id"]) == 0, "线索自动分配", "线索来源自动更新")) + "-" + topname + "-" + subname,
|
|
|
+ "createtime": nowTime,
|
|
|
+ "BCPCID": common.GetRandom(32),
|
|
|
+ "operator_id": -1,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if old_top_cluetype != "" {
|