@@ -776,12 +776,16 @@ def member_activity_list(request, administrator):  | 
            ||
| 776 | 776 | 
                     page = request.POST.get('page', 1)
               | 
            
| 777 | 777 | 
                     num = request.POST.get('num', 20)
               | 
            
| 778 | 778 | 
                     activity_state = request.POST.get('activity_state', '')
               | 
            
| 779 | 
                +    activity_section = request.POST.get('activity_section', '')
               | 
            |
| 779 | 780 | 
                 | 
            
| 780 | 781 | 
                logs = MemberActivityInfo.objects.filter(status=True)  | 
            
| 781 | 782 | 
                 | 
            
| 782 | 783 | 
                if activity_type:  | 
            
| 783 | 784 | 
                logs = logs.filter(activity_type=activity_type)  | 
            
| 784 | 785 | 
                 | 
            
| 786 | 
                + if activity_section:  | 
            |
| 787 | 
                + logs = logs.filter(activity_section=activity_section)  | 
            |
| 788 | 
                +  | 
            |
| 785 | 789 | 
                if activity_state:  | 
            
| 786 | 790 | 
                logs = logs.filter(activity_state=activity_state)  | 
            
| 787 | 791 | 
                 | 
            
                @@ -824,6 +828,7 @@ def member_activity_detail(request, administrator):  | 
            ||
| 824 | 828 | 
                def member_activity_update(request, administrator):  | 
            
| 825 | 829 | 
                     activity_id = request.POST.get('activity_id', '')
               | 
            
| 826 | 830 | 
                     activity_type = int(request.POST.get('activity_type', 0))
               | 
            
| 831 | 
                +    activity_section = int(request.POST.get('activity_section', 3))
               | 
            |
| 827 | 832 | 
                     title = request.POST.get('title', '')
               | 
            
| 828 | 833 | 
                     subtitle = request.POST.get('subtitle', '')
               | 
            
| 829 | 834 | 
                     start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
               | 
            
                @@ -854,6 +859,7 @@ def member_activity_update(request, administrator):  | 
            ||
| 854 | 859 | 
                return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)  | 
            
| 855 | 860 | 
                 | 
            
| 856 | 861 | 
                log.activity_type = activity_type  | 
            
| 862 | 
                + log.activity_section = activity_section  | 
            |
| 857 | 863 | 
                log.title = title  | 
            
| 858 | 864 | 
                log.subtitle = subtitle  | 
            
| 859 | 865 | 
                log.date = date  | 
            
                @@ -886,6 +892,7 @@ def member_activity_update(request, administrator):  | 
            ||
| 886 | 892 | 
                @check_admin  | 
            
| 887 | 893 | 
                def member_activity_create(request, administrator):  | 
            
| 888 | 894 | 
                     activity_type = int(request.POST.get('activity_type', 0))
               | 
            
| 895 | 
                +    activity_section = int(request.POST.get('activity_section', 3))
               | 
            |
| 889 | 896 | 
                     title = request.POST.get('title', '')
               | 
            
| 890 | 897 | 
                     subtitle = request.POST.get('subtitle', '')
               | 
            
| 891 | 898 | 
                     start_date = tc.to_date(request.POST.get('start_date', '') or settings.DEFAULT_START_DATE)
               | 
            
                @@ -913,6 +920,7 @@ def member_activity_create(request, administrator):  | 
            ||
| 913 | 920 | 
                act = MemberActivityInfo.objects.create(  | 
            
| 914 | 921 | 
                brand_id=administrator.brand_id,  | 
            
| 915 | 922 | 
                activity_type=activity_type,  | 
            
| 923 | 
                + activity_section=activity_section,  | 
            |
| 916 | 924 | 
                title=title,  | 
            
| 917 | 925 | 
                subtitle=subtitle,  | 
            
| 918 | 926 | 
                date=date,  | 
            
                @@ -0,0 +1,20 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +# Generated by Django 3.2.6 on 2023-04-24 06:58  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.db import migrations, models  | 
            |
| 6 | 
                +  | 
            |
| 7 | 
                +  | 
            |
| 8 | 
                +class Migration(migrations.Migration):  | 
            |
| 9 | 
                +  | 
            |
| 10 | 
                + dependencies = [  | 
            |
| 11 | 
                +        ('member', '0055_auto_20230418_1602'),
               | 
            |
| 12 | 
                + ]  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                + operations = [  | 
            |
| 15 | 
                + migrations.AddField(  | 
            |
| 16 | 
                + model_name='memberactivityinfo',  | 
            |
| 17 | 
                + name='activity_section',  | 
            |
| 18 | 
                + field=models.IntegerField(choices=[(0, 'Tamron Life'), (1, 'Tamron LRC直播课'), (2, '会员投稿'), (3, '其他')], db_index=True, default=3, help_text='活动分区', verbose_name='activity_section'),  | 
            |
| 19 | 
                + ),  | 
            |
| 20 | 
                + ]  | 
            
                @@ -374,9 +374,17 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 374 | 374 | 
                (2, u'下线'),  | 
            
| 375 | 375 | 
                )  | 
            
