|  |  | @@ -3,7 +3,6 @@ | 
            
            
              | 3 | 3 |  import logging | 
            
            
              | 4 | 4 |  import time | 
            
            
              | 5 | 5 |   | 
            
            
              | 6 |  | -from django.db import transaction | 
            
            
              | 7 | 6 |  from django_six import CompatibilityBaseCommand, close_old_connections | 
            
            
              | 8 | 7 |  from TimeConvert import TimeConvert as tc | 
            
            
              | 9 | 8 |   | 
            
            
            
            
              |  |  | @@ -30,8 +29,6 @@ class Command(CompatibilityBaseCommand): | 
            
            
              | 30 | 29 |              k, v = r.blpopjson(MEMBER_SEND_COUPON_LIST, 60) | 
            
            
              | 31 | 30 |              if v: | 
            
            
              | 32 | 31 |   | 
            
            
              | 33 |  | -                time.sleep(10) | 
            
            
              | 34 |  | - | 
            
            
              | 35 | 32 |                  close_old_connections() | 
            
            
              | 36 | 33 |   | 
            
            
              | 37 | 34 |                  logger.info(v) | 
            
            
            
            
              |  |  | @@ -40,72 +37,71 @@ class Command(CompatibilityBaseCommand): | 
            
            
              | 40 | 37 |                  user_id = v.get('user_id', '') | 
            
            
              | 41 | 38 |                  coupon_id = v.get('coupon_id', '') | 
            
            
              | 42 | 39 |   | 
            
            
              | 43 |  | -                with transaction.atomic(): | 
            
            
              |  | 40 | +                try: | 
            
            
              |  | 41 | +                    user = UserInfo.objects.get(user_id=user_id) | 
            
            
              |  | 42 | +                except UserInfo.DoesNotExist: | 
            
            
              |  | 43 | +                    continue | 
            
            
              |  | 44 | +                if coupon_id: | 
            
            
              |  | 45 | +                    # 发放商城兑换券 | 
            
            
              | 44 | 46 |                      try: | 
            
            
              | 45 |  | -                        user = UserInfo.objects.get(user_id=user_id) | 
            
            
              | 46 |  | -                    except UserInfo.DoesNotExist: | 
            
            
              |  | 47 | +                        coupon = CouponInfo.objects.get(coupon_id=coupon_id) | 
            
            
              |  | 48 | +                    except CouponInfo.DoesNotExist: | 
            
            
              | 47 | 49 |                          continue | 
            
            
              | 48 |  | -                    if coupon_id: | 
            
            
              | 49 |  | -                        # 发放商城兑换券 | 
            
            
              |  | 50 | + | 
            
            
              |  | 51 | +                    UserCouponInfo.objects.create( | 
            
            
              |  | 52 | +                        brand_id=coupon.brand_id, | 
            
            
              |  | 53 | +                        brand_name=coupon.brand_name, | 
            
            
              |  | 54 | +                        coupon_id=coupon_id, | 
            
            
              |  | 55 | +                        user_id=user_id, | 
            
            
              |  | 56 | +                        coupon_title=coupon.coupon_title, | 
            
            
              |  | 57 | +                        coupon_detail=coupon.coupon_detail, | 
            
            
              |  | 58 | +                        coupon_value=coupon.coupon_value, | 
            
            
              |  | 59 | +                        coupon_image=coupon.coupon_image, | 
            
            
              |  | 60 | +                        active_at=tc.utc_datetime(), | 
            
            
              |  | 61 | +                        expire_at=tc.utc_datetime(days=365), | 
            
            
              |  | 62 | +                        coupon_valid_period=coupon.coupon_valid_period, | 
            
            
              |  | 63 | +                        coupon_limit_model_ids=coupon.coupon_limit_model_ids, | 
            
            
              |  | 64 | +                    ) | 
            
            
              |  | 65 | + | 
            
            
              |  | 66 | +                else: | 
            
            
              |  | 67 | +                    # 发放会员权益 | 
            
            
              |  | 68 | +                    rights = RightInfo.objects.filter(is_send_coupon=True, status=True) | 
            
            
              |  | 69 | +                    for right in rights: | 
            
            
              |  | 70 | +                        if user.level == UserInfo.MEMBER_LRC: | 
            
            
              |  | 71 | +                            coupon_id = right.coupon_level1_id | 
            
            
              |  | 72 | +                            coupon_num = right.coupon_level1_num | 
            
            
              |  | 73 | +                        elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              |  | 74 | +                            coupon_id = right.coupon_level2_id | 
            
            
              |  | 75 | +                            coupon_num = right.coupon_level2_num | 
            
            
              |  | 76 | +                        elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              |  | 77 | +                            coupon_id = right.coupon_level3_id | 
            
            
              |  | 78 | +                            coupon_num = right.coupon_level3_num | 
            
            
              |  | 79 | +                        elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              |  | 80 | +                            coupon_id = right.coupon_level4_id | 
            
            
              |  | 81 | +                            coupon_num = right.coupon_level4_num | 
            
            
              |  | 82 | +                        else: | 
            
            
              |  | 83 | +                            coupon_id = right.coupon_level5_id | 
            
            
              |  | 84 | +                            coupon_num = right.coupon_level5_num | 
            
            
              |  | 85 | + | 
            
            
              | 50 | 86 |                          try: | 
            
            
              | 51 | 87 |                              coupon = CouponInfo.objects.get(coupon_id=coupon_id) | 
            
            
              | 52 | 88 |                          except CouponInfo.DoesNotExist: | 
            
            
              | 53 | 89 |                              continue | 
            
            
              | 54 | 90 |   | 
            
            
              | 55 |  | -                        UserCouponInfo.objects.create( | 
            
            
              | 56 |  | -                            brand_id=coupon.brand_id, | 
            
            
              | 57 |  | -                            brand_name=coupon.brand_name, | 
            
            
              | 58 |  | -                            coupon_id=coupon_id, | 
            
            
              | 59 |  | -                            user_id=user_id, | 
            
            
              | 60 |  | -                            coupon_title=coupon.coupon_title, | 
            
            
              | 61 |  | -                            coupon_detail=coupon.coupon_detail, | 
            
            
              | 62 |  | -                            coupon_value=coupon.coupon_value, | 
            
            
              | 63 |  | -                            coupon_image=coupon.coupon_image, | 
            
            
              | 64 |  | -                            active_at=tc.utc_datetime(), | 
            
            
              | 65 |  | -                            expire_at=tc.utc_datetime(days=365), | 
            
            
              | 66 |  | -                            coupon_valid_period=coupon.coupon_valid_period, | 
            
            
              | 67 |  | -                            coupon_limit_model_ids=coupon.coupon_limit_model_ids, | 
            
            
              | 68 |  | -                        ) | 
            
            
              | 69 |  | - | 
            
            
              | 70 |  | -                    else: | 
            
            
              | 71 |  | -                        # 发放会员权益 | 
            
            
              | 72 |  | -                        rights = RightInfo.objects.filter(is_send_coupon=True, status=True) | 
            
            
              | 73 |  | -                        for right in rights: | 
            
            
              | 74 |  | -                            if user.level == UserInfo.MEMBER_LRC: | 
            
            
              | 75 |  | -                                coupon_id = right.coupon_level1_id | 
            
            
              | 76 |  | -                                coupon_num = right.coupon_level1_num | 
            
            
              | 77 |  | -                            elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              | 78 |  | -                                coupon_id = right.coupon_level2_id | 
            
            
              | 79 |  | -                                coupon_num = right.coupon_level2_num | 
            
            
              | 80 |  | -                            elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              | 81 |  | -                                coupon_id = right.coupon_level3_id | 
            
            
              | 82 |  | -                                coupon_num = right.coupon_level3_num | 
            
            
              | 83 |  | -                            elif user.level == UserInfo.MEMBER_SILVER: | 
            
            
              | 84 |  | -                                coupon_id = right.coupon_level4_id | 
            
            
              | 85 |  | -                                coupon_num = right.coupon_level4_num | 
            
            
              | 86 |  | -                            else: | 
            
            
              | 87 |  | -                                coupon_id = right.coupon_level5_id | 
            
            
              | 88 |  | -                                coupon_num = right.coupon_level5_num | 
            
            
              | 89 |  | - | 
            
            
              | 90 |  | -                            try: | 
            
            
              | 91 |  | -                                coupon = CouponInfo.objects.get(coupon_id=coupon_id) | 
            
            
              | 92 |  | -                            except CouponInfo.DoesNotExist: | 
            
            
              | 93 |  | -                                continue | 
            
            
              | 94 |  | - | 
            
            
              | 95 |  | -                            for _ in xrange(right.coupon_num or coupon_num): | 
            
            
              | 96 |  | -                                UserCouponInfo.objects.create( | 
            
            
              | 97 |  | -                                    brand_id=coupon.brand_id, | 
            
            
              | 98 |  | -                                    brand_name=coupon.brand_name, | 
            
            
              | 99 |  | -                                    coupon_id=coupon_id, | 
            
            
              | 100 |  | -                                    user_id=user_id, | 
            
            
              | 101 |  | -                                    coupon_title=coupon.coupon_title, | 
            
            
              | 102 |  | -                                    coupon_detail=coupon.coupon_detail, | 
            
            
              | 103 |  | -                                    coupon_value=coupon.coupon_value, | 
            
            
              | 104 |  | -                                    coupon_image=coupon.coupon_image, | 
            
            
              | 105 |  | -                                    active_at=tc.utc_datetime(), | 
            
            
              | 106 |  | -                                    expire_at=tc.utc_datetime(days=365), | 
            
            
              | 107 |  | -                                    coupon_valid_period=coupon.coupon_valid_period, | 
            
            
              | 108 |  | -                                    coupon_limit_model_ids=coupon.coupon_limit_model_ids, | 
            
            
              | 109 |  | -                                ) | 
            
            
              |  | 91 | +                        for _ in xrange(right.coupon_num or coupon_num): | 
            
            
              |  | 92 | +                            UserCouponInfo.objects.create( | 
            
            
              |  | 93 | +                                brand_id=coupon.brand_id, | 
            
            
              |  | 94 | +                                brand_name=coupon.brand_name, | 
            
            
              |  | 95 | +                                coupon_id=coupon_id, | 
            
            
              |  | 96 | +                                user_id=user_id, | 
            
            
              |  | 97 | +                                coupon_title=coupon.coupon_title, | 
            
            
              |  | 98 | +                                coupon_detail=coupon.coupon_detail, | 
            
            
              |  | 99 | +                                coupon_value=coupon.coupon_value, | 
            
            
              |  | 100 | +                                coupon_image=coupon.coupon_image, | 
            
            
              |  | 101 | +                                active_at=tc.utc_datetime(), | 
            
            
              |  | 102 | +                                expire_at=tc.utc_datetime(days=365), | 
            
            
              |  | 103 | +                                coupon_valid_period=coupon.coupon_valid_period, | 
            
            
              |  | 104 | +                                coupon_limit_model_ids=coupon.coupon_limit_model_ids, | 
            
            
              |  | 105 | +                            ) | 
            
            
              | 110 | 106 |   | 
            
            
              | 111 | 107 |                  close_old_connections() |