Has Member Card Flag

Brightcells 7 年之前
父节点
当前提交
852e8b89b5
共有 4 个文件被更改,包括 33 次插入1 次删除
  1. 20 0
      account/migrations/0029_userinfo_has_membercard.py
  2. 3 0
      account/models.py
  3. 9 0
      pai2/oauth_settings.py
  4. 1 1
      requirements.txt

+ 20 - 0
account/migrations/0029_userinfo_has_membercard.py

@@ -0,0 +1,20 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.11 on 2018-03-19 19:26
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
+        ('account', '0028_saleclerkinfo_total_integral'),
12
+    ]
13
+
14
+    operations = [
15
+        migrations.AddField(
16
+            model_name='userinfo',
17
+            name='has_membercard',
18
+            field=models.BooleanField(db_index=True, default=False, help_text='\u662f\u5426\u6fc0\u6d3b\u4f1a\u5458\u5361', verbose_name='has_membercard'),
19
+        ),
20
+    ]

+ 3 - 0
account/models.py

@@ -334,6 +334,8 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):
334 334
     login_ip = models.CharField(_(u'login_ip'), max_length=32, blank=True, null=True, help_text=_(u'登录IP'))
335 335
     login_at = models.DateTimeField(_(u'login_at'), blank=True, null=True, help_text=_(u'登录时间'))
336 336
 
337
+    has_membercard = models.BooleanField(_(u'has_membercard'), default=False, help_text=_(u'是否激活会员卡'), db_index=True)
338
+
337 339
     class Meta:
338 340
         verbose_name = _(u'userinfo')
339 341
         verbose_name_plural = _(u'userinfo')
@@ -365,6 +367,7 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):
365 367
             'username': self.username,
366 368
             'nickname': self.nickname,
367 369
             'avatar': self.avatar,
370
+            'has_membercard': self.has_membercard,
368 371
             'saleclerk': SaleclerkInfo.objects.filter(unionid=self.unionid, status=True).exists(),
369 372
         }
370 373
 

+ 9 - 0
pai2/oauth_settings.py

@@ -31,3 +31,12 @@ def DJANGO_WE_SHARE_FUNC(request, state=None):
31 31
 
32 32
 def DJANGO_WE_MESSAGE_CALLBACK_FUNC(request, data):
33 33
     """ WeChat Message Callback Func """
34
+    from account.models import UserInfo
35
+
36
+    event = dict(data).get('Event', '')
37
+    fromusername = dict(data).get('FromUserName', '')
38
+
39
+    if event == 'user_get_card':
40
+        UserInfo.objects.filter(openid_miniapp=fromusername).update(has_membercard=True)
41
+    elif event == 'user_del_card':
42
+        UserInfo.objects.filter(openid_miniapp=fromusername).update(has_membercard=False)

+ 1 - 1
requirements.txt

@@ -24,7 +24,7 @@ django-rlog==1.0.7
24 24
 django-shortuuidfield==0.1.3
25 25
 django-six==1.0.4
26 26
 django-uniapi==1.0.1
27
-django-we==1.1.5
27
+django-we==1.1.6
28 28
 djangorestframework==3.7.7
29 29
 furl==1.0.1
30 30
 hiredis==0.2.0