소스 검색

新增报名状态字段

locky 2 달 전
부모
커밋
67a3dc651c
2개의 변경된 파일29개의 추가작업 그리고 14개의 파일을 삭제
  1. 28 14
      AdminController/EvaluationActivityController.py
  2. 1 0
      Model/models.py

+ 28 - 14
AdminController/EvaluationActivityController.py

@@ -9,6 +9,7 @@
 @Version: python3.6
 @MODIFY DECORD:ansjer dev
 """
+import os
 import time
 
 from django.views.generic.base import View
@@ -84,9 +85,12 @@ class EvaluationActivityView(View):
                 user_qs = ActivityUser.objects.filter(activity_id=activity['id'])
                 activity['user_count'] = user_qs.count()
                 if user_qs.exists():
-                    user = user_qs.filter(user_id=user_id)
+                    user = user_qs.filter(user_id=user_id).values('registration_status')
                     if user.exists():
-                        activity['activity_status'] = 2  # 1:可报名;2:已报名;3:报名截止;4:活动结束
+                        if user[0]['registration_status']:
+                            activity['activity_status'] = 2  # 1:可报名;2:已报名;3:报名截止;4:活动结束
+                        else:
+                            activity['activity_status'] = 1
                     else:
                         activity['activity_status'] = 1
                     user_qs = user_qs.filter(is_selected=1).values('user_name', 'phone', 'user_id')
@@ -342,10 +346,22 @@ class EvaluationActivityView(View):
             return response.json(404)
         now_time = int(time.time())
         try:
+            data = {
+                'user_name': user_name,
+                'phone': phone,
+                'address': address,
+                'sex': sex,
+                'age': age,
+                'story': story,
+                'usage_environment': usage_environment,
+                'update_time': now_time
+            }
+
             signed_url = []
-            file_1_name, file_2_name = '', ''
             # 如果上传文件,生成华为云OBS上传链接
             if file_name_list:
+                # 报名状态暂时设置为不成功
+                data['registration_status'] = 0
                 obs_client = ObsClient(
                     access_key_id=HUAWEICLOUD_AK,
                     secret_access_key=HUAWEICLOUD_SK,
@@ -353,12 +369,12 @@ class EvaluationActivityView(View):
                 )
                 file_name_list = eval(file_name_list)
                 for index, file_name in enumerate(file_name_list):
-                    key = 'story-collection/{}/'.format(user_id)
-                    file_name = key + file_name
+                    file_name = str(index) + os.path.splitext(file_name)[1]
+                    file_name = 'story-collection/{}/{}'.format(user_id, file_name)
                     if index == 0:
-                        file_1_name = file_name
+                        data['file_1_name'] = file_name
                     else:
-                        file_2_name = file_name
+                        data['file_2_name'] = file_name
 
                     res = obs_client.createSignedUrl(
                         method='PUT', bucketName=HUAWEICLOUD_SERVER_BUKET, objectKey=file_name, expires=3600
@@ -367,14 +383,12 @@ class EvaluationActivityView(View):
 
             user = ActivityUser.objects.filter(user_id=user_id, activity_id=activity_id)
             if user.exists():
-                user.update(phone=phone, address=address, sex=sex, user_name=user_name, story=story, age=age,
-                            usage_environment=usage_environment, file_1_name=file_1_name, file_2_name=file_2_name,
-                            update_time=now_time)
+                user.update(**data)
             else:
-                ActivityUser.objects.create(activity_id=activity_id, user_id=user_id, phone=phone, address=address,
-                                            sex=sex, age=age, usage_environment=usage_environment, user_name=user_name,
-                                            story=story, file_1_name=file_1_name, file_2_name=file_2_name,
-                                            created_time=now_time, update_time=now_time)
+                data['activity_id'] = activity_id
+                data['user_id'] = user_id
+                data['created_time'] = now_time
+                ActivityUser.objects.create(**data)
             if signed_url:
                 res = {
                     'signed_url': signed_url

+ 1 - 0
Model/models.py

@@ -5266,6 +5266,7 @@ class ActivityUser(models.Model):
     file_1_name = models.CharField(default='', max_length=128, verbose_name='图片/视频文件名')
     file_2_name = models.CharField(default='', max_length=128, verbose_name='图片/视频文件名')
     is_selected = models.SmallIntegerField(verbose_name='是否入选', default=0)  # 0:未入选;1:入选
+    registration_status = models.SmallIntegerField(verbose_name='报名状态', default=1)  # 0:报名失败;1:报名成功
     created_time = models.IntegerField(verbose_name='创建时间', default=0)
     update_time = models.IntegerField(verbose_name='更新时间', default=0)