@@ -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,  |