增加会员活动-小程序端相关api

FFIB %!s(int64=2) %!d(string=hace) años
padre
commit
4276477dd8
Se han modificado 5 ficheros con 82 adiciones y 2 borrados
  1. 5 1
      api/urls.py
  2. 52 0
      member/activity_mp_views.py
  3. 5 1
      member/models.py
  4. 12 0
      member/mp_urls.py
  5. 8 0
      member/urls.py

+ 5 - 1
api/urls.py

@@ -1,6 +1,6 @@
1 1
 # -*- coding: utf-8 -*-
2 2
 
3
-from django.conf.urls import url
3
+from django.conf.urls import include, url
4 4
 from django_file_upload import views as file_views
5 5
 
6 6
 from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views,
@@ -373,3 +373,7 @@ urlpatterns += [
373 373
 urlpatterns += [
374 374
     url(r'^tencentcloud/faceid/eidtoken$', tencentcloud_views.get_faceid_eid_token, name='tencentcloud_get_faceid_eid_token'),
375 375
 ]
376
+
377
+urlpatterns += [
378
+    url(r'^', include(('member.urls', 'member'), namespace='member')),
379
+]

+ 52 - 0
member/activity_mp_views.py

@@ -0,0 +1,52 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf import settings
4
+from django_logit import logit
5
+from django_response import response
6
+from paginator import pagination
7
+
8
+from member.models import MemberActivityInfo
9
+from utils.error.errno_utils import MemberActivityStatusCode
10
+
11
+
12
+@logit
13
+def activity_home(request):
14
+    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
15
+    user_id = request.POST.get('user_id', '')
16
+    banners = MemberActivityInfo.objects.filter(activity_state=1, is_slider=True, status=True).order_by('-date')
17
+
18
+    banners = [act.data(user_id) for act in banners]
19
+
20
+    return response(data={
21
+        'banners': banners,
22
+    })
23
+
24
+
25
+@logit
26
+def activity_list(request):
27
+    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
28
+    user_id = request.POST.get('user_id', '')
29
+    activity_section = request.POST.get('activity_section', 3)
30
+
31
+    activitys = MemberActivityInfo.objects.filter(activity_state=1, activity_section=activity_section, status=True).order_by('-date')
32
+    activitys = [act.data(user_id) for act in activitys]
33
+
34
+    return response(data={
35
+        'activitys': activitys,
36
+    })
37
+
38
+
39
+@logit
40
+def activity_detail(request):
41
+    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
42
+    user_id = request.POST.get('user_id', '')
43
+    activity_id = request.POST.get('activity_id', '')
44
+
45
+    try:
46
+        act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True)
47
+    except MemberActivityInfo.DoesNotExist:
48
+        return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
49
+
50
+    return response(data={
51
+        'activity': act.details(user_id),
52
+    })

+ 5 - 1
member/models.py

@@ -470,6 +470,10 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
470 470
         return qiniu_file_url(self.image.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.image)
471 471
 
472 472
     @property
473
+    def post_kv_image_url(self):
474
+        return qiniu_file_url(self.poster_kv_img.name, bucket='tamron') if self.is_upload_qiniu else upload_file_url(self.poster_kv_img)
475
+
476
+    @property
473 477
     def final_state(self):
474 478
         if not self.date:
475 479
             return u'报名中'
@@ -541,7 +545,7 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):
541 545
             'is_signup': self.is_signup,
542 546
             'share_integral': self.group_share_integral,
543 547
             'share_max_integral': self.group_share_max_integral,
544
-            'poster_kv_img_url': self.final_poster_kv_img_url,
548
+            'poster_kv_img_url': self.post_kv_image_url,
545 549
             'poster_content': self.poster_content,
546 550
             'contribution_content_placeholder': self.contribution_content_placeholder,
547 551
         }

+ 12 - 0
member/mp_urls.py

@@ -0,0 +1,12 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf.urls import url
4
+
5
+from member import activity_mp_views
6
+
7
+# activity
8
+urlpatterns = [
9
+    url(r'^member/activity/home$', activity_mp_views.activity_home, name='mp_member_activity_home'),  # 获取会员活动首页
10
+    url(r'^member/activity/list$', activity_mp_views.activity_list, name='mp_member_activity_list'),  # 获取会员分区活动列表
11
+    url(r'^member/activity/detail$', activity_mp_views.activity_detail, name='mp_member_activity_detail'),  # 获取会员分区活动列表
12
+]

+ 8 - 0
member/urls.py

@@ -0,0 +1,8 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.conf.urls import include, url
4
+
5
+
6
+urlpatterns = [
7
+    url(r'^mp', include(('member.mp_urls', 'member'), namespace='mp_member')),
8
+]