@@ -45,6 +45,8 @@ 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 utils.redis.connect import r |
|
| 49 |
+ from utils.redis.rkeys import SUBSCRIBE_USERINFO_LIST |
|
| 48 | 50 |
|
| 49 | 51 |
logger.info(appid) |
| 50 | 52 |
logger.info(data) |
@@ -63,6 +65,12 @@ def DJANGO_WE_COMPONENT_CALLBACK_FUNC(request, appid, data, decrypted=None): |
||
| 63 | 65 |
UserInfo.objects.using('fujifilm').filter(unionid=unionid).update(openid=openid, has_membercard=True, membercardid=membercardid, memberusercardcode=memberusercardcode)
|
| 64 | 66 |
elif event == 'user_del_card': |
| 65 | 67 |
UserInfo.objects.using('fujifilm').filter(memberusercardcode=memberusercardcode).update(has_membercard=False)
|
| 68 |
+ elif event == 'subscribe' or event == 'unsubscribe': |
|
| 69 |
+ brand_id = settings.COMPONENT_CALLBACK_CONFIG[tousername] |
|
| 70 |
+ r.rpushjson(SUBSCRIBE_USERINFO_LIST % brand_id, {
|
|
| 71 |
+ 'brand_id': brand_id, |
|
| 72 |
+ 'openid': openid, |
|
| 73 |
+ }) |
|
| 66 | 74 |
|
| 67 | 75 |
# 腾龙服务号 |
| 68 | 76 |
if event == 'user_get_card': |
@@ -408,6 +408,10 @@ PHONE_2_ADMINISTRATIVE_DIVISION = 'https://www.baifubao.com/callback?cmd=1059&ca |
||
| 408 | 408 |
|
| 409 | 409 |
TESTING_SNS = ['000000'] |
| 410 | 410 |
|
| 411 |
+COMPONENT_CALLBACK_CONFIG = {
|
|
| 412 |
+ 'tousername': 'brand_id', |
|
| 413 |
+} |
|
| 414 |
+ |
|
| 411 | 415 |
# 开发调试相关配置 |
| 412 | 416 |
if DEBUG: |
| 413 | 417 |
try: |
@@ -71,3 +71,5 @@ BOX_PROGRAM_VERSION_INFO = 'box:program:version:info' # STRING,BOX 程序版 |
||
| 71 | 71 |
MINI_PROGRAM_GIS_LIST = 'tamron:miniprogram:gis:list' |
| 72 | 72 |
|
| 73 | 73 |
SCREEN_ADMIN_LOGIN = 'tamron:screen:admin:login:%s:%s' # brand_id, token |
| 74 |
+ |
|
| 75 |
+SUBSCRIBE_USERINFO_LIST = 'subscribe:userinfo:%s' |