-
|
|
48
|
+ if coupon_id:
|
|
|
49
|
+ # 发放商城兑换券
|
|
60
|
50
|
try:
|
|
61
|
51
|
coupon = UserCouponInfo.objects.get(coupon_id=coupon_id)
|
|
62
|
52
|
except UserCouponInfo.DoesNotExist:
|
|
63
|
53
|
continue
|
|
64
|
54
|
|
|
65
|
|
- for _ in xrange(right.coupon_num):
|
|
66
|
|
- UserCouponInfo.objects.create(
|
|
67
|
|
- brand_id=coupon.brand_id,
|
|
68
|
|
- brand_name=coupon.brand_name,
|
|
69
|
|
- coupon_id=coupon_id,
|
|
70
|
|
- user_id=user_id,
|
|
71
|
|
- coupon_title=coupon.coupon_title,
|
|
72
|
|
- coupon_detail=coupon.coupon_detail,
|
|
73
|
|
- coupon_value=coupon.coupon_value,
|
|
74
|
|
- coupon_image=coupon.coupon_image,
|
|
75
|
|
- active_at=tc.utc_datetime(),
|
|
76
|
|
- expire_at=tc.utc_datetime(days=365),
|
|
77
|
|
- coupon_valid_period=coupon.coupon_valid_period,
|
|
78
|
|
- coupon_limit_brand_ids=coupon.coupon_limit_brand_ids,
|
|
79
|
|
- )
|
|
|
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_brand_ids=coupon.coupon_limit_brand_ids,
|
|
|
68
|
+ )
|
|
|
69
|
+ else:
|
|
|
70
|
+ # 发放会员权益
|
|
|
71
|
+ rights = RightInfo.objects.filter(is_send_coupon=True, status=True)
|
|
|
72
|
+ for right in rights:
|
|
|
73
|
+ if user.level == UserInfo.MEMBER_LRC:
|
|
|
74
|
+ coupon_id = right.coupon_level1_id
|
|
|
75
|
+ elif user.level == UserInfo.MEMBER_SILVER:
|
|
|
76
|
+ coupon_id = right.coupon_level2_id
|
|
|
77
|
+ elif user.level == UserInfo.MEMBER_SILVER:
|
|
|
78
|
+ coupon_id = right.coupon_level3_id
|
|
|
79
|
+ elif user.level == UserInfo.MEMBER_SILVER:
|
|
|
80
|
+ coupon_id = right.coupon_level4_id
|
|
|
81
|
+ else:
|
|
|
82
|
+ coupon_id = right.coupon_level5_id
|
|
|
83
|
+
|
|
|
84
|
+ try:
|
|
|
85
|
+ coupon = UserCouponInfo.objects.get(coupon_id=coupon_id)
|
|
|
86
|
+ except UserCouponInfo.DoesNotExist:
|
|
|
87
|
+ continue
|
|
|
88
|
+
|
|
|
89
|
+ for _ in xrange(right.coupon_num):
|
|
|
90
|
+ UserCouponInfo.objects.create(
|
|
|
91
|
+ brand_id=coupon.brand_id,
|
|
|
92
|
+ brand_name=coupon.brand_name,
|
|
|
93
|
+ coupon_id=coupon_id,
|
|
|
94
|
+ user_id=user_id,
|
|
|
95
|
+ coupon_title=coupon.coupon_title,
|
|
|
96
|
+ coupon_detail=coupon.coupon_detail,
|
|
|
97
|
+ coupon_value=coupon.coupon_value,
|
|
|
98
|
+ coupon_image=coupon.coupon_image,
|
|
|
99
|
+ active_at=tc.utc_datetime(),
|
|
|
100
|
+ expire_at=tc.utc_datetime(days=365),
|
|
|
101
|
+ coupon_valid_period=coupon.coupon_valid_period,
|
|
|
102
|
+ coupon_limit_brand_ids=coupon.coupon_limit_brand_ids,
|
|
|
103
|
+ )
|
|
80
|
104
|
|
|
81
|
105
|
close_old_connections()
|
|
|
|
@@ -4,7 +4,7 @@ import monetary
|
|
4
|
4
|
from django.conf import settings
|
|
5
|
5
|
from django.contrib import admin
|
|
6
|
6
|
from django.contrib.auth.hashers import make_password
|
|
7
|
|
-from django_admin import AdvancedActionsModelAdmin, AdvancedExportExcelModelAdmin, ReadOnlyModelAdmin
|
|
|
7
|
+from django_admin import AdvancedActionsModelAdmin, AdvancedExportExcelModelAdmin, DeleteModelAdmin, ReadOnlyModelAdmin
|
|
8
|
8
|
from django_models_ext import ProvinceShortModelMixin
|
|
9
|
9
|
from pysnippets.strsnippets import strip
|
|
10
|
10
|
|
|
|
|
@@ -63,7 +63,7 @@ class BrandInfoAdmin(admin.ModelAdmin):
|
|
63
|
63
|
OperatorInfo.objects.filter(brand_id=obj.brand_id).update(brand_domain=obj.brand_domain)
|
|
64
|
64
|
|
|
65
|
65
|
|
|
66
|
|
-class ModelInfoAdmin(admin.ModelAdmin):
|
|
|
66
|
+class ModelInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
|
|
67
|
67
|
list_display = ('brand_id', 'brand_name', 'jancode', 'model_id', 'model_name', 'model_uni_name', 'model_full_name', 'model_descr', 'category', 'warehouse', 'image', 'url', 'image2', 'factory_yuan', 'integral', 'position', 'display', 'status', 'created_at', 'updated_at')
|
|
68
|
68
|
list_filter = ('brand_name', 'category', 'warehouse', 'shot_type_id', 'display', 'status')
|
|
69
|
69
|
readonly_fields = ('brand_name', 'factory_fee')
|
|
|
|
@@ -1,6 +1,7 @@
|
|
1
|
1
|
# -*- coding: utf-8 -*-
|
|
2
|
2
|
|
|
3
|
3
|
from django.contrib import admin
|
|
|
4
|
+from django_admin import DeleteModelAdmin
|
|
4
|
5
|
|
|
5
|
6
|
from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityInfo, MemberActivitySigninInfo,
|
|
6
|
7
|
MemberActivitySignupInfo, RightInfo, ShotTypeInfo)
|
|
|
|
@@ -32,7 +33,7 @@ class RightInfoAdmin(admin.ModelAdmin):
|
|
32
|
33
|
list_filter = ('right_type', 'is_send_coupon', 'status')
|
|
33
|
34
|
|
|
34
|
35
|
|
|
35
|
|
-class ShotTypeInfoAdmin(admin.ModelAdmin):
|
|
|
36
|
+class ShotTypeInfoAdmin(DeleteModelAdmin, admin.ModelAdmin):
|
|
36
|
37
|
list_display = ('shot_type_id', 'shot_type_name', 'position', 'status', 'created_at', 'updated_at')
|
|
37
|
38
|
|
|
38
|
39
|
def save_model(self, request, obj, form, change):
|
|
|
|
@@ -2,7 +2,7 @@ Django==1.11.26
|
|
2
|
2
|
django-admin==2.0.0
|
|
3
|
3
|
django-cors-headers==3.0.2
|
|
4
|
4
|
django-curtail-uuid==1.0.4
|
|
5
|
|
-django-detect==1.0.16
|
|
|
5
|
+django-detect==1.0.17
|
|
6
|
6
|
django-file-md5==1.0.3
|
|
7
|
7
|
django-file-upload==1.1.1
|
|
8
|
8
|
django-ip==1.0.2
|
|
|
|
@@ -76,3 +76,4 @@ SUBSCRIBE_USERINFO_LIST = 'subscribe:userinfo:%s'
|
|
76
|
76
|
|
|
77
|
77
|
MEMBER_SHOT_DATA = 'kodo:member:shot:data'
|
|
78
|
78
|
MEMBER_SEND_COUPON_LIST = 'kodo:member:send:coupon:list'
|
|
|
79
|
+MEMBER_UPGRADE_INFO = 'kodo:member:upgrade:info:%s:%s' # brand_id, user_id
|