|
|
@ -11,6 +11,7 @@ from apps.jqr.tasks import save_add_contact, delete_add_contact, edit_add_contac
|
|
|
|
from apps.msg.models import TbMessage
|
|
|
|
from apps.msg.models import TbMessage
|
|
|
|
from apps.msg.pubsub import JQRMSGPubSub
|
|
|
|
from apps.msg.pubsub import JQRMSGPubSub
|
|
|
|
from apps.qc.choices import QcCorpInfoCallbackStatusChoices
|
|
|
|
from apps.qc.choices import QcCorpInfoCallbackStatusChoices
|
|
|
|
|
|
|
|
from apps.qc.models import QcQrcodes
|
|
|
|
from libs.weworkapi.callback.WXBizMsgCrypt3 import WXBizMsgCrypt, Prpcrypt
|
|
|
|
from libs.weworkapi.callback.WXBizMsgCrypt3 import WXBizMsgCrypt, Prpcrypt
|
|
|
|
from utils.tools import sha1_encoder, get_attribute, camel_to_snake
|
|
|
|
from utils.tools import sha1_encoder, get_attribute, camel_to_snake
|
|
|
|
import xml.etree.cElementTree as ET
|
|
|
|
import xml.etree.cElementTree as ET
|
|
|
@ -104,10 +105,17 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|
|
|
state = data.get('state')
|
|
|
|
state = data.get('state')
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
[_, _, qrcodeid] = state.split('_')
|
|
|
|
[_, uid, qrcodeid] = state.split('_')
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['uid'] = corp.uid
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
qrcode = QcQrcodes.objects.filter(id=qrcodeid, uid=uid).first()
|
|
|
|
|
|
|
|
if not qrcode:
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
|
|
|
|
data['agentid'] = qrcode.agentid
|
|
|
|
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
data['corpid'] = qrcode.corpid
|
|
|
|
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
JQREventNewUserCallbackPubSub.publish({
|
|
|
|
JQREventNewUserCallbackPubSub.publish({
|
|
|
|
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
|
|
|
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
|
|
@ -126,10 +134,17 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|
|
|
state = data.get('state')
|
|
|
|
state = data.get('state')
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
[_, _, qrcodeid] = state.split('_')
|
|
|
|
[_, uid, qrcodeid] = state.split('_')
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['uid'] = corp.uid
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
qrcode = QcQrcodes.objects.filter(id=qrcodeid, uid=uid).first()
|
|
|
|
|
|
|
|
if not qrcode:
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
|
|
|
|
data['agentid'] = qrcode.agentid
|
|
|
|
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
data['corpid'] = qrcode.corpid
|
|
|
|
# edit_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
# edit_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
JQREventCallbackPubSub.publish({
|
|
|
|
JQREventCallbackPubSub.publish({
|
|
|
|
'handler': f'{edit_add_contact_by_channel.__module__}.{edit_add_contact_by_channel.__name__}',
|
|
|
|
'handler': f'{edit_add_contact_by_channel.__module__}.{edit_add_contact_by_channel.__name__}',
|
|
|
@ -148,10 +163,17 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|
|
|
state = data.get('state')
|
|
|
|
state = data.get('state')
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
[_, _, qrcodeid] = state.split('_')
|
|
|
|
[_, uid, qrcodeid] = state.split('_')
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['uid'] = corp.uid
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
qrcode = QcQrcodes.objects.filter(id=qrcodeid, uid=uid).first()
|
|
|
|
|
|
|
|
if not qrcode:
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
|
|
|
|
data['agentid'] = qrcode.agentid
|
|
|
|
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
data['corpid'] = qrcode.corpid
|
|
|
|
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
# save_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
JQREventNewUserCallbackPubSub.publish({
|
|
|
|
JQREventNewUserCallbackPubSub.publish({
|
|
|
|
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
|
|
|
'handler': f'{save_add_contact_by_channel.__module__}.{save_add_contact_by_channel.__name__}',
|
|
|
@ -170,8 +192,17 @@ class WechatEncryptSerializer(serializers.Serializer):
|
|
|
|
state = data.get('state')
|
|
|
|
state = data.get('state')
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
data['corpid'] = corp.corpid
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
if state and state.startswith('mg') and '_' in state:
|
|
|
|
|
|
|
|
[_, uid, qrcodeid] = state.split('_')
|
|
|
|
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['agentid'] = corp.agentid
|
|
|
|
data['uid'] = corp.uid
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
qrcode = QcQrcodes.objects.filter(id=qrcodeid, uid=uid).first()
|
|
|
|
|
|
|
|
if not qrcode:
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
data['qrcodeid'] = qrcodeid
|
|
|
|
|
|
|
|
data['agentid'] = qrcode.agentid
|
|
|
|
|
|
|
|
data['uid'] = uid
|
|
|
|
|
|
|
|
data['corpid'] = qrcode.corpid
|
|
|
|
# delete_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
# delete_add_contact.delay(data, corp.to_dict(['corpid', 'appsecret']))
|
|
|
|
JQREventCallbackPubSub.publish({
|
|
|
|
JQREventCallbackPubSub.publish({
|
|
|
|
'handler': f'{delete_add_contact_by_channel.__module__}.{delete_add_contact_by_channel.__name__}',
|
|
|
|
'handler': f'{delete_add_contact_by_channel.__module__}.{delete_add_contact_by_channel.__name__}',
|
|
|
|