Procházet zdrojové kódy

百度账号更新

wangbin před 2 roky
rodič
revize
fdf4f1bd43

+ 2 - 0
api/v1/levelMonitor/image_record.go

@@ -8,6 +8,7 @@ import (
 	"log-server/model/levelMonitor"
 	"log-server/model/levelMonitor/request"
 	"log-server/utils"
+	"strconv"
 )
 
 type ImageRecordApi struct {
@@ -49,6 +50,7 @@ func (a *ImageRecordApi) UploadOrNot(c *gin.Context) {
 	if record.TaskId == 0 {
 		response.FailWithMessage("任务id不能为空", c)
 	}
+	global.GVA_LOG.Info("gameId = " + strconv.Itoa(record.TaskId) + "account = " + record.Account)
 	if err := imageRecordService.UploadOrNot(record); err != nil {
 		response.FailWithMessage("不用上传", c)
 	} else {

+ 188 - 188
initialize/timer.go

@@ -45,207 +45,207 @@ func Timer() {
 		}
 	}
 
-	//// 定时更新前一天的统计数据
-	//_, err := global.GVA_Timer.AddTaskByFunc("StatisticsLog", "2 8 5 * * * ", serviceStatisticsLog.CreateStatisticsLog)
-	//if err != nil {
-	//	fmt.Println("add taskCode timer error:", err)
-	//}
-	//
-	////定时同步电脑相关的统计数据
-	//_, err = global.GVA_Timer.AddTaskByFunc("CreateComputerStatisticsData", "40 9,19,29,39,49,59 7-23 * * * ", serviceStatisticsLog.CreateComputerStatisticsData)
-	//if err != nil {
-	//	fmt.Println("add CreateComputerStatisticsData timer error:", err)
-	//}
-	//// 同步游戏相关的统计数据
-	//_, err = global.GVA_Timer.AddTaskByFunc("TodayCreateStatisticsGameInfoLog", "2 8,18,28,38,48,58 6-23 * * * ", serviceStatisticsLog.TodayCreateStatisticsGameInfoLog)
-	//if err != nil {
-	//	fmt.Println("add TodayCreateStatisticsGameInfoLog timer error:", err)
-	//}
-	//// 同步任务统计数据
-	//_, err = global.GVA_Timer.AddTaskByFunc("TaskStatisticsDataCache", "20 0/3 6-23 * * * ", serviceStatisticsLog.TaskStatisticsDataCache)
-	//if err != nil {
-	//	fmt.Println("add TaskStatisticsDataCache timer error:", err)
-	//}
-	//// 重试失败数据
-	//_, err = global.GVA_Timer.AddTaskByFunc("createFailLog", "2 15,35,55 6-23 * * * ", ServiceLogList.CreateFailLog)
-	//if err != nil {
-	//	fmt.Println("everyDayResetStatisticsCache timer error:", err)
-	//}
-	//// 定时检查电脑上报
-	//_, err = global.GVA_Timer.AddTaskByFunc("RegularCheckPc", "2 2 9-23 * * * ", serviceStatisticsLog.RegularCheckPc)
-	//if err != nil {
-	//	fmt.Println("RegularCheckPc timer error:", err)
-	//}
-	//// 新建日志表
-	//_, err = global.GVA_Timer.AddTaskByFunc("RegularCreateLogingTable", "2 1 19 20 * * ", ServiceLogList.RegularCreateLogingTable)
-	//if err != nil {
-	//	fmt.Println("add RegularCreateLogingTable timer error:", err)
-	//}
-	//// 定时删缓存
-	//_, err = global.GVA_Timer.AddTaskByFunc("RegularDelCheckData", "2 33 11 * * *", serviceStatisticsLog.RegularDelCheckData)
-	//if err != nil {
-	//	fmt.Println("add RegularDelCheckData timer error:", err)
-	//}
-	////定时添加任务
-	//_, err = global.GVA_Timer.AddTaskByFunc("EveryDaySyncTaskData", "30 22 21 * * *", syncData.EveryDaySyncTaskData)
-	//if err != nil {
-	//	fmt.Println("add EveryDaySyncTaskData timer error:", err)
-	//}
-	////同步任务数据
-	//_, err = global.GVA_Timer.AddTaskByFunc("SyncTaskData", "2 1/3 1-23 * * *", syncData.SyncTaskData)
-	//if err != nil {
-	//	fmt.Println("add SyncTaskData timer error:", err)
-	//}
-	//// 数优任务统计
-	//_, err = global.GVA_Timer.AddTaskByFunc("DayTargetDataStatistics", "40 2 5 * * *", syncData.DayTargetDataStatistics)
-	//if err != nil {
-	//	fmt.Println("add DayTargetDataStatistics timer error:", err)
-	//}
-	//
-	//// 定时检查是否有电脑到期,修改租机状态@every 1s
-	//_, err = global.GVA_Timer.AddTaskByFunc("CheckIsExpire", "0 0/5 * * * *", serviceRentComputer.CheckIsExpire)
-	//if err != nil {
-	//	fmt.Println("add CheckIsExpire timer error:", err)
-	//}
-	//// 定时生成租机每日台账@every 1s
-	//_, err = global.GVA_Timer.AddTaskByFunc("CreateRentComputerLedger", "0 30 23 * * *", serviceRentComputer.CreateRentComputerLedger)
-	//if err != nil {
-	//	fmt.Println("add CreateRentComputerLedger timer error:", err)
-	//}
-	//
-	////定时获取扫码平台余额,每小时执行一次
-	////_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
-	////_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
-	////if err != nil {
-	////	fmt.Println("add UpdateGameVersion timer error:", err)
-	////}
-	////定时更新异常率
-	//_, err = global.GVA_Timer.AddTaskByFunc("SyncAbnormalRateByBatch", "0 1,31 * * * *", serviceDataAbnormalRate.SyncAbnormalRateByBatch)
-	//if err != nil {
-	//	fmt.Println("add SyncAbnormalRateByBatch timer error:", err)
-	//}
-	//
-	//////定时更新当日微信扫码订单列表
-	////_, err = global.GVA_Timer.AddTaskByFunc("SyncTodayWeChatScannerDetailed", "0 3,33 * * * *", serviceWeChatScannerDetailed.SyncTodayWeChatScannerDetailed)
-	////if err != nil {
-	////	fmt.Println("add SyncTodayWeChatScannerDetailed timer error:", err)
-	////}
-	//
-	//////0点更新昨日微信扫码订单列表
-	////_, err = global.GVA_Timer.AddTaskByFunc("SyncYesterdayWeChatScannerDetailed", "1 1 0 * * *", serviceWeChatScannerDetailed.SyncYesterdayWeChatScannerDetailed)
-	////if err != nil {
-	////	fmt.Println("add SyncYesterdayWeChatScannerDetailed timer error:", err)
-	////}
-	//
-	//////半小时同步一次机房设备信息,播报是否有异常
-	////_, err = global.GVA_Timer.AddTaskByFunc("SyncJfDevicesMessage", "0 0,30 * * * *", robotService.SyncJfDevicesMessage)
-	////if err != nil {
-	////	fmt.Println("add SyncJfDevicesMessage timer error:", err)
-	////}
-	//
-	//// 活跃定时推送消息
-	//_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "20 2/30 8-21 * * *", syncData.TaskMsgSend)
-	//if err != nil {
-	//	fmt.Println("add TaskMsgSend timer error:", err)
-	//}
-	//
-	//// 活跃定时推送消息
-	//_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "30 1/10 22-23 * * *", syncData.TaskMsgSend)
-	//if err != nil {
-	//	fmt.Println("add TaskMsgSend timer error:", err)
-	//}
-	//
-	//// 付费定时推送消息
-	//_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "45 2/15 8-21 * * *", syncData.TaskFreeMsgSend)
-	//if err != nil {
-	//	fmt.Println("add TaskFreeMsgSend timer error:", err)
-	//}
-	//
-	//// 付费定时推送消息
-	//_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "50 1/5 22-23 * * *", syncData.TaskFreeMsgSend)
-	//if err != nil {
-	//	fmt.Println("add TaskFreeMsgSend timer error:", err)
-	//}
-	//
-	//// 23起检测任务完成情况
-	//_, err = global.GVA_Timer.AddTaskByFunc("CheckTaskCompletedInfo", "57 10/4 23 * * *", syncData.CheckTaskCompletedInfo)
-	//if err != nil {
-	//	fmt.Println("add CheckTaskCompletedInfo timer error:", err)
-	//}
-	//
-	////定时更新游戏版本号和链接
-	//_, err = global.GVA_Timer.AddTaskByFunc("UpdateGameVersion", "0 3/15 * * * *", serviceDownLoadUrl.UpdateGameVersion)
+	// 定时更新前一天的统计数据
+	_, err := global.GVA_Timer.AddTaskByFunc("StatisticsLog", "2 8 5 * * * ", serviceStatisticsLog.CreateStatisticsLog)
+	if err != nil {
+		fmt.Println("add taskCode timer error:", err)
+	}
+
+	//定时同步电脑相关的统计数据
+	_, err = global.GVA_Timer.AddTaskByFunc("CreateComputerStatisticsData", "40 9,19,29,39,49,59 7-23 * * * ", serviceStatisticsLog.CreateComputerStatisticsData)
+	if err != nil {
+		fmt.Println("add CreateComputerStatisticsData timer error:", err)
+	}
+	// 同步游戏相关的统计数据
+	_, err = global.GVA_Timer.AddTaskByFunc("TodayCreateStatisticsGameInfoLog", "2 8,18,28,38,48,58 6-23 * * * ", serviceStatisticsLog.TodayCreateStatisticsGameInfoLog)
+	if err != nil {
+		fmt.Println("add TodayCreateStatisticsGameInfoLog timer error:", err)
+	}
+	// 同步任务统计数据
+	_, err = global.GVA_Timer.AddTaskByFunc("TaskStatisticsDataCache", "20 0/3 6-23 * * * ", serviceStatisticsLog.TaskStatisticsDataCache)
+	if err != nil {
+		fmt.Println("add TaskStatisticsDataCache timer error:", err)
+	}
+	// 重试失败数据
+	_, err = global.GVA_Timer.AddTaskByFunc("createFailLog", "2 15,35,55 6-23 * * * ", ServiceLogList.CreateFailLog)
+	if err != nil {
+		fmt.Println("everyDayResetStatisticsCache timer error:", err)
+	}
+	// 定时检查电脑上报
+	_, err = global.GVA_Timer.AddTaskByFunc("RegularCheckPc", "2 2 9-23 * * * ", serviceStatisticsLog.RegularCheckPc)
+	if err != nil {
+		fmt.Println("RegularCheckPc timer error:", err)
+	}
+	// 新建日志表
+	_, err = global.GVA_Timer.AddTaskByFunc("RegularCreateLogingTable", "2 1 19 20 * * ", ServiceLogList.RegularCreateLogingTable)
+	if err != nil {
+		fmt.Println("add RegularCreateLogingTable timer error:", err)
+	}
+	// 定时删缓存
+	_, err = global.GVA_Timer.AddTaskByFunc("RegularDelCheckData", "2 33 11 * * *", serviceStatisticsLog.RegularDelCheckData)
+	if err != nil {
+		fmt.Println("add RegularDelCheckData timer error:", err)
+	}
+	//定时添加任务
+	_, err = global.GVA_Timer.AddTaskByFunc("EveryDaySyncTaskData", "30 22 21 * * *", syncData.EveryDaySyncTaskData)
+	if err != nil {
+		fmt.Println("add EveryDaySyncTaskData timer error:", err)
+	}
+	//同步任务数据
+	_, err = global.GVA_Timer.AddTaskByFunc("SyncTaskData", "2 1/3 1-23 * * *", syncData.SyncTaskData)
+	if err != nil {
+		fmt.Println("add SyncTaskData timer error:", err)
+	}
+	// 数优任务统计
+	_, err = global.GVA_Timer.AddTaskByFunc("DayTargetDataStatistics", "40 2 5 * * *", syncData.DayTargetDataStatistics)
+	if err != nil {
+		fmt.Println("add DayTargetDataStatistics timer error:", err)
+	}
+
+	// 定时检查是否有电脑到期,修改租机状态@every 1s
+	_, err = global.GVA_Timer.AddTaskByFunc("CheckIsExpire", "0 0/5 * * * *", serviceRentComputer.CheckIsExpire)
+	if err != nil {
+		fmt.Println("add CheckIsExpire timer error:", err)
+	}
+	// 定时生成租机每日台账@every 1s
+	_, err = global.GVA_Timer.AddTaskByFunc("CreateRentComputerLedger", "0 30 23 * * *", serviceRentComputer.CreateRentComputerLedger)
+	if err != nil {
+		fmt.Println("add CreateRentComputerLedger timer error:", err)
+	}
+
+	//定时获取扫码平台余额,每小时执行一次
+	//_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
+	//_, err = global.GVA_Timer.AddTaskByFunc("SyncGetWeChatScannerBalance", "0 58 * * * *", serviceWeChatScannerApi.SyncGetWeChatScannerBalance)
 	//if err != nil {
 	//	fmt.Println("add UpdateGameVersion timer error:", err)
 	//}
-	//
-	////定时更新在线电脑缓存
-	//_, err = global.GVA_Timer.AddTaskByFunc("OnlinePcCodeUpdateCache", "14 7 8-20 * * *", ServiceRegularTask.OnlinePcCodeUpdateCache)
-	//if err != nil {
-	//	fmt.Println("add OnlinePcCodeUpdateCache timer error:", err)
-	//}
-	//
-	//// 定时同步arpu值
-	//_, err = global.GVA_Timer.AddTaskByFunc("SyncArpu", "50 36 23 * * *", syncData.SyncArpu)
-	//if err != nil {
-	//	fmt.Println("add SyncArpu timer error:", err)
-	//}
-	//
-	//// 提醒修改腾讯目标
-	////_, err = global.GVA_Timer.AddTaskByFunc("RemindSendOne", "11 2 18,22 * * *", syncData.RemindSendOne)
-	////if err != nil {
-	////	fmt.Println("add RemindSendOne timer error:", err)
-	////}
-	//
-	////定时获取机房小绵羊新号剩余
-	//_, err = global.GVA_Timer.AddTaskByFunc("SyncJfXmyNewAccount", "0 0,30 * * * *", robotService.SyncJfXmyNewAccount)
-	//if err != nil {
-	//	fmt.Println("add SyncJfXmyNewAccount timer error:", err)
-	//}
-	//
-	//// 设备信息
-	//_, err = global.GVA_Timer.AddTaskByFunc("DeviceStatistics", "10 9/10 8-23 * * *", serviceStatisticsLog.DeviceStatistics)
-	//if err != nil {
-	//	fmt.Println("add DeviceStatistics timer error:", err)
-	//}
-	//
-	////定时查看延迟更新的镜像是否到期
-	//_, err = global.GVA_Timer.AddTaskByFunc("CheckPushTime", "35 0/5 * * * *", serviceFileQiniu.CheckPushTime)
-	//if err != nil {
-	//	fmt.Println("add CheckPushTime timer error:", err)
-	//}
-	//
-	//// 半小时同步一次IP信息,播报是否有异常
-	//_, err = global.GVA_Timer.AddTaskByFunc("SyncIPMessage", "50 8/10 9-23 * * ? ", robotService.SyncIPMessage)
+	//定时更新异常率
+	_, err = global.GVA_Timer.AddTaskByFunc("SyncAbnormalRateByBatch", "0 1,31 * * * *", serviceDataAbnormalRate.SyncAbnormalRateByBatch)
+	if err != nil {
+		fmt.Println("add SyncAbnormalRateByBatch timer error:", err)
+	}
+
+	////定时更新当日微信扫码订单列表
+	//_, err = global.GVA_Timer.AddTaskByFunc("SyncTodayWeChatScannerDetailed", "0 3,33 * * * *", serviceWeChatScannerDetailed.SyncTodayWeChatScannerDetailed)
 	//if err != nil {
-	//	fmt.Println("add SyncIPMessage timer error:", err)
+	//	fmt.Println("add SyncTodayWeChatScannerDetailed timer error:", err)
 	//}
-	//
-	//_, err = global.GVA_Timer.AddTaskByFunc("ComputerUpdateStatus", "30 1/5 8-23 * * *", serviceStatisticsLog.ComputerUpdateStatus)
+
+	////0点更新昨日微信扫码订单列表
+	//_, err = global.GVA_Timer.AddTaskByFunc("SyncYesterdayWeChatScannerDetailed", "1 1 0 * * *", serviceWeChatScannerDetailed.SyncYesterdayWeChatScannerDetailed)
 	//if err != nil {
-	//	fmt.Println("add ComputerUpdateStatus timer error:", err)
+	//	fmt.Println("add SyncYesterdayWeChatScannerDetailed timer error:", err)
 	//}
-	//
-	////每天凌晨3点删除一次过期图片信息
-	////_, err = global.GVA_Timer.AddTaskByFunc("DeleteExpireImageRecord", "0 58 3 * * ? ", imageRecordService.DeleteExpireImageRecord)
-	////if err != nil {
-	////	fmt.Println("add DeleteExpireImageRecord timer error:", err)
-	////}
-	//
-	//_, err = global.GVA_Timer.AddTaskByFunc("YesterdayStatistics", "10 51 2 * * ? ", imageRecordService.YesterdayStatistics)
+
+	////半小时同步一次机房设备信息,播报是否有异常
+	//_, err = global.GVA_Timer.AddTaskByFunc("SyncJfDevicesMessage", "0 0,30 * * * *", robotService.SyncJfDevicesMessage)
 	//if err != nil {
-	//	fmt.Println("add YesterdayStatistics timer error:", err)
+	//	fmt.Println("add SyncJfDevicesMessage timer error:", err)
 	//}
-	//
-	//_, err = global.GVA_Timer.AddTaskByFunc("TodayStatistics", "50 30 9-23 * * ? ", imageRecordService.TodayStatistics)
+
+	// 活跃定时推送消息
+	_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "20 2/30 8-21 * * *", syncData.TaskMsgSend)
+	if err != nil {
+		fmt.Println("add TaskMsgSend timer error:", err)
+	}
+
+	// 活跃定时推送消息
+	_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "30 1/10 22-23 * * *", syncData.TaskMsgSend)
+	if err != nil {
+		fmt.Println("add TaskMsgSend timer error:", err)
+	}
+
+	// 付费定时推送消息
+	_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "45 2/15 8-21 * * *", syncData.TaskFreeMsgSend)
+	if err != nil {
+		fmt.Println("add TaskFreeMsgSend timer error:", err)
+	}
+
+	// 付费定时推送消息
+	_, err = global.GVA_Timer.AddTaskByFunc("TaskMsgSend", "50 1/5 22-23 * * *", syncData.TaskFreeMsgSend)
+	if err != nil {
+		fmt.Println("add TaskFreeMsgSend timer error:", err)
+	}
+
+	// 23起检测任务完成情况
+	_, err = global.GVA_Timer.AddTaskByFunc("CheckTaskCompletedInfo", "57 10/4 23 * * *", syncData.CheckTaskCompletedInfo)
+	if err != nil {
+		fmt.Println("add CheckTaskCompletedInfo timer error:", err)
+	}
+
+	//定时更新游戏版本号和链接
+	_, err = global.GVA_Timer.AddTaskByFunc("UpdateGameVersion", "0 3/15 * * * *", serviceDownLoadUrl.UpdateGameVersion)
+	if err != nil {
+		fmt.Println("add UpdateGameVersion timer error:", err)
+	}
+
+	//定时更新在线电脑缓存
+	_, err = global.GVA_Timer.AddTaskByFunc("OnlinePcCodeUpdateCache", "14 7 8-20 * * *", ServiceRegularTask.OnlinePcCodeUpdateCache)
+	if err != nil {
+		fmt.Println("add OnlinePcCodeUpdateCache timer error:", err)
+	}
+
+	// 定时同步arpu值
+	_, err = global.GVA_Timer.AddTaskByFunc("SyncArpu", "50 36 23 * * *", syncData.SyncArpu)
+	if err != nil {
+		fmt.Println("add SyncArpu timer error:", err)
+	}
+
+	// 提醒修改腾讯目标
+	//_, err = global.GVA_Timer.AddTaskByFunc("RemindSendOne", "11 2 18,22 * * *", syncData.RemindSendOne)
 	//if err != nil {
