diff --git a/apps/jqr/serializers.py b/apps/jqr/serializers.py index ae59d9e..1adc52b 100644 --- a/apps/jqr/serializers.py +++ b/apps/jqr/serializers.py @@ -1,4 +1,5 @@ import base64 +from datetime import datetime from rest_framework import serializers @@ -6,6 +7,7 @@ from apps.jqr.models import JqrHookUser from apps.jqr.tasks import save_add_contact, delete_add_contact, edit_add_contact from apps.msg.models import TbMessage from apps.msg.utils import JQRMSGPubSubUtils +from apps.qc.choices import QcCorpInfoCallbackStatusChoices from libs.weworkapi.callback.WXBizMsgCrypt3 import WXBizMsgCrypt, Prpcrypt from utils.tools import sha1_encoder, get_attribute, camel_to_snake from utils.base_serializer import BaseSerializer, CurrentIpDefault @@ -38,6 +40,8 @@ class WechatPublicTokenSerializer(serializers.Serializer): ret, echostr = wxcpt.VerifyURL(msg_signature, timestamp, nonce, echostr) if ret != 0: return {} + corp.callbackstatus = QcCorpInfoCallbackStatusChoices.VALIDATED + corp.callback_validate_time = datetime.now() attrs['echostr'] = echostr.decode() return attrs diff --git a/apps/jqr/views.py b/apps/jqr/views.py index 2878672..651821f 100644 --- a/apps/jqr/views.py +++ b/apps/jqr/views.py @@ -1,17 +1,14 @@ from datetime import datetime -import requests from rest_framework import viewsets from rest_framework.decorators import action from rest_framework.response import Response -from django.conf import settings from apps.jqr.models import JqrHookUser, JqrExternalQun, JqrSendnewusermsgrecord, JqrSendmsgrecordinfo, JqrExternalUser from apps.jqr.parsers import WechatContentParser from apps.jqr.renderers import WechatPublicContentRenderer from apps.jqr.serializers import WechatPublicTokenSerializer, WechatEncryptSerializer, HeartBeatSerializer, \ TbMessageModelSerializer -from apps.qc.choices import QcCorpInfoCallbackStatusChoices from apps.qc.models import QcCorpinfo from utils.base_viewsets import BaseViewSet from utils.response import ApiResponse @@ -37,8 +34,6 @@ class WechatWorkerViewSet(viewsets.GenericViewSet): serializer = self.get_serializer(data=request.query_params, context=context) serializer.is_valid(raise_exception=True) enchostr = serializer.data.get('echostr') - corp.callbackstatus = QcCorpInfoCallbackStatusChoices.VALIDATED - corp.callback_validate_time = datetime.now() return Response(data=int(enchostr)) # return Response(data=enchostr)