|
@@ -15,11 +15,10 @@ import time
|
|
|
import math
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Model.models import SysMsgModel, FeedBackModel, UserExtendModel
|
|
|
+from Model.models import SysMsgModel, FeedBackModel, UserExtendModel, SysMassModel
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.ModelService import ModelService
|
|
|
-from django.db.models import Q
|
|
|
|
|
|
|
|
|
class SysMsgView(View):
|
|
@@ -53,19 +52,36 @@ class SysMsgView(View):
|
|
|
return self.do_delete_by_admin(userID, request_dict, response)
|
|
|
elif operation == 'massPush':
|
|
|
return self.do_mass_push(userID, request_dict, response)
|
|
|
+ elif operation == 'queryMassPush':
|
|
|
+ return self.do_query_mass_push(userID, request_dict, response)
|
|
|
else:
|
|
|
return response.json(414)
|
|
|
else:
|
|
|
return response.json(tko.code)
|
|
|
|
|
|
+ def do_query_mass_push(self, userID, request_dict, response):
|
|
|
+ own_perm = ModelService.check_perm(userID, 10)
|
|
|
+ sender = request_dict.get('sender', None)
|
|
|
+ page = int(request_dict.get('page', None))
|
|
|
+ line = int(request_dict.get('line', None))
|
|
|
+ if own_perm:
|
|
|
+ smss_qs = SysMassModel.objects.filter()
|
|
|
+ if sender:
|
|
|
+ smss_qs.filter(sender__username=sender)
|
|
|
+ smss_qs = smss_qs.values('id', 'sender__username', 'addTime', 'updTime', 'lang', 'recever', 'msg')
|
|
|
+ smss_qs = smss_qs[(page - 1) * line:page * line]
|
|
|
+ return response.json(0, list(smss_qs))
|
|
|
+ else:
|
|
|
+ return response.json(404)
|
|
|
+
|
|
|
def do_mass_push(self, userID, request_dict, response):
|
|
|
own_perm = ModelService.check_perm(userID, 10)
|
|
|
if own_perm:
|
|
|
- app_list = request_dict.get('app_list', None)
|
|
|
+ app_str = request_dict.get('app_list', None)
|
|
|
msg = request_dict.get('msg', None)
|
|
|
- region = request_dict.get('region', None)
|
|
|
- app_list = app_list.split(',')
|
|
|
- region = region.split(',')
|
|
|
+ region_str = request_dict.get('region', None)
|
|
|
+ app_list = app_str.split(',')
|
|
|
+ region = region_str.split(',')
|
|
|
nowTime = int(time.time())
|
|
|
ue_filter = UserExtendModel.objects.filter()
|
|
|
if app_list:
|
|
@@ -74,6 +90,14 @@ class SysMsgView(View):
|
|
|
ue_filter.filter(userID__language__in=region)
|
|
|
ue_count = ue_filter.count()
|
|
|
range_count = math.ceil(ue_count / 5000)
|
|
|
+ SysMassModel.objects.create(
|
|
|
+ sender_id=userID,
|
|
|
+ lang=region_str,
|
|
|
+ recever=app_str,
|
|
|
+ msg=msg,
|
|
|
+ addTime=nowTime,
|
|
|
+ updTime=nowTime
|
|
|
+ )
|
|
|
for i in range(range_count):
|
|
|
querysetlist = []
|
|
|
userID_list = ue_filter.values_list('userID_id', flat=True)
|
|
@@ -203,3 +227,5 @@ class SysMsgView(View):
|
|
|
return response.json(173)
|
|
|
else:
|
|
|
return response.json(444, 'sid')
|
|
|
+
|
|
|
+# 回复记录
|