userAction.go 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package crons
  2. import (
  3. "designs/global"
  4. "fmt"
  5. "os"
  6. "time"
  7. )
  8. func ActiveDelete() {
  9. //读取前一日数据
  10. now := time.Now()
  11. for i := 30; i <= 40; i++ {
  12. last := now.AddDate(0, 0, -i).Format("2006-01-02")
  13. path := "storage" + "/" + last
  14. //删除前一天的文件夹
  15. err := os.RemoveAll(path)
  16. if err != nil {
  17. fmt.Println("删除文件夹失败:"+path, err)
  18. } else {
  19. fmt.Println("删除文件夹完成:" + path)
  20. }
  21. }
  22. }
  23. func OnlineDatabaseDelete() {
  24. //获取到表名
  25. now := time.Now()
  26. date := now.AddDate(0, 0, -29).Format("20060102")
  27. tableName := "user_online_" + date
  28. var tableList []string
  29. sql := "SELECT table_name FROM information_schema.tables WHERE table_schema = 'chunhao' AND table_name LIKE '" + tableName + "%'"
  30. err := global.App.DB.Raw(sql).Pluck("table_name", &tableList).Error
  31. if err != nil {
  32. global.App.Log.Error("查询", date, "user_online数据表失败", err.Error())
  33. return
  34. }
  35. //批量删除数据表
  36. for _, table := range tableList {
  37. sql := "drop table IF EXISTS " + table
  38. err := global.App.DB.Exec(sql).Error
  39. if err != nil {
  40. global.App.Log.Error("删除", table, "数据表失败", err.Error())
  41. return
  42. }
  43. }
  44. global.App.Log.Info(date, "数据表清理完成", tableList)
  45. }
  46. // 对日活数据进行汇算
  47. func RemainDataSummary() {
  48. //计算每日的留存
  49. }
  50. //对广告数据进行汇算
  51. //对打点数据进行汇算