| 376 | 376 | 
                 | 
            
| 377 | 
                + ACTIVITY_SECTION = (  | 
            |
| 378 | 
                + (0, u'Tamron Life'),  | 
            |
| 379 | 
                + (1, u'Tamron LRC直播课'),  | 
            |
| 380 | 
                + (2, u'会员投稿'),  | 
            |
| 381 | 
                + (3, u'其他'),  | 
            |
| 382 | 
                + )  | 
            |
| 383 | 
                +  | 
            |
| 377 | 384 | 
                activity_id = ShortUUIDField(_(u'activity_id'), max_length=32, blank=True, help_text=u'活动唯一标识', db_index=True, unique=True)  | 
            
| 378 | 385 | 
                 | 
            
| 379 | 386 | 
                activity_type = models.IntegerField(_(u'activity_type'), choices=ACTIVITY_TYPE, default=0, help_text=u'活动类型', db_index=True)  | 
            
| 387 | 
                + activity_section = models.IntegerField(_(u'activity_section'), choices=ACTIVITY_SECTION, default=3, help_text=u'活动分区', db_index=True)  | 
            |
| 380 | 388 | 
                 | 
            
| 381 | 389 | 
                title = models.CharField(_(u'title'), max_length=255, blank=True, default='', help_text=u'活动名称')  | 
            
| 382 | 390 | 
                subtitle = models.CharField(_(u'subtitle'), max_length=255, blank=True, default='', help_text=u'活动二级名称')  | 
            
                @@ -506,6 +514,8 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 506 | 514 | 
                'activity_id': self.activity_id,  | 
            
| 507 | 515 | 
                'activity_type': self.activity_type,  | 
            
| 508 | 516 | 
                'activity_type_str': dict(MemberActivityInfo.ACTIVITY_TYPE).get(self.activity_type),  | 
            
| 517 | 
                + 'activity_section': self.activity_section,  | 
            |
| 518 | 
                + 'activity_section_str': dict(MemberActivityInfo.ACTIVITY_SECTION).get(self.activity_section),  | 
            |
| 509 | 519 | 
                'title': self.title,  | 
            
| 510 | 520 | 
                'subtitle': self.subtitle,  | 
            
| 511 | 521 | 
                'date': tc.local_date_string(self.date),  | 
            
                @@ -542,6 +552,8 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 542 | 552 | 
                'activity_id': self.activity_id,  | 
            
| 543 | 553 | 
                'activity_type': self.activity_type,  | 
            
| 544 | 554 | 
                'activity_type_str': dict(MemberActivityInfo.ACTIVITY_TYPE).get(self.activity_type),  | 
            
| 555 | 
                + 'activity_section': self.activity_section,  | 
            |
| 556 | 
                + 'activity_section_str': dict(MemberActivityInfo.ACTIVITY_SECTION).get(self.activity_section),  | 
            |
| 545 | 557 | 
                'title': self.title,  | 
            
| 546 | 558 | 
                'subtitle': self.subtitle,  | 
            
| 547 | 559 | 
                'date': tc.local_date_string(self.date),  | 
            
                @@ -580,6 +592,8 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 580 | 592 | 
                'activity_id': self.activity_id,  | 
            
| 581 | 593 | 
                'activity_type': self.activity_type,  | 
            
| 582 | 594 | 
                'activity_type_str': dict(MemberActivityInfo.ACTIVITY_TYPE).get(self.activity_type),  | 
            
| 595 | 
                + 'activity_section': self.activity_section,  | 
            |
| 596 | 
                + 'activity_section_str': dict(MemberActivityInfo.ACTIVITY_SECTION).get(self.activity_section),  | 
            |
| 583 | 597 | 
                'title': self.title,  | 
            
| 584 | 598 | 
                'subtitle': self.subtitle,  | 
            
| 585 | 599 | 
                'date': tc.local_date_string(self.date),  | 
            
                @@ -619,6 +633,8 @@ class MemberActivityInfo(BaseModelMixin, BrandInfoMixin):  | 
            ||
| 619 | 633 | 
                'activity_id': self.activity_id,  | 
            
| 620 | 634 | 
                'activity_type': self.activity_type,  | 
            
| 621 | 635 | 
                'activity_type_str': dict(MemberActivityInfo.ACTIVITY_TYPE).get(self.activity_type),  | 
            
| 636 | 
                + 'activity_section': self.activity_section,  | 
            |
| 637 | 
                + 'activity_section_str': dict(MemberActivityInfo.ACTIVITY_SECTION).get(self.activity_section),  | 
            |
| 622 | 638 | 
                'title': self.title,  | 
            
| 623 | 639 | 
                'subtitle': self.subtitle,  | 
            
| 624 | 640 | 
                'date': tc.local_date_string(self.date),  |