Эх сурвалжийг харах

修改数据系统活跃用户统计方式

peng 2 жил өмнө
parent
commit
0886eeeae2

+ 8 - 7
Controller/Cron/CronTaskController.py

@@ -21,7 +21,7 @@ from Ansjer.config import USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST
 from Model.models import Device_User, Device_Info, UidSetModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, AiService, VodHlsSummary, VideoPlaybackTimeModel, DeviceUserSummary, \
     CountryModel, DeviceTypeModel, OrdersSummary, DeviceInfoSummary, CompanySerialModel, \
-    CloudLogModel, UidCloudStorageCount
+    CloudLogModel, UidCloudStorageCount, UserExModel
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
 from Object.utils import LocalDateTimeUtil
@@ -443,11 +443,13 @@ class CronCollectDataView(View):
             created_time = int(time.time())
             today = datetime.datetime.today()
             start_time = datetime.datetime(today.year, today.month, today.day)
+            end_time = start_time + datetime.timedelta(days=1)
             increase_user_qs = Device_User.objects.filter(data_joined__year=today.year, data_joined__month=today.month,
                                                           data_joined__day=today.day).values('region_country')
-            active_user_qs = Device_User.objects.filter(last_login__year=today.year, last_login__month=today.month,
-                                                        last_login__day=today.day).values('region_country')
             start_time = CommonService.str_to_timestamp(start_time.strftime('%Y-%m-%d %H:%M:%S'))
+            end_time = CommonService.str_to_timestamp(end_time.strftime('%Y-%m-%d %H:%M:%S'))
+            active_user_qs = UserExModel.objects.filter(updTime__gte=start_time, updTime__lt=end_time).values(
+                'userID__region_country')
             country_qs = CountryModel.objects.all().values('id', 'region__name', 'country_name')
             country_dict = {}
             continent_dict = {}
@@ -473,13 +475,12 @@ class CronCollectDataView(View):
                                                      continent=increase_user_continent_dict)
                 if active_user_qs.exists():
                     active_user_count = active_user_qs.count()
-                    active_user_country_list = active_user_qs.values('region_country').annotate(
-                        count=Count('region_country')).order_by(
-                        'count')
+                    active_user_country_list = active_user_qs.values('userID__region_country').annotate(
+                        count=Count('userID__region_country')).order_by('count')
                     active_user_country_dict = {}
                     active_user_continent_dict = {}
                     for item in active_user_country_list:
-                        country_name = country_dict.get(item['region_country'], '未知国家')
+                        country_name = country_dict.get(item['userID__region_country'], '未知国家')
                         continent_name = continent_dict.get(country_name, '未知大洲')
                         active_user_country_dict[country_name] = item['count']
                         if continent_name not in active_user_continent_dict: