:art: Add activity_id for MemberActivityContributionWelfareInfo & Change is_audit_pass to audit_status for MemberActivityContributionInfo

huangqimin001 2 years ago
parent
commit
06b0f769ce

+ 6 - 2
api/admin_views.py

@@ -953,14 +953,14 @@ def member_activity_register_list(request, administrator):
953 953
 @transaction.atomic
954 954
 def member_activity_contribute_audit(request, administrator):
955 955
     contribution_id = request.POST.get('contribution_id', '')
956
-    audit = get_query_value(request, 'audit', val_cast_type='int')
956
+    audit_status = get_query_value(request, 'audit_status', val_cast_type='int')
957 957
 
958 958
     try:
959 959
         contribution = MemberActivityContributionInfo.objects.select_for_update().get(contribution_id=contribution_id, status=True)
960 960
     except MemberActivityContributionInfo.DoesNotExist:
961 961
         return response(MemberActivityContributionStatusCode.ACTIVITY_CONTRIBUTION_NOT_FOUND)
962 962
 
963
-    contribution.is_audit_pass = audit
963
+    contribution.audit_status = audit_status
964 964
     contribution.save()
965 965
 
966 966
     return response(200, 'Member Activity Contribution Audit Success', u'会员活动投稿审批成功')
@@ -1027,6 +1027,7 @@ def member_activity_contribute_welfare_detail(request, administrator):
1027 1027
 
1028 1028
 @check_admin
1029 1029
 def member_activity_contribute_welfare_update(request, administrator):
1030
+    activity_id = request.POST.get('activity_id', '')
1030 1031
     welfare_id = request.POST.get('welfare_id', '')
1031 1032
     welfare_type = int(request.POST.get('welfare_type', 0))
1032 1033
     welfare_title = request.POST.get('welfare_title', '')
@@ -1039,6 +1040,7 @@ def member_activity_contribute_welfare_update(request, administrator):
1039 1040
     except MemberActivityContributionWelfareInfo.DoesNotExist:
1040 1041
         return response()
1041 1042
 
1043
+    welfare.activity_id = activity_id
1042 1044
     welfare.welfare_type = welfare_type
1043 1045
     welfare.welfare_title = welfare_title
1044 1046
     welfare.welfare_detail = welfare_detail
@@ -1051,6 +1053,7 @@ def member_activity_contribute_welfare_update(request, administrator):
1051 1053
 
1052 1054
 @check_admin
1053 1055
 def member_activity_contribute_welfare_create(request, administrator):
1056
+    activity_id = request.POST.get('activity_id', '')
1054 1057
     welfare_type = int(request.POST.get('welfare_type', 0))
1055 1058
     welfare_title = request.POST.get('welfare_title', '')
1056 1059
     welfare_detail = request.POST.get('welfare_detail', '')
@@ -1059,6 +1062,7 @@ def member_activity_contribute_welfare_create(request, administrator):
1059 1062
 
1060 1063
     MemberActivityContributionWelfareInfo.objects.create(
1061 1064
         brand_id=administrator.brand_id,
1065
+        activity_id=activity_id,
1062 1066
         welfare_type=welfare_type,
1063 1067
         welfare_title=welfare_title,
1064 1068
         welfare_detail=welfare_detail,

+ 1 - 1
api/member_views.py

@@ -554,7 +554,7 @@ def activity_contribute_list(request):
554 554
     page = request.POST.get('page', 1)
555 555
     num = request.POST.get('num', 20)
556 556
 
557
-    contributions = MemberActivityContributionInfo.objects.filter(content_type=content_type, is_audit_pass=True, status=True)
557
+    contributions = MemberActivityContributionInfo.objects.filter(content_type=content_type, audit_status=MemberActivityContributionInfo.AUDIT_PASS, status=True)
558 558
     if user_id:
559 559
         contributions = contributions.filter(user_id=user_id)
560 560
     if activity_id:

+ 4 - 4
member/admin.py

@@ -99,13 +99,13 @@ 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', 'video_url', 'is_audit_pass', 'is_selected', 'status', 'created_at', 'updated_at')
103
-    list_filter = ('activity_id', 'content_type', 'is_audit_pass', 'is_selected', 'status')
102
+    list_display = ('contribution_id', 'activity_id', 'content_type', 'title', 'content', 'images', 'video_url', 'audit_status', 'is_selected', 'status', 'created_at', 'updated_at')
103
+    list_filter = ('activity_id', 'content_type', 'audit_status', 'is_selected', 'status')
104 104
 
105 105
 
106 106
 class MemberActivityContributionWelfareInfoAdmin(admin.ModelAdmin):
107
-    list_display = ('welfare_id', 'welfare_type', 'welfare_title', 'welfare_detail', 'welfare_value', 'welfare_image', 'status', 'created_at', 'updated_at')
108
-    list_filter = ('welfare_type', 'status')
107
+    list_display = ('activity_id', 'welfare_id', 'welfare_type', 'welfare_title', 'welfare_detail', 'welfare_value', 'welfare_image', 'status', 'created_at', 'updated_at')
108
+    list_filter = ('activity_id', 'welfare_type', 'status')
109 109
 
110 110
 
111 111
 admin.site.register(GoodsInfo, GoodsInfoAdmin)

+ 19 - 0
member/migrations/0040_memberactivitycontributionwelfareinfo_activity_id.py

@@ -0,0 +1,19 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 3.2.16 on 2022-10-25 02:52
3
+
4
+from django.db import migrations, models
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('member', '0039_memberactivitycontributionwelfareinfo_is_upload_qiniu'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AddField(
15
+            model_name='memberactivitycontributionwelfareinfo',
16
+            name='activity_id',
17
+            field=models.CharField(blank=True, db_index=True, help_text='活动唯一标识', max_length=32, null=True, verbose_name='activity_id'),
18
+        ),
19
+    ]

+ 23 - 0
member/migrations/0041_auto_20221025_1236.py

@@ -0,0 +1,23 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 3.2.16 on 2022-10-25 04:36
3
+
4
+from django.db import migrations, models
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('member', '0040_memberactivitycontributionwelfareinfo_activity_id'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.RemoveField(
15
+            model_name='memberactivitycontributioninfo',
16
+            name='is_audit_pass',
17
+        ),
18
+        migrations.AddField(
19
+            model_name='memberactivitycontributioninfo',
20
+            name='audit_status',
21
+            field=models.IntegerField(choices=[(0, '未审批'), (1, '已通过'), (2, '未通过')], db_index=True, default=0, help_text='审批状态', verbose_name='audit_status'),
22
+        ),
23
+    ]

+ 14 - 1
member/models.py

@@ -671,6 +671,13 @@ class MemberActivityContributionInfo(BaseModelMixin):
671 671
         # (2, u'入围'),
672 672
     )
