|
@@ -59,40 +59,33 @@ class NotificationView(View):
|
|
|
return JsonResponse(status=200, data={
|
|
|
'code': 444,
|
|
|
'msg': 'param is wrong'})
|
|
|
- # return response.json(444)
|
|
|
- # 执行下面utko窗口会输出{'uid',""}
|
|
|
+ # return response.json(444) # 执行下面utko窗口会输出{'uid',""}
|
|
|
utko = UidTokenObject(uidToken)
|
|
|
uid = utko.UID
|
|
|
redisObj = RedisObject(db=6)
|
|
|
# pkey = '{uid}_{channel}_ptl'.format(uid=uid, channel=channel)
|
|
|
- pkey = '{uid}_pptl'.format(uid=uid)
|
|
|
+ pkey = '{uid}_ptl'.format(uid=uid)
|
|
|
+ ykey = '{uid}_redis_qs'.format(uid=uid)
|
|
|
# 判断redisObj.get_data(key=pkey):不为空
|
|
|
if redisObj.get_data(key=pkey):
|
|
|
res_data = {'code': 0, 'msg': 'success,!'}
|
|
|
- # 查询key对应的value
|
|
|
- res = redisObj.get_data(key=pkey)
|
|
|
- # redis中的字符串转回list
|
|
|
- redis_list = eval(res)
|
|
|
+ return JsonResponse(status=200, data=res_data)
|
|
|
else:
|
|
|
+ # 设置推送时间为60秒一次
|
|
|
+ redisObj.set_data(key=pkey,val=1,expire=60)
|
|
|
+ print("从数据库查到数据")
|
|
|
# 从数据库查询出来
|
|
|
uid_push_qs = UidPushModel.objects.filter(uid_set__uid=uid). \
|
|
|
values('token_val', 'app_type', 'appBundleId',
|
|
|
'push_type', 'userID_id', 'userID__NickName',
|
|
|
'lang', 'tz', 'uid_set__nickname')
|
|
|
# 新建一个list接收数据
|
|
|
- uid_push_qs_list = []
|
|
|
- print("从数据库查到数据")
|
|
|
- # 把数据库数据追加进uid_push_qs_list
|
|
|
+ redis_list = []
|
|
|
+ # 把数据库数据追加进redis_list
|
|
|
for qs in uid_push_qs:
|
|
|
- uid_push_qs_list.append(qs)
|
|
|
- print(str(uid_push_qs_list))
|
|
|
+ redis_list.append(qs)
|
|
|
# 修改redis数据,并设置过期时间为10分钟
|
|
|
- redisObj.set_data(key=pkey, val=str(uid_push_qs_list), expire=600)
|
|
|
- # 查询key对应的value
|
|
|
- res = redisObj.get_data(key=pkey)
|
|
|
- # 把redis中的字符串转回list
|
|
|
- redis_list = eval(res)
|
|
|
- # return JsonResponse(status=200, data={'code': 0, 'msg': "Data has been saved in redis"})
|
|
|
+ redisObj.set_data(key=ykey, val=str(redis_list), expire=60)
|
|
|
if redis_list:
|
|
|
nickname = redis_list[0]['uid_set__nickname']
|
|
|
if not nickname:
|
|
@@ -102,7 +95,6 @@ class NotificationView(View):
|
|
|
for up in redis_list:
|
|
|
push_type = up['push_type']
|
|
|
# ios apns
|
|
|
- print(push_type)
|
|
|
if push_type == 0:
|
|
|
self.do_apns(request_dict, up, response, uid, channel, nickname)
|
|
|
# android gcm
|