|
@@ -3,11 +3,15 @@ import time
|
|
|
from datetime import date, timedelta, timezone as asj_timezone
|
|
|
|
|
|
import boto3
|
|
|
+import xlwt
|
|
|
from django.db.models import Count,Q
|
|
|
+from django.http import HttpResponse
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.views.generic import TemplateView
|
|
|
from django.utils.decorators import method_decorator
|
|
|
from django.contrib.auth.hashers import make_password # 对密码加密模块
|
|
|
+from openpyxl import workbook
|
|
|
+
|
|
|
from Model.models import Device_Info, Role, UserExModel, User_Brand, UidSetModel, AppFrequencyYearStatisticsModel, \
|
|
|
AppFrequencyStatisticsModel, EquipmentInfoExStatisticsModel, Equipment_Info
|
|
|
from Service.ModelService import ModelService
|
|
@@ -87,6 +91,8 @@ class AdminManage(TemplateView):
|
|
|
return self.query_failures_push(userID, request_dict, response)
|
|
|
if operation == 'getPushServerCPUUsage':
|
|
|
return self.query_push_server_cpu_usage(userID, request_dict, response)
|
|
|
+ if operation == 'downloadSubscribeEmail':
|
|
|
+ return self.download_subscribe_email(userID, request_dict, response)
|
|
|
|
|
|
def resetUserPwd(self, request_dict, userID, response):
|
|
|
own_permission = ModelService.check_perm(userID=userID, permID=50)
|
|
@@ -633,6 +639,29 @@ class AdminManage(TemplateView):
|
|
|
print(repr(e))
|
|
|
return response.json(10, 'AWS Server Error')
|
|
|
|
|
|
+ def download_subscribe_email(self, userID, request_dict, response):
|
|
|
+ own_permission = ModelService.check_perm(userID=userID, permID=30)
|
|
|
+ if own_permission is not True:
|
|
|
+ return response.json(404)
|
|
|
+
|
|
|
+ user_qs = Device_User.objects.filter(subscribe_email=1).values('userEmail')
|
|
|
+ print(user_qs)
|
|
|
+ response = HttpResponse(content_type='application/vnd.ms-excel')
|
|
|
+ response['Content-Disposition'] = 'attachment; filename=UID' + time.strftime('-%Y-%m-%d-%H-%M-%S', time.localtime()) + '.xls'
|
|
|
+ workbook = xlwt.Workbook(encoding='utf-8')
|
|
|
+ sheet1 = workbook.add_sheet('Email Address')
|
|
|
+
|
|
|
+ num = 1
|
|
|
+ sheet1.write(0, 0, 'Email Address')
|
|
|
+ for user in user_qs:
|
|
|
+ email = user['userEmail']
|
|
|
+ if email == '':
|
|
|
+ continue
|
|
|
+ sheet1.write(num, 0, email)
|
|
|
+ num += 1
|
|
|
+ workbook.save(response)
|
|
|
+ return response
|
|
|
+
|
|
|
|
|
|
def getCompareKey(item):
|
|
|
return item['Timestamp']
|