| @@ -817,11 +817,16 @@ def member_activity_contribute_list(request, administrator): | ||
| 817 | 817 | content_type = get_query_value(request, 'content_type', val_cast_type='int') | 
| 818 | 818 |      audit_status = request.POST.get('audit_status', '') | 
| 819 | 819 |      is_selected = request.POST.get('is_selected', '') | 
| 820 | +    is_series = request.POST.get('is_series', '') | |
| 820 | 821 |      query = request.POST.get('query', '') | 
| 821 | 822 |      page = request.POST.get('page', 1) | 
| 822 | 823 |      num = request.POST.get('num', 20) | 
| 823 | 824 |  | 
| 824 | - contributions = MemberActivityContributionInfo.objects.filter(activity_id=activity_id, status=True) | |
| 825 | + if is_series: | |
| 826 | + contributions = MemberActivityContributionInfo.objects.filter(main_activity_id=activity_id, status=True) | |
| 827 | + else: | |
| 828 | + contributions = MemberActivityContributionInfo.objects.filter(activity_id=activity_id, status=True) | |
| 829 | + | |
| 825 | 830 | if 'content_type' in request.POST: | 
| 826 | 831 | contributions = contributions.filter(content_type=content_type) | 
| 827 | 832 | if audit_status != '': | 
| @@ -628,6 +628,7 @@ def activity_contribute_update(request): | ||
| 628 | 628 | def activity_contribute_list(request): | 
| 629 | 629 |      brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID | 
| 630 | 630 |      user_id = request.POST.get('user_id', '') | 
| 631 | +    main_activity_id = request.POST.get('main_activity_id', '') | |
| 631 | 632 |      activity_id = request.POST.get('activity_id', '') | 
| 632 | 633 | content_type = get_query_value(request, 'content_type', val_cast_type='int') | 
| 633 | 634 | is_myself = get_query_value(request, 'is_myself', val_cast_type='int') | 
| @@ -637,7 +638,11 @@ def activity_contribute_list(request): | ||
| 637 | 638 |      page = request.POST.get('page', 1) | 
| 638 | 639 |      num = request.POST.get('num', 20) | 
| 639 | 640 |  | 
| 640 | - contributions = MemberActivityContributionInfo.objects.filter(activity_id=activity_id, status=True) | |
| 641 | + if main_activity_id: | |
| 642 | + contributions = MemberActivityContributionInfo.objects.filter(main_activity_id=main_activity_id, status=True) | |
| 643 | + else: | |
| 644 | + contributions = MemberActivityContributionInfo.objects.filter(activity_id=activity_id, status=True) | |
| 645 | + | |
| 641 | 646 | if 'content_type' in request.POST: | 
| 642 | 647 | contributions = contributions.filter(content_type=content_type) | 
| 643 | 648 | if 'is_myself' in request.POST: | 
| @@ -0,0 +1,20 @@ | ||
| 1 | +# -*- coding: utf-8 -*- | |
| 2 | + | |
| 3 | +# Generated by Django 3.2.6 on 2023-05-08 05:06 | |
| 4 | + | |
| 5 | +from django.db import migrations, models | |
| 6 | + | |
| 7 | + | |
| 8 | +class Migration(migrations.Migration): | |
| 9 | + | |
| 10 | + dependencies = [ | |
| 11 | +        ('member', '0059_memberactivityinfo_feed_id'), | |
| 12 | + ] | |
| 13 | + | |
| 14 | + operations = [ | |
| 15 | + migrations.AddField( | |
| 16 | + model_name='memberactivitycontributioninfo', | |
| 17 | + name='main_activity_id', | |
| 18 | + field=models.CharField(blank=True, db_index=True, help_text='活动唯一标识', max_length=32, null=True, verbose_name='main_activity_id'), | |
| 19 | + ), | |
| 20 | + ] | 
| @@ -823,6 +823,7 @@ class MemberActivityContributionInfo(BaseModelMixin, BrandInfoMixin): | ||
| 823 | 823 | user_id = models.CharField(_(u'user_id'), max_length=32, blank=True, null=True, help_text=u'用户唯一标识', db_index=True) | 
| 824 | 824 |  | 
| 825 | 825 | activity_id = models.CharField(_(u'activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True) | 
| 826 | + main_activity_id = models.CharField(_(u'main_activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True) | |
| 826 | 827 |  | 
| 827 | 828 | content_type = models.IntegerField(_(u'content_type'), choices=CONTENT_TYPE, default=0, help_text=u'内容类型', db_index=True) | 
| 828 | 829 |  | 
| @@ -868,6 +869,7 @@ class MemberActivityContributionInfo(BaseModelMixin, BrandInfoMixin): | ||
| 868 | 869 | 'brand_name': self.brand_name, | 
| 869 | 870 | 'user_id': self.user_id, | 
| 870 | 871 | 'activity_id': self.activity_id, | 
| 872 | + 'main_activity_id': self.main_activity_id, | |
| 871 | 873 | 'content_type': self.content_type, | 
| 872 | 874 | 'content_type_str': dict(MemberActivityContributionInfo.CONTENT_TYPE).get(self.content_type), | 
| 873 | 875 | 'title': self.title, | 
| @@ -892,6 +894,7 @@ class MemberActivityContributionInfo(BaseModelMixin, BrandInfoMixin): | ||
| 892 | 894 | 'brand_name': self.brand_name, | 
| 893 | 895 | 'user_id': self.user_id, | 
| 894 | 896 | 'activity_id': self.activity_id, | 
| 897 | + 'main_activity_id': self.main_activity_id, | |
| 895 | 898 | 'content_type': self.content_type, | 
| 896 | 899 | 'content_type_str': dict(MemberActivityContributionInfo.CONTENT_TYPE).get(self.content_type), | 
| 897 | 900 | 'title': self.title, |