Browse Source

Merge commit 'e0fdf14f7278c554e9873500fb3b827130ed865c' into feature/v1.5.15

* commit 'e0fdf14f7278c554e9873500fb3b827130ed865c':
  603需求更新
  上限处理
  统计新增字段
Jianghan 11 months ago
parent
commit
57a14236a1

+ 6 - 5
clueSync/autoTask.go

@@ -301,16 +301,17 @@ func autoExitSea() {
 			}
 			}
 		}
 		}
 	}
 	}
-	datas := TiDb.Find("dwd_f_crm_clue_info", map[string]interface{}{"trailstatus": "00", "is_assign": 1}, "", "", -1, -1)
+	datas := TiDb.SelectBySql("select  * from  dwd_f_crm_clue_info where   (trailstatus='09' or   trailstatus='00') and   is_assign=1")
 	if datas != nil && len(*datas) > 0 {
 	if datas != nil && len(*datas) > 0 {
 		for _, v := range *datas {
 		for _, v := range *datas {
+			trailstatus := gconv.String(v["trailstatus"])
 			clueId := common.Int64All(v["id"])
 			clueId := common.Int64All(v["id"])
 			positionId := common.Int64All(v["position_id"])
 			positionId := common.Int64All(v["position_id"])
 			seatNumber := common.ObjToString(v["seatNumber"])
 			seatNumber := common.ObjToString(v["seatNumber"])
 			nowTime := time.Now().Format(date.Date_Full_Layout)
 			nowTime := time.Now().Format(date.Date_Full_Layout)
 			// is_assign := common.IntAll(v["is_assign"])
 			// is_assign := common.IntAll(v["is_assign"])
 			if TiDb.ExecTx("自动退海", func(tx *sql.Tx) bool {
 			if TiDb.ExecTx("自动退海", func(tx *sql.Tx) bool {
-				recordId := TiDb.UpdateOrDeleteBySqlByTx(tx, `UPDATE dwd_f_crm_clue_info SET is_assign=0,position_id=null,seatNumber=null,updatetime = ?,comeintime_open = ?,comeinsource_open=8,level_open=4,next_trail_time=null,is_task=null,tasktime=null,taskstatus=null,comeinsource_private=null,tasksource=null WHERE id = ?`, nowTime, nowTime, clueId) //,content=null,start_trail_time=null
+				recordId := TiDb.UpdateOrDeleteBySqlByTx(tx, `UPDATE dwd_f_crm_clue_info SET is_assign=0,position_id=null,seatNumber=null,updatetime = ?,comeintime_open = ?,comeinsource_open=?,level_open=4,next_trail_time=null,is_task=null,tasktime=null,taskstatus=null,comeinsource_private=null,tasksource=null WHERE id = ?`, nowTime, nowTime, common.If(trailstatus == "00", 8, 11), clueId) //,content=null,start_trail_time=null
 				recordId1 := TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
 				recordId1 := TiDb.InsertByTx(tx, "dwd_f_crm_clue_change_record", map[string]interface{}{
 					"clue_id":      clueId,
 					"clue_id":      clueId,
 					"position_id":  positionId,
 					"position_id":  positionId,
@@ -327,7 +328,7 @@ func autoExitSea() {
 					"position_id":  positionId,
 					"position_id":  positionId,
 					"change_field": "trailstatus",
 					"change_field": "trailstatus",
 					"change_type":  "基本信息变更",
 					"change_type":  "基本信息变更",
-					"old_value":    "无意向客户",
+					"old_value":    common.If(trailstatus == "00", "无意向客户", "拒绝客户"),
 					"new_value":    "流失",
 					"new_value":    "流失",
 					"createtime":   nowTime,
 					"createtime":   nowTime,
 					"BCPCID":       common.GetRandom(32),
 					"BCPCID":       common.GetRandom(32),
@@ -337,7 +338,7 @@ func autoExitSea() {
 					"clue_id":     clueId,
 					"clue_id":     clueId,
 					"position_id": positionId,
 					"position_id": positionId,
 					"change_type": "退出任务车",
 					"change_type": "退出任务车",
-					"new_value":   "无意向客户自动退回公海",
+					"new_value":   common.If(trailstatus == "00", "无意向客户自动退回公海", "拒绝客户自动退回公海"),
 					"createtime":  nowTime,
 					"createtime":  nowTime,
 					"BCPCID":      common.GetRandom(32),
 					"BCPCID":      common.GetRandom(32),
 					"operator_id": -1,
 					"operator_id": -1,
@@ -346,7 +347,7 @@ func autoExitSea() {
 					"clue_id":     clueId,
 					"clue_id":     clueId,
 					"position_id": positionId,
 					"position_id": positionId,
 					"change_type": "退回公海",
 					"change_type": "退回公海",
-					"new_value":   "无意向客户自动退回公海",
+					"new_value":   common.If(trailstatus == "00", "无意向客户自动退回公海", "拒绝客户自动退回公海"),
 					"createtime":  nowTime,
 					"createtime":  nowTime,
 					"BCPCID":      common.GetRandom(32),
 					"BCPCID":      common.GetRandom(32),
 					"operator_id": -1,
 					"operator_id": -1,

+ 49 - 12
clueSync/job.go

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

+ 3 - 1
clueSync/jobutil.go

@@ -1040,8 +1040,10 @@ func autoDraw(mode, cluename, phone string, isGroup, isCommerce int) (positionId
 						positionid := gconv.Int64(m["position_id"])
 						positionid := gconv.Int64(m["position_id"])
 						for _, v := range *pdata {
 						for _, v := range *pdata {
 							resign := common.IntAll(v["resign"])
 							resign := common.IntAll(v["resign"])
+							assign_type := common.IntAll(v["assign_type"])
+							role_id := common.IntAll(v["role_id"])
 							if positionid == common.Int64All(v["position_id"]) {
 							if positionid == common.Int64All(v["position_id"]) {
-								if resign == 0 {
+								if resign == 0 && (assign_type == 1 || role_id == 8) {
 									if !FindUpperLimit(gconv.String(positionid), mode, true) {
 									if !FindUpperLimit(gconv.String(positionid), mode, true) {
 										personMap[positionid] = true
 										personMap[positionid] = true
 										m["saleName"] = common.ObjToString(v["name"])
 										m["saleName"] = common.ObjToString(v["name"])

+ 1 - 1
clueSync/main.go

@@ -127,6 +127,7 @@ func main() {
 	MgoQyxy = mongodb.NewMgoWithUser(db.MgoQyxy.Address, db.MgoQyxy.DbName, db.MgoQyxy.User, db.MgoQyxy.Password, db.MgoQyxy.DbSize)
 	MgoQyxy = mongodb.NewMgoWithUser(db.MgoQyxy.Address, db.MgoQyxy.DbName, db.MgoQyxy.User, db.MgoQyxy.Password, db.MgoQyxy.DbSize)
 	InitArea()
 	InitArea()
 	InitProduct(db.ProductArr)
 	InitProduct(db.ProductArr)
+	tagAllSync()
 	//activeUsers() //取关重新关注处理
 	//activeUsers() //取关重新关注处理
 	if *mode == 1 {
 	if *mode == 1 {
 		//30分钟一次
 		//30分钟一次
@@ -209,5 +210,4 @@ func main() {
 		users()
 		users()
 		saleLeads()
 		saleLeads()
 	}
 	}
-
 }
 }

+ 21 - 5
telemarketingEtl/entity/dwd_f_userbase_visit_info.go

@@ -83,10 +83,21 @@ func VisitInfoAdd(start, end int64) {
 					}
 					}
 					url_ := gconv.String(thisData["url"])
 					url_ := gconv.String(thisData["url"])
 					reg := regexp.MustCompile(".*article/content/(.*)\\.html")
 					reg := regexp.MustCompile(".*article/content/(.*)\\.html")
+					portrait1reg := regexp.MustCompile(".*/swordfish/page_big_pc/unit_portrayal/(.*)")
+					portrait2reg := regexp.MustCompile(".*swordfish/page_big_pc/(.*)/ent_ser_portrait")
+					searchreg := regexp.MustCompile(".*jybx/core/(.*)/searchList")
 					contentnum := 0
 					contentnum := 0
+					portraitnum := 0
+					searchnum := 0
 					if reg.MatchString(url_) {
 					if reg.MatchString(url_) {
 						contentnum = 1
 						contentnum = 1
 					}
 					}
+					if portrait1reg.MatchString(url_) || portrait2reg.MatchString(url_) {
+						portraitnum = 1
+					}
+					if searchreg.MatchString(url_) {
+						searchnum = 1
+					}
 					createtime := gconv.Int64(thisData["date"])
 					createtime := gconv.Int64(thisData["date"])
 					starttime, endtime := getToday(createtime)
 					starttime, endtime := getToday(createtime)
 					craetetimeStr := time.Unix(createtime, 0).Format(date.Date_Full_Layout)
 					craetetimeStr := time.Unix(createtime, 0).Format(date.Date_Full_Layout)
@@ -102,15 +113,19 @@ func VisitInfoAdd(start, end int64) {
 					lock(userid).Lock()
 					lock(userid).Lock()
 					defer lock(userid).Unlock()
 					defer lock(userid).Unlock()
 					if config.JianyuSubjectdb.CountBySql(`select count(1) from dwd_f_userbase_visit_info where userid = ? and createtime>= ? and createtime <?`, userid, starttime, endtime) > 0 {
 					if config.JianyuSubjectdb.CountBySql(`select count(1) from dwd_f_userbase_visit_info where userid = ? and createtime>= ? and createtime <?`, userid, starttime, endtime) > 0 {
-						if contentnum == 0 {
-							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
-						} else {
+						if contentnum != 0 {
 							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,contentnum = contentnum + 1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
 							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,contentnum = contentnum + 1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
+						} else if portraitnum != 0 {
+							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,portraitnum = contentnum + 1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
+						} else if searchnum != 0 {
+							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,searchnum = contentnum + 1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
+						} else {
+							config.JianyuSubjectdb.UpdateOrDeleteBySql(`update dwd_f_userbase_visit_info set number = number+1,date =?,platform=? where userid = ? and createtime>= ? and createtime <?`, craetetimeStr, platform, userid, starttime, endtime)
 						}
 						}
 					} else {
 					} else {
 						config.JianyuSubjectdb.InsertBySql(`INSERT INTO dwd_f_userbase_visit_info
 						config.JianyuSubjectdb.InsertBySql(`INSERT INTO dwd_f_userbase_visit_info
-														(userid,DATE, number, platform,createtime,contentnum)
-														VALUES (?,?,?,?,?,?)`, userid, craetetimeStr, 1, platform, craetetimeStr, contentnum)
+														(userid,DATE, number, platform,createtime,contentnum,portraitnum,searchnum)
+														VALUES (?,?,?,?,?,?)`, userid, craetetimeStr, 1, platform, craetetimeStr, contentnum, portraitnum, searchnum)
 					}
 					}
 					if uid != "" {
 					if uid != "" {
 						if config.JianyuSubjectdb.CountBySql(`select count(1) from dwd_f_crm_attribute_label where uid = ?`, uid) > 0 {
 						if config.JianyuSubjectdb.CountBySql(`select count(1) from dwd_f_crm_attribute_label where uid = ?`, uid) > 0 {
@@ -119,6 +134,7 @@ func VisitInfoAdd(start, end int64) {
 							config.JianyuSubjectdb.Insert("dwd_f_crm_attribute_label", map[string]interface{}{
 							config.JianyuSubjectdb.Insert("dwd_f_crm_attribute_label", map[string]interface{}{
 								"uid":             uid,
 								"uid":             uid,
 								"last_login_time": craetetimeStr,
 								"last_login_time": craetetimeStr,
+								"updatetime":      time.Now().Format(time.DateTime),
 							})
 							})
 						}
 						}
 					}
 					}