xuzhiheng 2 лет назад
Родитель
Сommit
6e5a40846d
2 измененных файлов с 27 добавлено и 5 удалено
  1. 7 0
      clueSync/config.go
  2. 20 5
      clueSync/job.go

+ 7 - 0
clueSync/config.go

@@ -75,6 +75,7 @@ type (
 
 var AreaCode = map[string]string{}
 var CodeArea = map[string]string{}
+var CodeTrail = map[string]string{}
 
 func InitArea() {
 	info := TiDb.Find("d_area_code", nil, "", "", -1, -1)
@@ -86,4 +87,10 @@ func InitArea() {
 	}
 	log.Println("AreaCodeLen ", len(AreaCode))
 	log.Println("CodeAreaLen ", len(CodeArea))
+	trailData := TiDb.Find("dwd_d_crm_trailstatus_code", nil, "", "", -1, -1)
+	if trailData != nil && len(*trailData) > 0 {
+		for _, m := range *trailData {
+			CodeTrail[common.ObjToString(m["code"])] = common.ObjToString(m["name"])
+		}
+	}
 }

+ 20 - 5
clueSync/job.go

@@ -345,6 +345,7 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
 	clueId := common.Int64All(data["id"])
 	is_assign := common.IntAll(data["is_assign"])
 	oldsaleName, oldTaskTime, taskTime, is_task, taskstatus := "", "", "", 0, 0
+	old_position_id, old_seatNumber, old_trailstatus := common.Int64All(data["position_id"]), common.ObjToString(data["seatNumber"]), common.ObjToString(data["trailstatus"])
 	//已在任务车的判断任务时间
 	privateData := TiDb.FindOne("dwd_f_crm_private_sea", map[string]interface{}{"clue_id": clueId}, "", "")
 	if privateData != nil && len(*privateData) > 0 {
@@ -401,10 +402,12 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
 		clueUpdateData["role"] = role
 		clueUpdateData["cluename"] = cluename
 	}
-	if trailstatus == "00" || trailstatus == "01" {
+	if trailstatus == "00" || trailstatus == "01" || old_position_id == 0 {
 		clueUpdateData["seatNumber"] = seatNumber
 		clueUpdateData["position_id"] = positionId
-		clueUpdateData["trailstatus"] = "01"
+		if trailstatus == "00" || trailstatus == "01" {
+			clueUpdateData["trailstatus"] = "01"
+		}
 		seaUpdateData["seatNumber"] = seatNumber
 		seaUpdateData["position_id"] = positionId
 		insertSeaData["seatNumber"] = seatNumber
@@ -415,8 +418,8 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
 			}
 		}
 	} else {
-		insertSeaData["seatNumber"] = common.ObjToString(data["seatNumber"])
-		insertSeaData["position_id"] = common.Int64All(data["position_id"])
+		insertSeaData["seatNumber"] = old_seatNumber
+		insertSeaData["position_id"] = old_position_id
 	}
 	ok, ok1, ok2, seaId := true, true, true, int64(0)
 	updateId1, updateId2, updateId3, updateId4, updateId5 := int64(0), int64(0), int64(0), int64(0), int64(0)
@@ -432,7 +435,7 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
 			seaId = TiDb.InsertByTx(tx, "dwd_f_crm_private_sea", insertSeaData)
 		}
 		//变更记录
-		if trailstatus == "00" || trailstatus == "01" {
+		if trailstatus == "00" || trailstatus == "01" || old_position_id == 0 {
 			updateId1 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
 				"clue_id":      clueId,
 				"position_id":  positionId,
@@ -478,6 +481,18 @@ func UpdateClue(data map[string]interface{}, saleData []map[string]interface{},
 					"BCPCID":       common.GetRandom(32),
 					"operator_id":  -1,
 				})
+			} else if old_position_id == 0 {
+				updateId3 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
+					"clue_id":      clueId,
+					"position_id":  positionId,
+					"change_field": "trailstatus",
+					"change_type":  "基本信息变更",
+					"old_value":    CodeTrail[old_trailstatus],
+					"new_value":    "新增",
+					"createtime":   nowTime,
+					"BCPCID":       common.GetRandom(32),
+					"operator_id":  -1,
+				})
 			} else {
 				if common.Int64All(data["position_id"]) > 0 {
 					updateId2 = TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{