673 673
 
674
+    AUDIT_PASS = 1
675
+    AUDIT_STATUS = (
676
+        (0, u'未审批'),
677
+        (1, u'已通过'),
678
+        (2, u'未通过'),
679
+    )
680
+
674 681
     brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
675 682
     brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
676 683
 
@@ -694,7 +701,7 @@ class MemberActivityContributionInfo(BaseModelMixin):
694 701
     images = JSONField(_(u'images'), default=[], help_text=u'图片列表')
695 702
     video_url = models.CharField(_(u'video_url'), max_length=255, blank=True, null=True, help_text=u'视频链接')
696 703
 
697
-    is_audit_pass = models.BooleanField(_(u'is_audit_pass'), default=False, help_text=u'是否审核通过')
704
+    audit_status = models.IntegerField(_(u'audit_status'), choices=AUDIT_STATUS, default=0, help_text=u'审批状态', db_index=True)
698 705
     is_selected = models.BooleanField(_(u'is_selected'), default=False, help_text=u'是否入围')
699 706
 
700 707
     class Meta:
@@ -716,6 +723,9 @@ class MemberActivityContributionInfo(BaseModelMixin):
716 723
             'content': self.content,
717 724
             'images': self.images,
718 725
             'video_url': self.video_url or '',
726
+            'audit_status': self.audit_status,
727
+            'audit_status_str': dict(MemberActivityContributionInfo.AUDIT_STATUS).get(self.audit_status),
728
+            'is_selected': self.is_selected,
719 729
             'created_at': tc.local_string(utc_dt=self.created_at),
720 730
         }
721 731
 
@@ -730,6 +740,8 @@ class MemberActivityContributionWelfareInfo(BaseModelMixin):
730 740
     brand_id = models.CharField(_(u'brand_id'), max_length=32, blank=True, null=True, help_text=u'品牌唯一标识', db_index=True)
731 741
     brand_name = models.CharField(_(u'brand_name'), max_length=255, blank=True, null=True, help_text=u'品牌名称')
732 742
 
743
+    activity_id = models.CharField(_(u'activity_id'), max_length=32, blank=True, null=True, help_text=u'活动唯一标识', db_index=True)
744
+
733 745
     welfare_id = ShortUUIDField(_(u'welfare_id'), max_length=32, blank=True, null=True, help_text=u'福利唯一标识', db_index=True, unique=True)
734 746
 
735 747
     welfare_type = models.IntegerField(_(u'welfare_type'), choices=WELFARE_TYPE, default=0, help_text=u'福利类型', db_index=True)
@@ -759,6 +771,7 @@ class MemberActivityContributionWelfareInfo(BaseModelMixin):
759 771
     @property
760 772
     def data(self):
761 773
         return {
774
+            'activity_id': self.activity_id,
762 775
             'welfare_id': self.welfare_id,
763 776
             'welfare_type': self.welfare_type,
764 777
             'welfare_type_str': dict(MemberActivityContributionWelfareInfo.WELFARE_TYPE).get(self.welfare_type),