转化外部用户Id
This commit is contained in:
parent
fb30210370
commit
af56a72fc1
|
@ -35,6 +35,28 @@ class JQREventCallbackPubSub:
|
|||
handler(callback_data, corpinfo)
|
||||
|
||||
|
||||
class JQREventNewUserCallbackPubSub:
|
||||
rc = get_redis_connection()
|
||||
|
||||
@classmethod
|
||||
def publish(cls, data):
|
||||
cls.rc.lpush(Constant.JQR_EVENT_NEW_USER_CALLBACK_PUBSUB_CHANNEL, json.dumps(data))
|
||||
|
||||
@classmethod
|
||||
def event_callback_listener(cls):
|
||||
while True:
|
||||
data = cls.rc.brpop(Constant.JQR_EVENT_NEW_USER_CALLBACK_PUBSUB_CHANNEL, 5)
|
||||
if data is None:
|
||||
time.sleep(5)
|
||||
continue
|
||||
data = json.loads(data[1])
|
||||
callback_data = json.loads(data['data'])
|
||||
corpinfo = data['corpinfo']
|
||||
handler = data['handler']
|
||||
handler = import_string(handler)
|
||||
handler(callback_data, corpinfo)
|
||||
|
||||
|
||||
class JQRQrcodeCallbackPubSub:
|
||||
rc = get_redis_connection()
|
||||
|
||||
|
@ -60,7 +82,7 @@ class JQRQrcodeCallbackPubSub:
|
|||
|
||||
|
||||
if not settings.DEBUG:
|
||||
t = Thread(target=JQREventCallbackPubSub.event_callback_listener)
|
||||
t = Thread(target=JQREventNewUserCallbackPubSub.event_callback_listener)
|
||||
t.start()
|
||||
t2 = Thread(target=JQRQrcodeCallbackPubSub.qrcode_callback_listener)
|
||||
t2.start()
|
||||
|
|
|
@ -2,11 +2,10 @@ import base64
|
|||
import json
|
||||
from datetime import datetime
|
||||
|
||||
from django.utils.module_loading import import_string
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.jqr.models import JqrHookUser
|
||||
from apps.jqr.pubsub import JQREventCallbackPubSub
|
||||
from apps.jqr.pubsub import JQREventNewUserCallbackPubSub, JQREventCallbackPubSub
|
||||
from apps.jqr.tasks import save_add_contact, delete_add_contact, edit_add_contact, save_add_contact_by_channel, \
|
||||
edit_add_contact_by_channel, delete_add_contact_by_channel
|
||||
from apps.msg.models import TbMessage
|
||||
|
@ -109,7 +108,7 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|||
data['agentid'] = corp.agentid
|
||||
data['uid'] = corp.uid
|
||||
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
||||
JQREventCallbackPubSub.publish({
|
||||
JQREventNewUserCallbackPubSub.publish({
|
||||
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
||||
'data': json.dumps(data),
|
||||
'corpinfo': corp.to_dict(['corpid', 'appsecret']),
|
||||
|
@ -153,7 +152,7 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|||
data['agentid'] = corp.agentid
|
||||
data['uid'] = corp.uid
|
||||
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
||||
JQREventCallbackPubSub.publish({
|
||||
JQREventNewUserCallbackPubSub.publish({
|
||||
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
||||
'data': json.dumps(data),
|
||||
'corpinfo': corp.to_dict(['corpid', 'appsecret']),
|
||||
|
@ -185,6 +184,8 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|||
"""
|
||||
print('客户群创建事件')
|
||||
print(data)
|
||||
corp = self.context.get('corp')
|
||||
data['chat_id'] = data.pop('chatid')
|
||||
|
||||
def handle_change_external_chat_update(self, data):
|
||||
"""
|
||||
|
|
|
@ -43,6 +43,6 @@ class JQRMSGPubSub:
|
|||
cls.msg_list.clear()
|
||||
|
||||
|
||||
if not settings.DEBUG:
|
||||
t = Thread(target=JQRMSGPubSub.listen)
|
||||
t.start()
|
||||
# if not settings.DEBUG:
|
||||
# t = Thread(target=JQRMSGPubSub.listen)
|
||||
# t.start()
|
||||
|
|
|
@ -4,8 +4,8 @@ class Constant:
|
|||
WECHAT_WORKER_TOKEN = 'wechat:worker:token:'
|
||||
WECHAT_WORKER_TOKEN_EXPIRES = 6000
|
||||
JQR_MSG_PUBSUB_CHANNEL = 'jqr:msg'
|
||||
JQR_EVENT_NEW_USER_CALLBACK_PUBSUB_CHANNEL = 'jqr:event:new:user:cb'
|
||||
JQR_EVENT_CALLBACK_PUBSUB_CHANNEL = 'jqr:event:cb'
|
||||
JQR_EVENT_CALLBACK_TYPE = ''
|
||||
JQR_QRCODE_PUBSUB_CHANNEL = 'jqr:qrcode'
|
||||
ONE = 1
|
||||
TWO = 2
|
||||
|
|
Loading…
Reference in New Issue