@@ -17,8 +17,9 @@ from account.models import UserInfo |
||
| 17 | 17 |
from coupon.models import UserCouponInfo |
| 18 | 18 |
from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityContributionInfo, MemberActivityGroupShareInfo, |
| 19 | 19 |
MemberActivityInfo, MemberActivitySigninInfo, MemberActivitySignupInfo, RightInfo) |
| 20 |
-from utils.error.errno_utils import (MemberActivityStatusCode, MemberCouponStatusCode, MemberGoodStatusCode, |
|
| 21 |
- MemberRightStatusCode, UserStatusCode) |
|
| 20 |
+from utils.error.errno_utils import (MemberActivityContributionStatusCode, MemberActivityStatusCode, |
|
| 21 |
+ MemberCouponStatusCode, MemberGoodStatusCode, MemberRightStatusCode, |
|
| 22 |
+ UserStatusCode) |
|
| 22 | 23 |
from utils.redis.connect import r |
| 23 | 24 |
from utils.redis.rkeys import MEMBER_SEND_COUPON_LIST, MEMBER_UPGRADE_INFO |
| 24 | 25 |
from utils.redis.rshot import get_member_shot_data |
@@ -362,7 +363,7 @@ def activity_list(request): |
||
| 362 | 363 |
def activity_detail(request): |
| 363 | 364 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
| 364 | 365 |
user_id = request.POST.get('user_id', '')
|
| 365 |
- activity_id = request.POST.get('activity_id')
|
|
| 366 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 366 | 367 |
|
| 367 | 368 |
try: |
| 368 | 369 |
act = MemberActivityInfo.objects.get(activity_id=activity_id, status=True) |
@@ -378,7 +379,7 @@ def activity_detail(request): |
||
| 378 | 379 |
def activity_signup(request): |
| 379 | 380 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
| 380 | 381 |
user_id = request.POST.get('user_id', '')
|
| 381 |
- activity_id = request.POST.get('activity_id')
|
|
| 382 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 382 | 383 |
name = request.POST.get('name', '')
|
| 383 | 384 |
phone = request.POST.get('phone', '')
|
| 384 | 385 |
|
@@ -406,7 +407,7 @@ def activity_signup(request): |
||
| 406 | 407 |
def activity_signin(request): |
| 407 | 408 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
| 408 | 409 |
user_id = request.POST.get('user_id', '')
|
| 409 |
- activity_id = request.POST.get('activity_id')
|
|
| 410 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 410 | 411 |
|
| 411 | 412 |
# 校验用户是否存在 |
| 412 | 413 |
try: |
@@ -451,7 +452,7 @@ def activity_group_share(request): |
||
| 451 | 452 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
| 452 | 453 |
share_user_id = request.POST.get('share_user_id', '')
|
| 453 | 454 |
click_user_id = request.POST.get('click_user_id', '')
|
| 454 |
- activity_id = request.POST.get('activity_id')
|
|
| 455 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 455 | 456 |
|
| 456 | 457 |
iv = request.POST.get('iv', '')
|
| 457 | 458 |
encryptedData = request.POST.get('encryptedData', '')
|
@@ -514,11 +515,12 @@ def activity_group_share(request): |
||
| 514 | 515 |
def activity_contribute(request): |
| 515 | 516 |
brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
| 516 | 517 |
user_id = request.POST.get('user_id', '')
|
| 517 |
- activity_id = request.POST.get('activity_id')
|
|
| 518 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 518 | 519 |
content_type = get_query_value(request, 'content_type', val_cast_type='int') |
| 519 | 520 |
title = request.POST.get('title', '')
|
| 520 | 521 |
content = request.POST.get('content', '')
|
| 521 | 522 |
images = get_query_value(request, 'images', val_cast_type='listjson') |
| 523 |
+ video_url = request.POST.get('video_url', '')
|
|
| 522 | 524 |
|
| 523 | 525 |
# 校验用户是否存在 |
| 524 | 526 |
try: |
@@ -534,8 +536,46 @@ def activity_contribute(request): |
||
| 534 | 536 |
title=title, |
| 535 | 537 |
content=content, |
| 536 | 538 |
images=images, |
| 539 |
+ video_url=video_url, |
|
| 537 | 540 |
) |
| 538 | 541 |
|
| 539 | 542 |
return response(data={
|
| 540 | 543 |
'contribution': contribution.data, |
| 541 | 544 |
}) |
| 545 |
+ |
|
| 546 |
+ |
|
| 547 |
+@logit |
|
| 548 |
+def activity_contribute_list(request): |
|
| 549 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 550 |
+ user_id = request.POST.get('user_id', '')
|
|
| 551 |
+ activity_id = request.POST.get('activity_id', '')
|
|
| 552 |
+ content_type = get_query_value(request, 'content_type', val_cast_type='int') |
|
| 553 |
+ page = request.POST.get('page', 1)
|
|
| 554 |
+ num = request.POST.get('num', 20)
|
|
| 555 |
+ |
|
| 556 |
+ contributions = MemberActivityContributionInfo.objects.filter(content_type=content_type, status=True) |
|
| 557 |
+ if user_id: |
|
| 558 |
+ contributions = contributions.filter(user_id=user_id) |
|
| 559 |
+ if activity_id: |
|
| 560 |
+ contributions = contributions.filter(activity_id=activity_id) |
|
| 561 |
+ contributions = contributions.order_by('-pk')
|
|
| 562 |
+ contributions, left = pagination(contributions, page, num) |
|
| 563 |
+ contributions = [contribution.data for contribution in contributions] |
|
| 564 |
+ |
|
| 565 |
+ return response(data={
|
|
| 566 |
+ 'contributions': contributions, |
|
| 567 |
+ 'left': left, |
|
| 568 |
+ }) |
|
| 569 |
+ |
|
| 570 |
+ |
|
| 571 |
+@logit |
|
| 572 |
+def activity_contribute_detail(request): |
|
| 573 |
+ brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
|
|
| 574 |
+ contribution_id = request.POST.get('contribution_id', '')
|
|
| 575 |
+ |
|
| 576 |
+ try: |
|
| 577 |
+ contribution = MemberActivityContributionInfo.objects.get(contribution_id=contribution_id, status=True) |
|
| 578 |
+ except MemberActivityContributionInfo.DoesNotExist: |
|
| 579 |
+ return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND) |
|
| 580 |
+ |
|
| 581 |
+ return response(data=contribution.data) |
@@ -229,6 +229,8 @@ urlpatterns += [ |
||
| 229 | 229 |
url(r'^member/activity/group_share$', member_views.activity_group_share, name='member_activity_group_share'), |
| 230 | 230 |
|
| 231 | 231 |
url(r'^member/activity/contribute$', member_views.activity_contribute, name='member_activity_contribute'), |
| 232 |
+ url(r'^member/activity/contribute/list$', member_views.activity_contribute_list, name='member_activity_contribute_list'), |
|
| 233 |
+ url(r'^member/activity/contribute/detail$', member_views.activity_contribute_detail, name='member_activity_contribute_detail'), |
|
| 232 | 234 |
|
| 233 | 235 |
url(r'^rights$', member_views.rights, name='rights'), |
| 234 | 236 |
url(r'^right/detail$', member_views.right_detail, name='right_detail'), |
@@ -99,7 +99,7 @@ class MemberActivityGroupShareInfoAdmin(admin.ModelAdmin): |
||
| 99 | 99 |
|
| 100 | 100 |
|
| 101 | 101 |
class MemberActivityContributionInfoAdmin(admin.ModelAdmin): |
| 102 |
- list_display = ('contribution_id', 'activity_id', 'content_type', 'title', 'content', 'images', 'status', 'created_at', 'updated_at')
|
|
| 102 |
+ list_display = ('contribution_id', 'activity_id', 'content_type', 'title', 'content', 'images', 'video_url', 'status', 'created_at', 'updated_at')
|
|
| 103 | 103 |
list_filter = ('activity_id', 'content_type', 'status')
|
| 104 | 104 |
|
| 105 | 105 |
|
@@ -0,0 +1,19 @@ |
||
| 1 |
+# -*- coding: utf-8 -*- |
|
| 2 |
+# Generated by Django 3.2.16 on 2022-10-23 07:10 |
|
| 3 |
+ |
|
| 4 |
+from django.db import migrations, models |
|
| 5 |
+ |
|
| 6 |
+ |
|
| 7 |
+class Migration(migrations.Migration): |
|
| 8 |
+ |
|
| 9 |
+ dependencies = [ |
|
| 10 |
+ ('member', '0035_memberactivitycontributioninfo'),
|
|
| 11 |
+ ] |
|
| 12 |
+ |
|
| 13 |
+ operations = [ |
|
| 14 |
+ migrations.AddField( |
|
| 15 |
+ model_name='memberactivitycontributioninfo', |
|
| 16 |
+ name='video_url', |
|
| 17 |
+ field=models.CharField(blank=True, help_text='视频链接', max_length=255, null=True, verbose_name='video_url'), |
|
| 18 |
+ ), |
|
| 19 |
+ ] |
@@ -692,6 +692,7 @@ class MemberActivityContributionInfo(BaseModelMixin): |
||
| 692 | 692 |
# 'height': 100, |
| 693 | 693 |
# }] |
| 694 | 694 |
images = JSONField(_(u'images'), default=[], help_text=u'图片列表') |
| 695 |
+ video_url = models.CharField(_(u'video_url'), max_length=255, blank=True, null=True, help_text=u'视频链接') |
|
| 695 | 696 |
|
| 696 | 697 |
class Meta: |
| 697 | 698 |
verbose_name = _(u'会员活动投稿信息') |
@@ -711,4 +712,5 @@ class MemberActivityContributionInfo(BaseModelMixin): |
||
| 711 | 712 |
'title': self.title, |
| 712 | 713 |
'content': self.content, |
| 713 | 714 |
'images': self.images, |
| 715 |
+ 'video_url': self.video_url or '', |
|
| 714 | 716 |
} |
@@ -95,6 +95,11 @@ class MemberActivityStatusCode(BaseStatusCode): |
||
| 95 | 95 |
ACTIVITY_NOT_FOUND = StatusCodeField(503701, 'Activity Not Found', description=u'活动不存在') |
| 96 | 96 |
|
| 97 | 97 |
|
| 98 |
+class MemberActivityContributionStatusCode(BaseStatusCode): |
|
| 99 |
+ """ 会员活动投稿相关错误码 5038xx """ |
|
| 100 |
+ ACTIVITY_CONTRIBUTION_NOT_FOUND = StatusCodeField(503801, 'Activity Contribution Not Found', description=u'活动投稿不存在') |
|
| 101 |
+ |
|
| 102 |
+ |
|
| 98 | 103 |
class MemberCouponStatusCode(BaseStatusCode): |
| 99 | 104 |
""" 会员优惠券相关错误码 5040xx """ |
| 100 | 105 |
USER_COUPON_NOT_FOUND = StatusCodeField(504001, 'User Coupon Not Found', description=u'用户优惠券不存在') |