会员活动分享:增加是否下线和结束校验,并且给用户加积分。

FFIB лет %!s(int64=4): %!d(string=назад)
Родитель
Сommit
54ee6436eb
1 измененных файлов с 18 добавлено и 1 удалено
  1. 18 1
      api/member_views.py

+ 18 - 1
api/member_views.py

@@ -464,14 +464,28 @@ def activity_group_share(request):
464 464
 
465 465
     if not open_gid:
466 466
         return response()
467
+    
468
+    try:
469
+        user = UserInfo.objects.get(user_id=click_user_id, status=True)
470
+    except:
471
+        return response(UserStatusCode.USER_NOT_FOUND)
467 472
 
468 473
     try:
469 474
         act = MemberActivityInfo.objects.select_for_update().get(activity_id=activity_id, status=True)
470 475
     except MemberActivityInfo.DoesNotExist:
471 476
         return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
477
+    
478
+    isOffline = act.activity_state != 0 or act.final_state == '已结束'
472 479
 
473 480
     # 判断是否给积分 & 给多少积分
474
-    is_integral, integral = get_group_share_info_integral(act.activity_id, share_user_id, open_gid, act.group_share_integral, act.group_share_max_integral)
481
+    if isOffline:
482
+        is_integral = False
483
+        integral = 0
484
+    else:
485
+        is_integral, integral = get_group_share_info_integral(act.activity_id, share_user_id, open_gid, act.group_share_integral, act.group_share_max_integral)
486
+        user.integral += integral
487
+        user.save()
488
+        
475 489
 
476 490
     MemberActivityGroupShareInfo.objects.create(**{
477 491
         'brand_id': act.brand_id,
@@ -485,4 +499,7 @@ def activity_group_share(request):
485 499
         'integral': integral,
486 500
     })
487 501
 
502
+    if isOffline:
503
+        return response(400002, 'Activity has been offline', '会员活动已下线')
504
+
488 505
     return response()