@@ -464,7 +464,11 @@ def activity_signin(request): |
||
| 464 | 464 |
|
| 465 | 465 |
def get_group_share_info_integral(activity_id, share_user_id, open_gid, group_share_integral, group_share_max_integral): |
| 466 | 466 |
# 校验该分享人是否已领取该群积分 |
| 467 |
- has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, open_gid=open_gid, is_integral=True).exists() |
|
| 467 |
+ if open_gid: |
|
| 468 |
+ has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, open_gid=open_gid, is_integral=True).exists() |
|
| 469 |
+ else: |
|
| 470 |
+ has_integral = MemberActivityGroupShareInfo.objects.filter(activity_id=activity_id, share_user_id=share_user_id, is_integral=True).exists() |
|
| 471 |
+ |
|
| 468 | 472 |
if has_integral: |
| 469 | 473 |
return False, 0 |
| 470 | 474 |
# 校验该分享人是否已领取该活动积分上限 |
@@ -485,20 +489,22 @@ def activity_group_share(request): |
||
| 485 | 489 |
iv = request.POST.get('iv', '')
|
| 486 | 490 |
encryptedData = request.POST.get('encryptedData', '')
|
| 487 | 491 |
|
| 488 |
- wxcfg = WECHAT.get('MINIAPP', {})
|
|
| 492 |
+ open_gid = None |
|
| 493 |
+ if iv and encryptedData: |
|
| 494 |
+ wxcfg = WECHAT.get('MINIAPP', {})
|
|
| 489 | 495 |
|
| 490 |
- appid = wxcfg.get('appID')
|
|
| 491 |
- secret = wxcfg.get('appsecret')
|
|
| 496 |
+ appid = wxcfg.get('appID')
|
|
| 497 |
+ secret = wxcfg.get('appsecret')
|
|
| 492 | 498 |
|
| 493 |
- # {
|
|
| 494 |
- # "openGId": "OPENGID" |
|
| 495 |
- # } |
|
| 496 |
- shareinfo = get_shareinfo(appid=appid, secret=secret, unid=click_user_id, session_key=None, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
| 499 |
+ # {
|
|
| 500 |
+ # "openGId": "OPENGID" |
|
| 501 |
+ # } |
|
| 502 |
+ shareinfo = get_shareinfo(appid=appid, secret=secret, unid=click_user_id, session_key=None, encryptedData=encryptedData, iv=iv, storage=RedisStorage(r)) |
|
| 497 | 503 |
|
| 498 |
- open_gid = shareinfo.get('openGId')
|
|
| 504 |
+ open_gid = shareinfo.get('openGId')
|
|
| 499 | 505 |
|
| 500 |
- if not open_gid: |
|
| 501 |
- return response() |
|
| 506 |
+ if not open_gid: |
|
| 507 |
+ return response() |
|
| 502 | 508 |
|
| 503 | 509 |
try: |
| 504 | 510 |
user = UserInfo.objects.select_for_update().get(user_id=share_user_id, status=True) |
@@ -0,0 +1,18 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+# Generated by Django 3.2.16 on 2022-11-11 04:42 |
|
| 3 |
+ |
|
| 4 |
+from django.db import migrations |
|
| 5 |
+ |
|
| 6 |
+ |
|
| 7 |
+class Migration(migrations.Migration): |
|
| 8 |
+ |
|
| 9 |
+ dependencies = [ |
|
| 10 |
+ ('member', '0052_auto_20221107_2238'),
|
|
| 11 |
+ ] |
|
| 12 |
+ |
|
| 13 |
+ operations = [ |
|
| 14 |
+ migrations.AlterUniqueTogether( |
|
| 15 |
+ name='memberactivitygroupshareinfo', |
|
| 16 |
+ unique_together={('activity_id', 'share_user_id', 'click_user_id', 'brand_id')},
|
|
| 17 |
+ ), |
|
| 18 |
+ ] |
@@ -711,7 +711,7 @@ class MemberActivityGroupShareInfo(BaseModelMixin, BrandInfoMixin): |
||
| 711 | 711 |
verbose_name_plural = _(u'会员活动群组分享信息') |
| 712 | 712 |
|
| 713 | 713 |
unique_together = ( |
| 714 |
- ('activity_id', 'share_user_id', 'click_user_id', 'open_gid', 'brand_id'),
|
|
| 714 |
+ ('activity_id', 'share_user_id', 'click_user_id', 'brand_id'),
|
|
| 715 | 715 |
) |
| 716 | 716 |
|
| 717 | 717 |
def __unicode__(self): |