:art: Opt Codes

huangqimin001 2 anni fa
parent
commit
0b9aeeba51

+ 14 - 19
api/admin_views.py

@@ -1153,34 +1153,29 @@ def member_activity_contribute_welfare_unlock(request, administrator):
1153 1153
     except MemberActivityContributionWelfareInfo.DoesNotExist:
1154 1154
         return response(MemberActivityContributionWelfareStatusCode.ACTIVITY_CONTRIBUTION_WELFARE_NOT_FOUND)
1155 1155
 
1156
-    try:
1157
-        unlocking_info, _ = MemberActivityContributionWelfareUnlockingInfo.objects.create(
1158
-            brand_id=administrator.brand_id,
1159
-            admin_id=admin_id,
1160
-            user_id=contribution.user_id,
1161
-            activity_id=contribution.activity_id,
1162
-            contribution_id=contribution_id,
1163
-            welfare_id=welfare_id,
1164
-            welfare_type=welfare.welfare_type,
1165
-            welfare_value=welfare.welfare_value,
1166
-        )
1167
-    except:
1168
-        unlocking_info = MemberActivityContributionWelfareUnlockingInfo.objects.get(
1169
-            brand_id=administrator.brand_id,
1170
-            user_id=contribution.user_id,
1171
-            activity_id=contribution.activity_id,
1172
-            welfare_id=welfare_id,
1173
-        )
1156
+    unlocking_info, _ = MemberActivityContributionWelfareUnlockingInfo.objects.get_or_create(
1157
+        brand_id=administrator.brand_id,
1158
+        user_id=contribution.user_id,
1159
+        activity_id=contribution.activity_id,
1160
+        welfare_id=welfare_id,
1161
+        defaults={
1162
+            'admin_id': admin_id,
1163
+            'contribution_id': contribution_id,
1164
+            'welfare_type': welfare.welfare_type,
1165
+            'welfare_value': welfare.welfare_value,
1166
+        }
1167
+    )
1174 1168
 
1175 1169
     # Send template_message
1176 1170
     try:
1177 1171
         user = UserInfo.objects.get(user_id=contribution.user_id, status=True)
1178 1172
     except UserInfo.DoesNotExist:
1179 1173
         return response(UserStatusCode.USER_NOT_FOUND)
1174
+
1180 1175
     try:
1181 1176
         act = MemberActivityInfo.objects.get(activity_id=contribution.activity_id, status=True)
1182 1177
     except MemberActivityInfo.DoesNotExist:
1183
-        return ()
1178
+        return (MemberActivityStatusCode.ACTIVITY_NOT_FOUND)
1184 1179
 
1185 1180
     data = {
1186 1181
         "first": {

+ 18 - 0
member/migrations/0051_alter_memberactivitycontributionwelfareunlockinginfo_unique_together.py

@@ -0,0 +1,18 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 3.2.16 on 2022-11-04 08:08
3
+
4
+from django.db import migrations
5
+
6
+
7
+class Migration(migrations.Migration):
8
+
9
+    dependencies = [
10
+        ('member', '0050_memberactivityinfo_contribution_content_placeholder'),
11
+    ]
12
+
13
+    operations = [
14
+        migrations.AlterUniqueTogether(
15
+            name='memberactivitycontributionwelfareunlockinginfo',
16
+            unique_together={('brand_id', 'activity_id', 'welfare_id', 'user_id')},
17
+        ),
18
+    ]

+ 1 - 1
member/models.py

@@ -859,7 +859,7 @@ class MemberActivityContributionWelfareUnlockingInfo(BaseModelMixin, BrandInfoMi
859 859
         verbose_name_plural = _(u'会员活动投稿福利解锁信息')
860 860
 
861 861
         unique_together = (
862
-            ('activity_id', 'welfare_id', 'user_id'),
862
+            ('brand_id', 'activity_id', 'welfare_id', 'user_id'),
863 863
         )
864 864
 
865 865
     def __unicode__(self):