Browse Source

Merge branch 'crm_15.9' of http://8.136.199.33:3000/hongze/hongze_cygx into debug

xingzai 8 months ago
parent
commit
59e69bf161
2 changed files with 55 additions and 39 deletions
  1. 2 0
      models/company/company_product.go
  2. 53 39
      services/rai_serve_count.go

+ 2 - 0
models/company/company_product.go

@@ -101,6 +101,8 @@ func GetCompanyProductAndCompanyListByCondition(condition string, pars []interfa
 			p.end_date,
 			p.share_seller_id,
 			p.share_seller,
+			p.group_id,
+			p.share_group_id,
 			p.status,
 			c.company_name
 		FROM

+ 53 - 39
services/rai_serve_count.go

@@ -14,6 +14,9 @@ import (
 	"time"
 )
 
+// var startWeekDate = time.Now().AddDate(0, 0, -75).Format(utils.FormatDate) + " 23:59:59" // 查询12周以内的数据
+//var startWeekDate = time.Now().AddDate(0, 0, -75).Format(utils.FormatDateTime) // 查询12周以内的数据
+
 //权益服务统计
 
 //上线跑的脚本
@@ -119,7 +122,7 @@ func UpdateRaiServeCompany() (err error) {
 	}
 
 	var items []*rai_serve.CygxRaiServeCompany
-	var itemsUpadte []*rai_serve.CygxRaiServeCompany
+	var itemsUpdate []*rai_serve.CygxRaiServeCompany
 	for _, v := range listCompanyProduct {
 		item := new(rai_serve.CygxRaiServeCompany)
 		item.CompanyId = v.CompanyId
@@ -138,17 +141,17 @@ func UpdateRaiServeCompany() (err error) {
 			items = append(items, item) // 如果原有数据不存在就新增
 		} else {
 			if mapOLdCompanyDate[v.CompanyId] != fmt.Sprint(v.CompanyId, v.CompanyName, v.SellerId, v.StartDate, v.EndDate, v.ShareSeller, v.ShareSellerId, v.Status, v.GroupId, v.ShareGroupId) {
-				itemsUpadte = append(itemsUpadte, item) // 新老数据不一致就进行修改
+				itemsUpdate = append(itemsUpdate, item) // 新老数据不一致就进行修改
 			}
 		}
 	}
 
 	fmt.Println("items", len(items))
-	fmt.Println("itemsUpadte", len(itemsUpadte))
+	fmt.Println("itemsUpadte222", len(itemsUpdate))
 	fmt.Println("delCompanyIds", len(delCompanyIds))
 
 	//先删除老的再添加新的
-	e = rai_serve.AddCygxRaiServeCompanyMulti(items, itemsUpadte, delCompanyIds)
+	e = rai_serve.AddCygxRaiServeCompanyMulti(items, itemsUpdate, delCompanyIds)
 	if e != nil {
 		err = errors.New("AddCygxRaiServeCompanyMulti, Err: " + e.Error())
 		return
@@ -424,6 +427,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		}
 	}()
 	var delBillIds []int
