浏览代码

no message

zhangchuanxing 1 周之前
父节点
当前提交
5029c1b05e
共有 2 个文件被更改,包括 175 次插入0 次删除
  1. 145 0
      controllers/cygx/report_article.go
  2. 30 0
      models/cygx/cygx_user.go

+ 145 - 0
controllers/cygx/report_article.go

@@ -7588,3 +7588,148 @@ func initgggg() {
 	}
 	}
 	return
 	return
 }
 }
+
+//func init() {
+//	initActComapnyIds()
+//}
+
+// 固收类型互动记录
+func initActComapnyIds() {
+
+	var condition string
+	mapuserMapbil := make(map[int]*models.WxUserSller)
+
+	companyIdArr := []int{19130, 17227, 5349, 18764}
+	//companyIdArr = []int{17227}
+	fmt.Println(companyIdArr)
+	listCompany, err := models.GetWxUserRaiSllerListByUserComapnyId(companyIdArr)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+
+	for _, v := range listCompany {
+		mapuserMapbil[v.CompanyId] = v
+	}
+
+	//创建excel
+	dir, err := os.Executable()
+	exPath := filepath.Dir(dir)
+	downLoadnFilePath := exPath + "/" + time.Now().Format(utils.FormatDateTimeUnSpace) + ".xlsx"
+	xlsxFile := xlsx.NewFile()
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	style := xlsx.NewStyle()
+	alignment := xlsx.Alignment{
+		Horizontal: "center",
+		Vertical:   "center",
+		WrapText:   true,
+	}
+	style.Alignment = alignment
+	style.ApplyAlignment = true
+
+	redStyle := xlsx.NewStyle()
+	redStyle.Alignment = alignment
+	redStyle.ApplyAlignment = true
+	redStyle.Font.Color = "ff0000"
+	//定义底色需要标黄的 单元格颜色
+	redFill := xlsx.Fill{"solid", "ffff00", "ffff00"}
+	redStyle.Fill = redFill
+	//redStyle.Border = *border
+
+	var sheetName string
+	sheetName = "互动信息"
+	sheet, err := xlsxFile.AddSheet(sheetName)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	//标头
+	rowTitle := sheet.AddRow()
+
+	cellAct := rowTitle.AddCell()
+	cellAct.Value = "公司名称"
+
+	cellB := rowTitle.AddCell()
+	cellB.Value = "1月份活动互动量"
+
+	cellActime := rowTitle.AddCell()
+	cellActime.Value = "2月份活动互动量"
+
+	cellD := rowTitle.AddCell()
+	cellD.Value = "3月份活动互动量"
+
+	cellE := rowTitle.AddCell()
+	cellE.Value = "4月份活动互动量"
+
+	cellArt1 := rowTitle.AddCell()
+	cellArt1.Value = "1月份报告互动量"
+
+	cellArt2 := rowTitle.AddCell()
+	cellArt2.Value = "2月份报告互动量"
+
+	cellArt3 := rowTitle.AddCell()
+	cellArt3.Value = "3月份报告互动量"
+
+	cellArt4 := rowTitle.AddCell()
+	cellArt4.Value = "4月份报告互动量"
+
+	for _, v := range listCompany {
+		row := sheet.AddRow()
+		cellComData := row.AddCell()
+		cellComData.Value = v.CompanyName
+		for i := 1; i < 5; i++ {
+			//var statrDate, endDate string
+			statrDate := fmt.Sprint("2025-", i, "-01")
+			endDate := fmt.Sprint("2025-", i, "-31")
+			condition = `  AND  ( is_meeting  = 1  OR    duration != '' )  AND  a.activity_time >= '` + statrDate + `'  AND  a.activity_time <='` + endDate + `' AND  s.company_id = ` + strconv.Itoa(v.CompanyId)
+			listData, err := cygx.GetActivityMeetByUser(condition, 0, 99999)
+			if err != nil {
+				fmt.Println(err)
+				return
+			}
+			cellActData := row.AddCell()
+			cellActData.Value = strconv.Itoa(len((listData)))
+			//var conditionArt string
+			//var parsArt []interface{}
+			//conditionArt = ` AND  s.create_time >=  ?  AND  s.create_time <= ? AND  s.company_id = ?`
+			//parsArt = append(parsArt, statrDate, endDate, v.CompanyId)
+			//listTotal, err := cygx.GetCygxCompanyUserListSplitArt(conditionArt, parsArt)
+			//if err != nil {
+			//	fmt.Println(err)
+			//	return
+			//}
+			//cellArtData := row.AddCell()
+			//cellArtData.Value = strconv.Itoa(listTotal)
+			fmt.Println(len(listData))
+		}
+
+		for i := 1; i < 5; i++ {
+			//var statrDate, endDate string
+			statrDate := fmt.Sprint("2025-", i, "-01")
+			endDate := fmt.Sprint("2025-", i, "-31")
+
+			var conditionArt string
+			var parsArt []interface{}
+			conditionArt = ` AND r.source = 'article'   AND  r.create_time >=  ?  AND  r.create_time <= ? AND  r.company_id = ?`
+			parsArt = append(parsArt, statrDate, endDate, v.CompanyId)
+			listTotal, err := cygx.GetCygxArticleAndYanxuanRecordCount(conditionArt, parsArt)
+			if err != nil {
+				fmt.Println(err)
+				return
+			}
+			cellArtData := row.AddCell()
+			cellArtData.Value = strconv.Itoa(listTotal)
+			fmt.Println((listTotal))
+		}
+	}
+
+	err = xlsxFile.Save(downLoadnFilePath)
+	if err != nil {
+		fmt.Println(err)
+		return
+	}
+	fmt.Println("end")
+}

