Update openid

Kimi.Huang 5 年之前
父节点
当前提交
a415dd967f
共有 2 个文件被更改,包括 9 次插入2 次删除
  1. 2 2
      commands/management/commands/subscribe.py
  2. 7 0
      miniapp/views.py

+ 2 - 2
commands/management/commands/subscribe.py

@@ -57,7 +57,7 @@ class Command(CompatibilityBaseCommand):
57 57
             with transaction.atomic():
58 58
                 subscribe, unionid, openid = userinfo.get('subscribe', ''), userinfo.get('unionid', ''), userinfo.get('openid', '')
59 59
                 if subscribe:
60
-                    SubscribeUserInfo.objects.update_or_create(openid=openid, defaults={
60
+                    SubscribeUserInfo.objects.update_or_create(extraid=brand_id, openid=openid, defaults={
61 61
                         'unionid': unionid,
62 62
                         'nickname': userinfo.get('nickname', ''),
63 63
                         'sex': userinfo.get('sex', ''),
@@ -77,6 +77,6 @@ class Command(CompatibilityBaseCommand):
77 77
                     })
78 78
                     UserInfo.objects.filter(unionid=unionid).update(openid=openid)
79 79
                 else:
80
-                    SubscribeUserInfo.objects.filter(openid=openid).update(subscribe=subscribe)
80
+                    SubscribeUserInfo.objects.filter(extraid=brand_id, openid=openid).update(subscribe=subscribe)
81 81
 
82 82
             close_old_connections()

+ 7 - 0
miniapp/views.py

@@ -5,6 +5,7 @@ from django.db import transaction
5 5
 from django_curtail_uuid import CurtailUUID
6 6
 from django_logit import logit
7 7
 from django_response import response
8
+from django_we.models import SubscribeUserInfo
8 9
 from ipaddr import client_ip
9 10
 from pywe_membercard import get_miniapp_extraData
10 11
 from pywe_miniapp import get_session_info, get_session_key, get_userinfo, store_session_key
@@ -141,6 +142,12 @@ def mini_login_api(request):
141 142
     user.user_from = UserInfo.MINIAPP_USER
142 143
     if unionid:
143 144
         user.unionid = unionid
145
+        try:
146
+            subuser = SubscribeUserInfo.objects.get(brand_id=brand_id, unionid=unionid)
147
+        except SubscribeUserInfo.DoesNotExist:
148
+            subuser = None
149
+        if subuser:
150
+            user.openid = subuser.openid
144 151
     user.user_status = UserInfo.ACTIVATED
145 152
     user.signup_ip = client_ip(request)
146 153
     user.signup_at = tc.utc_datetime()