tousername for brand

Kimi.Huang 6 年之前
父節點
當前提交
d3b993ffae
共有 3 個文件被更改,包括 30 次插入2 次删除
  1. 8 2
      kodo/oauth_settings.py
  2. 20 0
      mch/migrations/0033_brandinfo_tousername.py
  3. 2 0
      mch/models.py

+ 8 - 2
kodo/oauth_settings.py

@@ -45,6 +45,7 @@ def DJANGO_WE_MESSAGE_CALLBACK_FUNC(request, data, decrypted=None):
45 45
 def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None):
46 46
     """ WeChat Component Message Callback Func """
47 47
     from account.models import UserInfo
48
+    from mch.models import BrandInfo
48 49
 
49 50
     logger.info(decrypted)
50 51
 
@@ -55,10 +56,15 @@ def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None):
55 56
     membercardid = decrypted.get('CardId', '')
56 57
     memberusercardcode = decrypted.get('UserCardCode', '')
57 58
 
59
+    try:
60
+        brand = BrandInfo.objects.get(tousername=tousername)
61
+    except BrandInfo.DoesNotExist:
62
+        return
63
+
58 64
     if event == 'user_get_card':
59
-        UserInfo.objects.filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode)
65
+        UserInfo.objects.filter(brand_id=brand.brand_id, unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode)
60 66
     elif event == 'user_del_card':
61
-        UserInfo.objects.filter(memberusercardcode=memberusercardcode).update(has_membercard=False)
67
+        UserInfo.objects.filter(brand_id=brand.brand_id, memberusercardcode=memberusercardcode).update(has_membercard=False)
62 68
 
63 69
 
64 70
 def DJANGO_FILE_UPLOAD_CALLBACK_FUNC(request, file_path=None, file_url=None):

+ 20 - 0
mch/migrations/0033_brandinfo_tousername.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.20 on 2019-04-18 10:20
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    dependencies = [
11
+        ('mch', '0032_activityinfo_brand_id'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='brandinfo',
17
+            name='tousername',
18
+            field=models.CharField(blank=True, db_index=True, help_text='\u5fae\u4fe1\u516c\u53f7\uff08ToUserName\uff09', max_length=32, null=True, unique=True, verbose_name='tousername'),
19
+        ),
20
+    ]

+ 2 - 0
mch/models.py

@@ -94,6 +94,8 @@ class BrandInfo(BaseModelMixin):
94 94
     brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
95 95
     brand_descr = models.TextField(_(u'brand_descr'), max_length=255, blank=True, null=True, help_text=u'品牌描述')
96 96
 
97
+    tousername = models.CharField(_(u'tousername'), max_length=32, blank=True, null=True, help_text=u'微信公号(ToUserName)', db_index=True, unique=True)
98
+
97 99
     brand_logo = models.ImageField(_(u'brand_logo'), upload_to=upload_path, blank=True, null=True, help_text=u'品牌商标')
98 100
     brand_domain = models.CharField(_(u'brand_domain'), max_length=255, blank=True, null=True, help_text=u'品牌域名')
99 101