-	//	fmt.Println("add TodayStatistics timer error:", err)
+	//	fmt.Println("add RemindSendOne timer error:", err)
 	//}
 
-	//// 电脑效率检测
-	//_, err := global.GVA_Timer.AddTaskByFunc("OnlineComputerEfficiencyStatistics", "20 47 8-23 * * *", serviceStatisticsLog.OnlineComputerEfficiencyStatistics)
+	//定时获取机房小绵羊新号剩余
+	_, err = global.GVA_Timer.AddTaskByFunc("SyncJfXmyNewAccount", "0 0,30 * * * *", robotService.SyncJfXmyNewAccount)
+	if err != nil {
+		fmt.Println("add SyncJfXmyNewAccount timer error:", err)
+	}
+
+	// 设备信息
+	_, err = global.GVA_Timer.AddTaskByFunc("DeviceStatistics", "10 9/10 8-23 * * *", serviceStatisticsLog.DeviceStatistics)
+	if err != nil {
+		fmt.Println("add DeviceStatistics timer error:", err)
+	}
+
+	//定时查看延迟更新的镜像是否到期
+	_, err = global.GVA_Timer.AddTaskByFunc("CheckPushTime", "35 0/5 * * * *", serviceFileQiniu.CheckPushTime)
+	if err != nil {
+		fmt.Println("add CheckPushTime timer error:", err)
+	}
+
+	// 半小时同步一次IP信息,播报是否有异常
+	_, err = global.GVA_Timer.AddTaskByFunc("SyncIPMessage", "50 8/10 9-23 * * ? ", robotService.SyncIPMessage)
+	if err != nil {
+		fmt.Println("add SyncIPMessage timer error:", err)
+	}
+
+	_, err = global.GVA_Timer.AddTaskByFunc("ComputerUpdateStatus", "30 1/5 8-23 * * *", serviceStatisticsLog.ComputerUpdateStatus)
+	if err != nil {
+		fmt.Println("add ComputerUpdateStatus timer error:", err)
+	}
+
+	//每天凌晨3点删除一次过期图片信息
+	//_, err = global.GVA_Timer.AddTaskByFunc("DeleteExpireImageRecord", "0 58 3 * * ? ", imageRecordService.DeleteExpireImageRecord)
 	//if err != nil {
