|
|
@@ -1,6 +1,8 @@
|
|
|
package daytask
|
|
|
|
|
|
import (
|
|
|
+ "time"
|
|
|
+
|
|
|
model "go_server/model/biz_modules/daytask"
|
|
|
"go_server/model/common/response"
|
|
|
"go_server/service/base"
|
|
|
@@ -442,3 +444,35 @@ func (s *DtDailyStatsService) Find(c *gin.Context) {
|
|
|
"paging": resp.Paging,
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+// Summary 核心数据概览:近7日新注册、总注册人数、昨日用户任务提交数
|
|
|
+func (s *DtDailyStatsService) Summary(c *gin.Context) {
|
|
|
+ s.SetDbAlias("daytask")
|
|
|
+ db := s.DB()
|
|
|
+ now := time.Now().Unix()
|
|
|
+ sevenDaysAgo := now - 7*24*3600
|
|
|
+
|
|
|
+ var newUsers7d int64
|
|
|
+ db.Model(&model.DtUser{}).Where("deleted_at IS NULL AND created_at >= ?", sevenDaysAgo).Count(&newUsers7d)
|
|
|
+
|
|
|
+ var totalUsers int64
|
|
|
+ db.Model(&model.DtUser{}).Where("deleted_at IS NULL").Count(&totalUsers)
|
|
|
+
|
|
|
+ loc := time.Local
|
|
|
+ today := time.Now().In(loc)
|
|
|
+ yesterday := today.AddDate(0, 0, -1)
|
|
|
+ start := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, loc)
|
|
|
+ startUnix := start.Unix()
|
|
|
+ endUnix := start.Add(24 * time.Hour).Unix()
|
|
|
+
|
|
|
+ var yesterdayTaskSubmits int64
|
|
|
+ db.Model(&model.DtUserTask{}).
|
|
|
+ Where("submit_time > 0 AND submit_time >= ? AND submit_time < ?", startUnix, endUnix).
|
|
|
+ Count(&yesterdayTaskSubmits)
|
|
|
+
|
|
|
+ response.Resp(c, gin.H{
|
|
|
+ "newUsers7d": newUsers7d,
|
|
|
+ "totalUsers": totalUsers,
|
|
|
+ "yesterdayTaskSubmits": yesterdayTaskSubmits,
|
|
|
+ })
|
|
|
+}
|