@@ -19,6 +19,7 @@ from django.utils.timezone import utc |
||
19 | 19 |
from account.models import UserInfo |
20 | 20 |
from integral.models import SaleclerkSubmitLogInfo |
21 | 21 |
from logs.models import MchInfoEncryptLogInfo |
22 |
+from coupon.models import UserCouponInfo |
|
22 | 23 |
from mch.models import AdministratorInfo, ConsumeInfoSubmitLogInfo, ModelInfo, SaleclerkInfo |
23 | 24 |
from statistic.models import (ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo, |
24 | 25 |
ModelSaleStatisticInfo) |
@@ -141,6 +142,34 @@ def userinfo(request): |
||
141 | 142 |
|
142 | 143 |
|
143 | 144 |
@logit |
145 |
+def query_usercoupons(request): |
|
146 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
|
147 |
+ admin_id = request.POST.get('admin_id', '') |
|
148 |
+ user_id = request.POST.get('user_id', '') |
|
149 |
+ |
|
150 |
+ if brand_id != settings.KODO_DEFAULT_BRAND_ID: |
|
151 |
+ return response(ProductBrandStatusCode.BRAND_NOT_MATCH) |
|
152 |
+ |
|
153 |
+ # 校验用户是否存在 |
|
154 |
+ try: |
|
155 |
+ user = UserInfo.objects.get(user_id=user_id) |
|
156 |
+ except UserInfo.DoesNotExist: |
|
157 |
+ return response(UserStatusCode.USER_NOT_FOUND) |
|
158 |
+ |
|
159 |
+ try: |
|
160 |
+ administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True) |
|
161 |
+ except AdministratorInfo.DoesNotExist: |
|
162 |
+ return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND) |
|
163 |
+ |
|
164 |
+ coupons = UserCouponInfo.objects.filter(brand_id=administrator.brand_id, user_id=user_id, status=True).order_by('-created_at') |
|
165 |
+ coupons = [coupon.admindata for coupon in coupons] |
|
166 |
+ print coupons |
|
167 |
+ |
|
168 |
+ return response(200, 'User Coupon Success', u'用户劵列表获取成功', data={ |
|
169 |
+ 'coupons': coupons, |
|
170 |
+ }) |
|
171 |
+ |
|
172 |
+@logit |
|
144 | 173 |
def query_usergoods(request): |
145 | 174 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID) |
146 | 175 |
admin_id = request.POST.get('admin_id', '') |
@@ -297,6 +297,7 @@ urlpatterns += [ |
||
297 | 297 |
|
298 | 298 |
url(r'^admin/userinfo$', admin_views.userinfo, name='userinfo'), |
299 | 299 |
url(r'^admin/query_usergoods$', admin_views.query_usergoods, name='query_usergoods'), |
300 |
+ url(r'^admin/query_usercoupons$', admin_views.query_usercoupons, name='query_usercoupons'), |
|
300 | 301 |
url(r'^admin/query_userinfo$', admin_views.query_userinfo, name='query_userinfo'), |
301 | 302 |
url(r'^admin/userinfo_update$', admin_views.userinfo_update, name='userinfo_update'), |
302 | 303 |
|
@@ -117,6 +117,16 @@ class UserCouponInfo(BaseModelMixin): |
||
117 | 117 |
if not self.expire_at: |
118 | 118 |
return False |
119 | 119 |
return tc.utc_datetime() > self.expire_at |
120 |
+ |
|
121 |
+ @property |
|
122 |
+ def coupon_source(self): |
|
123 |
+ if self.coupon_from == 'INTEGRAL_MALL': |
|
124 |
+ return '积分商城'.encode('utf-8') |
|
125 |
+ elif self.coupon_from == 'MEMBER_BENEFITS': |
|
126 |
+ return '会员权益'.encode('utf-8') |
|
127 |
+ elif self.coupon_from == 'PROMOTION': |
|
128 |
+ return self.activity_name |
|
129 |
+ return '' |
|
120 | 130 |
|
121 | 131 |
@property |
122 | 132 |
def data(self): |
@@ -138,5 +148,29 @@ class UserCouponInfo(BaseModelMixin): |
||
138 | 148 |
'has_expired': self.has_expired, |
139 | 149 |
'has_used': self.has_used, |
140 | 150 |
'admin_id': self.admin_id, |
151 |
+ 'used_at': self.used_at |
|
152 |
+ } |
|
153 |
+ |
|
154 |
+ @property |
|
155 |
+ def admindata(self): |
|
156 |
+ return { |
|
157 |
+ 'user_coupon_id': self.user_coupon_id, |
|
158 |
+ 'coupon_id': self.coupon_id, |
|
159 |
+ 'user_id': self.user_id, |
|
160 |
+ 'coupon_title': self.coupon_title, |
|
161 |
+ 'coupon_value': self.coupon_value, |
|
162 |
+ 'coupon_image_url': self.coupon_image_url, |
|
163 |
+ 'is_coupon_admin_writeoff': self.is_coupon_admin_writeoff, |
|
164 |
+ 'active_at': tc.local_string(utc_dt=self.active_at, format='%Y-%m-%d'), |
|
165 |
+ 'expire_at': tc.local_string(utc_dt=self.expire_at, format='%Y-%m-%d'), |
|
166 |
+ 'coupon_valid_period': self.coupon_valid_period, |
|
167 |
+ 'coupon_limit_model_ids': self.coupon_limit_model_ids, |
|
168 |
+ 'has_actived': self.has_actived, |
|
169 |
+ 'has_expired': self.has_expired, |
|
170 |
+ 'has_used': self.has_used, |
|
171 |
+ 'admin_id': self.admin_id, |
|
141 | 172 |
'used_at': self.used_at, |
173 |
+ 'coupon_from': self.activity_name if self.coupon_from == 'PROMOTION' else self.coupon_from, |
|
174 |
+ 'clerk_name': self.clerk_name, |
|
175 |
+ 'distributor_name': self.distributor_name, |
|
142 | 176 |
} |