-	//	fmt.Println("add OnlineComputerEfficiencyStatistics timer error:", err)
+	//	fmt.Println("add DeleteExpireImageRecord timer error:", err)
 	//}
 
+	_, err = global.GVA_Timer.AddTaskByFunc("YesterdayStatistics", "10 51 2 * * ? ", imageRecordService.YesterdayStatistics)
+	if err != nil {
+		fmt.Println("add YesterdayStatistics timer error:", err)
+	}
+
+	_, err = global.GVA_Timer.AddTaskByFunc("TodayStatistics", "50 30 c-23 * * ? ", imageRecordService.TodayStatistics)
+	if err != nil {
+		fmt.Println("add TodayStatistics timer error:", err)
+	}
+
+	// 电脑效率检测
+	_, err = global.GVA_Timer.AddTaskByFunc("OnlineComputerEfficiencyStatistics", "20 47 10-23 * * *", serviceStatisticsLog.OnlineComputerEfficiencyStatistics)
+	if err != nil {
+		fmt.Println("add OnlineComputerEfficiencyStatistics timer error:", err)
+	}
+
 }

+ 169 - 0
model/levelMonitor/baidu_account.go

@@ -0,0 +1,169 @@
+package levelMonitor
+
+import (
+	"context"
+	"encoding/json"
+	"fmt"
+	"github.com/go-redis/redis/v8"
+	"io/ioutil"
+	"log-server/global"
+	"net/http"
+	"strings"
+	"time"
+)
+
+//Ids = []string{
+//"1LVM2db0Ehr931W7gRUimZlF",
+//"wtipNMdKoeniksPtKGcyqt3N",
+//"l16wv0XqQW8VyFaFkhb7iIdG",
+//"OGLYftxvRsut3Mj6DszpZGOH",
+//"RRfRVDugxEtKGZGbWXQj7joF",
+//"0vyrRQzhNzmGm4oS5LhPQWAd",
+//"6tQwK5zGcoDoZReyTjEi6LhO",
+//"8QnWdj3Bbtkls9uT372oEx8A",
+//"zv67LjUDA3mOB6XeuxokhN3O",
+//"k3r4fesYiGCUehA2Zk55TRv3",
+//}
+//Secrets = []string{
+//"ZZW2xfzC2OAlkInI6YbWGECledb7GLoy",
+//"FSdfDdsGEeG0FUqmDgfwWzf64bd1ee3c",
+//"t8fIX8BYGlzZk3xOeGGuUaGo6kXI9qN6",
+//"2z2UIuKDANFyQSL1V0jSNlH1XkmoGEPQ",
+//"X41FM9VyxOn9Phx5xevzq8LyOHlM0DzL",
+//"X3zjn3WiAoY0qGARY02rAL4wioLCeMeB",
+//"qIc39tGvYEtEVGW2R9X0KxnaKR8nYw2K",
+//"b50C0BYG7GyhBW5m2zww6oGk9ZAyOBGo",
+//"vtDazOQPLuWlOqkdZG80w8doqwFM82C7",
+//"xggNtYdTQI1Qb4CDDUwDbREaosP8C1sI",
+//}
+
+var account1 = map[string]string{
+	"API_KEY":    "1LVM2db0Ehr931W7gRUimZlF",
+	"SECRET_KEY": "ZZW2xfzC2OAlkInI6YbWGECledb7GLoy",
+}
+
+var account2 = map[string]string{
+	"API_KEY":    "wtipNMdKoeniksPtKGcyqt3N",
+	"SECRET_KEY": "FSdfDdsGEeG0FUqmDgfwWzf64bd1ee3c",
+}
+
+var account3 = map[string]string{
+	"API_KEY":    "l16wv0XqQW8VyFaFkhb7iIdG",
+	"SECRET_KEY": "t8fIX8BYGlzZk3xOeGGuUaGo6kXI9qN6",
+}
+
+var account4 = map[string]string{
+	"API_KEY":    "OGLYftxvRsut3Mj6DszpZGOH",
+	"SECRET_KEY": "2z2UIuKDANFyQSL1V0jSNlH1XkmoGEPQ",
+}
+var account5 = map[string]string{
+	"API_KEY":    "RRfRVDugxEtKGZGbWXQj7joF",
+	"SECRET_KEY": "X41FM9VyxOn9Phx5xevzq8LyOHlM0DzL",
+}
+var account6 = map[string]string{
+	"API_KEY":    "0vyrRQzhNzmGm4oS5LhPQWAd",
+	"SECRET_KEY": "X3zjn3WiAoY0qGARY02rAL4wioLCeMeB",
+}
+var account7 = map[string]string{
+	"API_KEY":    "6tQwK5zGcoDoZReyTjEi6LhO",
+	"SECRET_KEY": "qIc39tGvYEtEVGW2R9X0KxnaKR8nYw2K",
+}
+var account8 = map[string]string{
+	"API_KEY":    "8QnWdj3Bbtkls9uT372oEx8A",
+	"SECRET_KEY": "b50C0BYG7GyhBW5m2zww6oGk9ZAyOBGo",
+}
+var account9 = map[string]string{
+	"API_KEY":    "zv67LjUDA3mOB6XeuxokhN3O",
+	"SECRET_KEY": "vtDazOQPLuWlOqkdZG80w8doqwFM82C7",
+}
+var account10 = map[string]string{
+	"API_KEY":    "k3r4fesYiGCUehA2Zk55TRv3",
+	"SECRET_KEY": "xggNtYdTQI1Qb4CDDUwDbREaosP8C1sI",
+}
+
+var Account = map[int]map[string]string{
+	1:  account1,
+	2:  account2,
+	3:  account3,
+	4:  account4,
+	5:  account5,
+	6:  account6,
+	7:  account7,
+	8:  account8,
+	9:  account9,
+	10: account10,
+}
+
+const BaiduIdentify = "baiduIdentifyTokenV2:%d"
+const AccountLimit = 350
+const BaiduIdentifyLimit = "%s:baiduIdentifyTokenV2:%d"
+const BaiduCurrentAccount = "%s:baiduCurrentAccount"
+const BaiduCurrentAccountLimit = "%s:baiduCurrentAccountLimit"
+
+type BaiduAccount struct {
+	CurrentDate                 string
+	BaiduCurrentAccountKey      string
+	BaiduCurrentAccountLimitKdy string
+}
+
+func (m *BaiduAccount) GetCurrentAccountInfo(ctx context.Context) (currentAccountId int, err error) {
+	currentAccountKey := fmt.Sprintf(BaiduCurrentAccount, m.CurrentDate)
+	currentAccountLimitKey := fmt.Sprintf(BaiduCurrentAccountLimit, m.CurrentDate)
+	m.BaiduCurrentAccountKey = currentAccountKey
+	m.BaiduCurrentAccountLimitKdy = currentAccountLimitKey
+	currentAccountId, err = global.GVA_REDIS.Get(ctx, currentAccountKey).Int()
+	if err != nil {
+		if err == redis.Nil {
+			global.GVA_REDIS.Set(ctx, currentAccountKey, 1, time.Hour*24)
+			global.GVA_REDIS.Set(ctx, currentAccountLimitKey, 1, time.Hour*24)
+			return 1, nil
+		}
+	}
+	return
+}
+
+func (m *BaiduAccount) CheckCurrentAccountLimit(ctx context.Context, id int) (currentAccountId int, err error) {
+	limit, err := global.GVA_REDIS.Get(ctx, m.BaiduCurrentAccountLimitKdy).Int()
+	if err != nil {
+		return
+	}
+	if limit >= AccountLimit {
+		if id < 10 {
+			id += 1
+			global.GVA_REDIS.Set(ctx, m.BaiduCurrentAccountKey, id, time.Hour*24)
+			global.GVA_REDIS.Set(ctx, m.BaiduCurrentAccountLimitKdy, 1, time.Hour*24)
+		} else {
+			id = 1
+			global.GVA_REDIS.Set(ctx, m.BaiduCurrentAccountKey, id, time.Hour*24)
+			global.GVA_REDIS.Set(ctx, m.BaiduCurrentAccountLimitKdy, 1, time.Hour*24)
+		}
+	}
+	currentAccountId = id
+	return
+}
+
+func (m *BaiduAccount) GetAccessToken(ctx context.Context, id int) (string, error) {
+	key := fmt.Sprintf(BaiduIdentify, id)
+	token, err := global.GVA_REDIS.Get(ctx, key).Result()
+	if err != nil || token == "" {
+		reqUrl := "https://aip.baidubce.com/oauth/2.0/token"
+		postData := fmt.Sprintf("grant_type=client_credentials&client_id=%s&client_secret=%s", Account[id]["API_KEY"], Account[id]["SECRET_KEY"])
+		resp, err := http.Post(reqUrl, "application/x-www-form-urlencoded", strings.NewReader(postData))
+		if err != nil {
+			fmt.Println(err)
+			return "", err
+		}
+		defer resp.Body.Close()
+		body, err := ioutil.ReadAll(resp.Body)
+		if err != nil {
+			fmt.Println(err)
+			return "", err
+		}
+		accessTokenObj := map[string]string{}
+		json.Unmarshal(body, &accessTokenObj)
+		global.GVA_REDIS.Set(ctx, key, accessTokenObj["access_token"], time.Hour*24*29)
+		return accessTokenObj["access_token"], err
+	}
+	global.GVA_REDIS.Incr(ctx, m.BaiduCurrentAccountLimitKdy)
+	return token, err
+}