+ 30 - 0
models/cygx/cygx_user.go

@@ -220,6 +220,36 @@ func GetCygxCompanyUserListSplit(userIds string) (items []*CygxCompanyUser, err
 	return
 	return
 }
 }
 
 
+// 对于上面的SQL的拆分优化查询速度
+//func GetCygxCompanyUserListSplitArt(condition string) (items []*CygxCompanyUser, err error) {
+//	o := orm.NewOrmUsingDB("hz_cygx")
+//	sql := ` SELECT COUNT( 1 )  as total  FROM cygx_article_history_record_all AS h  INNER JOIN cygx_article  as art  ON  art.article_id = h.article_id  WHERE h.mobile = u.mobile AND h.is_del = 0   AND h.mobile <>''   ` + condition
+//	_, err = o.Raw(sql).QueryRows(&items)
+//	return
+//}
+
+// 获取数量
+func GetCygxCompanyUserListSplitArt(condition string, pars []interface{}) (count int, err error) {
+	sqlCount := ` SELECT COUNT( 1 )  as count  FROM cygx_article_history_record_all AS  s  INNER JOIN cygx_article  as art  ON  art.article_id =  s.article_id   WHERE 1= 1  `
+	if condition != "" {
+		sqlCount += condition
+	}
+	o := orm.NewOrmUsingDB("hz_cygx")
+	err = o.Raw(sqlCount, pars).QueryRow(&count)
+	return
+}
+
+// 获取数量
+//func GetActivityCount(condition string, pars []interface{}) (count int, err error) {
+//	sqlCount := ` SELECT COUNT(1) AS count  FROM cygx_activity as art WHERE 1= 1  `
+//	if condition != "" {
+//		sqlCount += condition
+//	}
+//	o := orm.NewOrmUsingDB("hz_cygx")
+//	err = o.Raw(sqlCount, pars).QueryRow(&count)
+//	return
+//}
+
 type UserRemarks struct {
 type UserRemarks struct {
 	Id         int       `orm:"column(id);pk"`
 	Id         int       `orm:"column(id);pk"`
 	UserId     int       `description:"用户ID"`
 	UserId     int       `description:"用户ID"`