Explorar o código

添加完成目标数据

wangbin %!s(int64=3) %!d(string=hai) anos
pai
achega
e8dfaeca52
Modificáronse 2 ficheiros con 25 adicións e 0 borrados
  1. 1 0
      model/log/log_statistics.go
  2. 24 0
      service/log/log_statistics.go

+ 1 - 0
model/log/log_statistics.go

@@ -71,6 +71,7 @@ type StatisticsLog struct {
 	TranscodingFail       int     `json:"transcoding_fail"`
 	ThirdPartyFail        int     `json:"third_party_fail"`
 	ScanningCodeSuccess   int     `json:"scanning_code_success"`
+	TargetComplete        int     `json:"target_complete"`
 }
 
 func (StatisticsLog) TableName() string {

+ 24 - 0
service/log/log_statistics.go

@@ -13,6 +13,7 @@ import (
 	"log-server/model/log"
 	"log-server/model/log/request"
 	"log-server/model/log/response"
+	"log-server/model/task"
 	"log-server/model/typeManage"
 	loging2 "log-server/service/log/loging"
 	"log-server/utils"
@@ -96,12 +97,22 @@ func (s *ServiceStatisticsLog) TodayCreateStatisticsGameInfoLog() {
 		global.GVA_LOG.Info("获取redis game list没有数据!")
 		return
 	}
+	completeTaskData, err := s.CompleteTaskData(date)
+	if err != nil {
+		global.GVA_LOG.Error("CompleteTaskData get data fail", zap.Error(err))
+		return
+	}
 	var statisticsLogs []*log.StatisticsLog
 	for gameId, _ := range gameMps {
 		for _, tt := range TaskType {
 			gameIdInt, _ := strconv.Atoi(gameId)
 			statisticsLogNew := new(log.StatisticsLog)
 			statisticsLog := s.statisticsData(ctx, gameIdInt, tt, date, statisticsLogNew)
+			if tt == 0 {
+				statisticsLog.TargetComplete = completeTaskData[gameIdInt].NewComplete + completeTaskData[gameIdInt].HandNewComplete
+			} else {
+				statisticsLog.TargetComplete = completeTaskData[gameIdInt].RetainedComplete + completeTaskData[gameIdInt].HandRetainedComplete - completeTaskData[gameIdInt].NewComplete - completeTaskData[gameIdInt].HandNewComplete
+			}
 			if !errors.Is(global.GVA_DB.Where("create_date = ?", date).Where("game_id = ?", gameIdInt).First(&log.StatisticsLog{}).Error, gorm.ErrRecordNotFound) {
 				// 已存在,跳过
 				err = global.GVA_DB.Where("game_id", gameIdInt).Where("create_date = ?", date).Where("type = ?", tt).Updates(statisticsLog).Error
@@ -134,6 +145,19 @@ func (s *ServiceStatisticsLog) TodayCreateStatisticsGameInfoLog() {
 	return
 }
 
+// 获取任务完成数据
+func (s *ServiceStatisticsLog) CompleteTaskData(date string) (mps map[int]task.GameTargetComplete, err error) {
+	db := global.GVA_DB.Table("game_target_complete")
+	db = db.Where("create_date = ?", date)
+	var apiList []task.GameTargetComplete
+	mps = map[int]task.GameTargetComplete{}
+	err = db.Order("id desc").Find(&apiList).Error
+	for _, api := range apiList {
+		mps[api.TaskId] = api
+	}
+	return
+}
+
 func (s *ServiceStatisticsLog) TodayStatisticsLogList(ctx context.Context, api log.StatisticsLog, info request.PageInfo) (interface{}, int64, error) {
 	db := global.GVA_DB.Model(&log.StatisticsLog{})
 	if api.GameId != 0 {