+ 23 - 2
service/levelMonitor/image_record.go

@@ -64,7 +64,7 @@ func (s *ImageRecordService) CreateLevel(request levelRequest.CreateLevelRequest
 	}
 	var entity levelMonitor.ImageRecord
 
-	//查找数据库是否存在此账号此游戏今日记录
+	//查找数据库是否存在此账号此游戏今日等级上报记录
 	err = global.GVA_DB.Model(&levelMonitor.ImageRecord{}).Where("task_id = ? and account = ? and create_date = ?", request.TaskId, request.Account, date).First(&entity).Error
 	if !errors.Is(err, gorm.ErrRecordNotFound) {
 		return errors.New("此记录已存在,请勿重复添加")
@@ -174,7 +174,25 @@ const API_KEY = "z9GNcyrC7VeV3g1xXEj3YL1s"
 const SECRET_KEY = "VASRBsEzeVsyKduSkkflfL87r5yqoqvj"
 const BAIDU_IDENTIFY = "baiduIdentifyToken"
 
+func (s *ImageRecordService) GetAccessToken(ctx context.Context) (token string, err error) {
+	baiduAccount := new(levelMonitor.BaiduAccount)
+	baiduAccount.CurrentDate = time.Now().Format("2006-01-02")
+	accountId, err := baiduAccount.GetCurrentAccountInfo(ctx)
+	if err != nil {
+		global.GVA_LOG.Error("get token fail", zap.Error(err))
+		return
+	}
+	accountId, err = baiduAccount.CheckCurrentAccountLimit(ctx, accountId)
+	if err != nil {
+		global.GVA_LOG.Error("get token fail", zap.Error(err))
+		return
+	}
+	token, err = baiduAccount.GetAccessToken(ctx, accountId)
+	return
+}
+
 func (s *ImageRecordService) ImageIdentify(record levelMonitor.ImageRecord, key string) {
+	ctx := context.Background()
 	token, err := GetAccessToken()
 	if err != nil {
 		global.GVA_LOG.Error("get token fail", zap.Error(err))
@@ -208,6 +226,7 @@ func (s *ImageRecordService) ImageIdentify(record levelMonitor.ImageRecord, key
 		return
 	}
 	i, err := strconv.ParseFloat(data.WordsResult[0].Words, 64)
+
 	if err != nil {
 		// 定义价格提取的正则表达式模式
 		identifyPattern := `([0-9]+(?:\.[0-9]{1,2})?)`
@@ -218,6 +237,7 @@ func (s *ImageRecordService) ImageIdentify(record levelMonitor.ImageRecord, key
 		if len(level) == 0 {
 			identify = 0
 		} else {
+			level[0] = strings.ReplaceAll(level[0], ",", "")
 			l, _ := strconv.ParseFloat(level[0], 64)
 			identify = l
 		}
@@ -233,7 +253,7 @@ func (s *ImageRecordService) ImageIdentify(record levelMonitor.ImageRecord, key
 	global.GVA_DB.Where("game_id", record.TaskId).Where("account", record.Account).First(&gameAccount)
 	s.UpdateImageRecordStatus(record.Id, string(body), 1, gameAccount.UseNum, identify)
 	UpdateGameAccountIdentify(record.Account, record.TaskId, identify)
-	ctx := context.Background()
+
 	s.cache.SetCacheNum(ctx, key)
 	return
 }
@@ -250,6 +270,7 @@ func (s *ImageRecordService) UpdateImageRecordStatus(id int, result string, stat
 
 func Request(baiduToken, content string) (body []byte, err error) {
 	reqUrl := "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + baiduToken
+	//reqUrl := "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic?access_token=" + baiduToken
 	var (
 		params = url.Values{}
 	)

+ 1 - 5
service/log/log_statistics.go

@@ -875,17 +875,13 @@ func (s *ServiceStatisticsLog) OnlineComputerEfficiencyStatistics() {
 
 		num := float64(computer.EnterMainTotal) / float64(computer.PullAccountTotal) * 100
 		formattedNumber := fmt.Sprintf("%.2f", num)
-		if num < 41 {
+		if num < 30 {
 			getNum, _ := global.GVA_REDIS.Get(ctx, key).Result()
 			if getNum != "" {
 				fmt.Println(computer.PcCode)
-				global.GVA_LOG.Info("===" + getNum + "===")
-				global.GVA_LOG.Info("===" + formattedNumber + "===")
 				getCacheNumFormat, _ := strconv.ParseFloat(getNum, 64)
 				formatNum, _ := strconv.ParseFloat(formattedNumber, 64)
 
-				fmt.Println(getCacheNumFormat)
-				fmt.Println(formatNum)
 				if getCacheNumFormat > formatNum {
 					noReportingPc = append(noReportingPc, computer.PcCode)
 					global.GVA_REDIS.Set(ctx, key, formattedNumber, time.Hour*10)