+	var startWeekDate = time.Now().AddDate(0, 0, -75).Format(utils.FormatDate) + " 23:59:59"
 	fmt.Println("UpdateCygxRaiServeBillByCompanyIds start")
 	companyList, e := rai_serve.GetCygxRaiServeCompanyAllList()
 	if e != nil {
@@ -449,11 +453,11 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 
 	var condition string
 	var pars []interface{}
-	createTime := time.Now().AddDate(0, 0, -80) // 查询12周以内的数据
 
 	condition = " AND  company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND create_time > ?  "
-	pars = append(pars, companyIds, createTime)
+	pars = append(pars, companyIds, startWeekDate)
 
+	fmt.Println("startWeekDate", startWeekDate)
 	//研选专栏阅读记录内容
 	{
 		listYanxuanSpecialRecord, e := models.GetCygxYanxuanSpecialRecordRespListAll(condition+"  GROUP BY user_id, yanxuan_special_id  ORDER BY create_time ASC ", pars)
@@ -486,7 +490,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'yanxuanspecial' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByYanxuanspecial, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -540,7 +544,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'article' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByArticle, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -620,7 +624,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'activity' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByActivity, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -697,7 +701,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'activityspecial' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByActivitySpecial, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -797,7 +801,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'rscalendar' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByRscalendar, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -871,7 +875,7 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 		var conditionBill string
 		var parsBill []interface{}
 		conditionBill = " AND source = 'userfeedback' AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-		parsBill = append(parsBill, companyIds, createTime)
+		parsBill = append(parsBill, companyIds, startWeekDate)
 		listBillByuserFeedback, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 		if e != nil {
 			err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -923,15 +927,20 @@ func UpdateCygxRaiServeBillByCompanyIds() (err error) {
 	//交流反馈 end
 
 	if len(items) > 0 {
-		e = rai_serve.AddCygxRaiServeBillMulti(items)
-		if e != nil {
-			err = errors.New("AddCygxRaiServeBillMulti, Err: " + e.Error())
-			return
+		var itemsAdd []*rai_serve.CygxRaiServeBill
+		for k, v := range items {
+			itemsAdd = append(itemsAdd, v)
+			if len(itemsAdd)%2000 == 0 {
+				fmt.Println(k)
+				e = rai_serve.AddCygxRaiServeBillMulti(itemsAdd)
+				if e != nil {
+					err = errors.New("AddCygxRaiServeBillMulti, Err: " + e.Error())
+					return
+				}
+				itemsAdd = make([]*rai_serve.CygxRaiServeBill, 0)
+			}
 		}
-	}
-
-	if len(delBillIds) > 0 {
-		e = rai_serve.DelCygxRaiServeCompanyMulti(delBillIds)
+		e = rai_serve.AddCygxRaiServeBillMulti(itemsAdd)
 		if e != nil {
 			err = errors.New("AddCygxRaiServeBillMulti, Err: " + e.Error())
 			return
@@ -979,8 +988,9 @@ func UpdateCygxRaiServeBillWeek() (err error) {
 	//研选阅读明细
 	var conditionBill string
 	var parsBill []interface{}
+	var startWeekDate = time.Now().AddDate(0, 0, -75).Format(utils.FormatDate) + " 23:59:59"
 	conditionBill = "  AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-	parsBill = append(parsBill, companyIds, time.Now().AddDate(0, 0, -80))
+	parsBill = append(parsBill, companyIds, startWeekDate)
 	listBillByYanxuanspecial, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 	if e != nil {
 		err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -989,7 +999,7 @@ func UpdateCygxRaiServeBillWeek() (err error) {
 
 	mapWeekServeCount := make(map[string]float64)
 	for _, v := range listBillByYanxuanspecial {
-		mapWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] += v.ServeCount
+		mapWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] += v.ServeCount
 	}
 
 	fmt.Println(companyIds)
@@ -1006,7 +1016,7 @@ func UpdateCygxRaiServeBillWeek() (err error) {
 			item.CompanyId = v.CompanyId
 			item.CompanyName = v.CompanyName
 			item.UserTotal = mapCompanyUserNum[v.CompanyId]
-			item.WeekServeCount = mapWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
+			item.WeekServeCount = mapWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
 			if mapCompanyUserNum[v.CompanyId] > 0 {
 				item.CoverageRate = item.WeekServeCount / float64(mapCompanyUserNum[v.CompanyId]) * 100
 			}
@@ -1032,7 +1042,7 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 	}()
 	fmt.Println("UpdateCygxRaiServeBillWeekTask start")
 	now := time.Now()
-	weeks := 12
+	weeks := 11
 
 	companyList, e := rai_serve.GetCygxRaiServeCompanyAllList()
 	if e != nil {
@@ -1059,11 +1069,11 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 		return
 	}
 	//明细
-	startDate := time.Now().AddDate(0, 0, -80)
 	var conditionBill string
 	var parsBill []interface{}
+	var startWeekDate = time.Now().AddDate(0, 0, -75).Format(utils.FormatDate) + " 23:59:59"
 	conditionBill = "  AND   company_id IN  (" + utils.GetOrmInReplace(lencompanyId) + ")  AND view_time > ?  "
-	parsBill = append(parsBill, companyIds, startDate)
+	parsBill = append(parsBill, companyIds, startWeekDate)
 	listBill, e := rai_serve.GetCygxRaiServeBillListAll(conditionBill, parsBill)
 	if e != nil {
 		err = errors.New("GetCygxRaiServeBillListAll, Err: " + e.Error())
@@ -1072,30 +1082,33 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 
 	mapWeekServeCount := make(map[string]float64)
 	for _, v := range listBill {
-		mapWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] += v.ServeCount
+		mapWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] += v.ServeCount
 	}
 
 	var conditionWeek string
 	var parsWeek []interface{}
 
-	conditionWeek = ` AND week_start_date >= ? `
-	parsWeek = append(parsWeek, startDate)
+	conditionWeek = ` AND week_start_date > ? `
+	parsWeek = append(parsWeek, startWeekDate)
 
 	listWeekBill, e := rai_serve.GetCygxRaiServeWeekBillListAll(conditionWeek, parsWeek)
 	if e != nil {
 		err = errors.New("GetCygxRaiServeWeekBillListAll, Err: " + e.Error())
 		return
 	}
+	//return
 
 	mapWeekbill := make(map[string]bool)
+	mapWeekbill2 := make(map[string]int)
 	mapWeekbillUserTotal := make(map[string]int)
 	mapWeekbillWeekServeCount := make(map[string]float64)
 	mapWeekbillWeekCoverageRate := make(map[string]float64)
 	for _, v := range listWeekBill {
-		mapWeekbill[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = true
-		mapWeekbillUserTotal[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.UserTotal
-		mapWeekbillWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.WeekServeCount
-		mapWeekbillWeekCoverageRate[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.CoverageRate
+		mapWeekbill[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = true
+		mapWeekbill2[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.CompanyId
+		mapWeekbillUserTotal[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.UserTotal
+		mapWeekbillWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.WeekServeCount
+		mapWeekbillWeekCoverageRate[fmt.Sprint("CID_", v.CompanyId, "WEEK_", v.WeekStartDate)] = v.CoverageRate
 	}
 
 	var items []*rai_serve.CygxRaiServeWeekBill
@@ -1112,19 +1125,19 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 			item.CompanyId = v.CompanyId
 			item.CompanyName = v.CompanyName
 			//超过本周的,互动总人数不做修改
-			if i > 0 && mapWeekbillUserTotal[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] > 0 {
-				item.UserTotal = mapWeekbillUserTotal[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
+			if i > 0 && mapWeekbillUserTotal[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] > 0 {
+				item.UserTotal = mapWeekbillUserTotal[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
 			} else {
 				item.UserTotal = mapCompanyUserNum[v.CompanyId]
 			}
-			item.WeekServeCount = mapWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
+			item.WeekServeCount = mapWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)]
 			if mapCompanyUserNum[v.CompanyId] > 0 {
 				item.CoverageRate = item.WeekServeCount / float64(mapCompanyUserNum[v.CompanyId]) * 100
 			}
 			item.CreateTime = time.Now()
 			item.ModifyTime = time.Now()
-			if mapWeekbill[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] {
-				if mapWeekbillUserTotal[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] == item.UserTotal && mapWeekbillWeekServeCount[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] == item.WeekServeCount && mapWeekbillWeekCoverageRate[fmt.Sprintf("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] == item.CoverageRate {
+			if mapWeekbill[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] {
+				if mapWeekbillUserTotal[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] == item.UserTotal && mapWeekbillWeekServeCount[fmt.Sprint("CID_", v.CompanyId, "WEEK_", item.WeekStartDate)] == item.WeekServeCount {
 					continue // 如果互动量相等,且人数相等,就不修改
 				}
 				itemsUpdate = append(itemsUpdate, item)
@@ -1134,6 +1147,7 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 		}
 	}
 
+	fmt.Println("itemsadd", len(items))
 	if len(items) > 0 {
 		e = rai_serve.AddCygxRaiServeWeekBillMulti(items)
 		if e != nil {
@@ -1141,7 +1155,7 @@ func UpdateCygxRaiServeBillWeekTask() (err error) {
 			return
 		}
 	}
-	fmt.Println("itemsUpdate", len(itemsUpdate))
+	fmt.Println("itemsUpdate111", len(itemsUpdate))
 	if len(itemsUpdate) > 0 {
 		e = rai_serve.UpdateCygxRaiServeWeekBillMulti(itemsUpdate)
 		if e != nil {