Переглянути джерело

增加弹窗,红点标记数据表
弹窗支持多语言

lang 3 роки тому
батько
коміт
89684cee30
2 змінених файлів з 63 додано та 69 видалено
  1. 33 69
      Controller/AppSetController.py
  2. 30 0
      Model/models.py

+ 33 - 69
Controller/AppSetController.py

@@ -12,7 +12,7 @@
 @Contact: chanjunkai@163.com
 @Contact: chanjunkai@163.com
 """
 """
 from Ansjer.config import SERVER_TYPE
 from Ansjer.config import SERVER_TYPE
-from Model.models import AppSetModel, PromotionRuleModel
+from Model.models import AppSetModel, PromotionRuleModel, PopupsConfig, RedDotsConfig
 from django.views.generic.base import View
 from django.views.generic.base import View
 from Object.RedisObject import RedisObject
 from Object.RedisObject import RedisObject
 from Object.TokenObject import TokenObject
 from Object.TokenObject import TokenObject
@@ -160,77 +160,41 @@ class AppSetView(View):
             return response.json(173)
             return response.json(173)
 
 
     def do_page_set(self, userID, request_dict, response):
     def do_page_set(self, userID, request_dict, response):
-
+        lang = request_dict.get('lang', 'en')
         dict_json = {}
         dict_json = {}
-        # 弹窗 后续根据数据库配置
+        now_time = int(time.time())
         dict_json['popups'] = {
         dict_json['popups'] = {
-            'title': '20% off',
-            'content': 'on Cloud Storage Subscription',
-            # 'start_time': 1653275226,
-            # 'end_time': 1753275226,
-            'status': 1,
+            'title': '',
+            'content': '',
+            'status': 0,
             'tag': 1,
             'tag': 1,
         }
         }
-        dict_json['now_time'] = int(time.time())
-
-        # 红点标记 后续根据数据库配置
-        dict_json['red_dots'] = [
-            {
-                'module': 'cloud_storage',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,  # 跳转页面,1:云存储购 2:AI购买 3:优惠券
-            },
-            {
-                'module': 'ai_detection',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-            {
-                'module': 'coupon',
-                'status': 1,
-                # 'start_time': 1653275226,
-                # 'end_time': '1753275226',
-                'tag': 1,
-            },
-            {
-                'module': 'add',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-            {
-                'module': 'setting',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-            {
-                'module': 'my',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-            {
-                'module': 'cloud_storage_purchases',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-            {
-                'module': 'ai_detects_purchases',
-                'status': 0,
-                # 'start_time': 0,
-                # 'end_time': 0,
-                'tag': 1,
-            },
-        ]
+        #弹窗
+        popups_obj = PopupsConfig.objects.filter(lang=lang).values('title','content','start_time','end_time','tag')
+        if popups_obj.exists:
+            popups_status = 0
+            if now_time >= popups_obj[0]['start_time'] and now_time <= popups_obj[0]['end_time']:
+                popups_status = 1
+            dict_json['popups'] = {
+                'title': popups_obj[0]['title'],
+                'content': popups_obj[0]['content'],
+                'status': popups_status,
+                'tag': popups_obj[0]['tag'],
+            }
+
+        #红点标记
+        dict_json['red_dots'] = []
+        red_dots_obj = RedDotsConfig.objects.values('module','start_time','end_time')
+        for red_dots in red_dots_obj:
+            red_dots_status = 0
+            if now_time >= red_dots['start_time'] and now_time <= red_dots['end_time']:
+                red_dots_status = 1
+            dict_json['red_dots'].append({
+                'module': red_dots['module'],
+                'status': red_dots_status,
+            })
+
+
+
         dict_json['red_dots'] = list(dict_json['red_dots'])
         dict_json['red_dots'] = list(dict_json['red_dots'])
         return response.json(0, dict_json)
         return response.json(0, dict_json)

+ 30 - 0
Model/models.py

@@ -2379,6 +2379,36 @@ class PaypalWebHookEvent(models.Model):
         ordering = ('id',)
         ordering = ('id',)
 
 
 
 
+class PopupsConfig(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
+
+    title = models.CharField(max_length=1000, verbose_name='弹窗标题', blank=True, default='')
+    content = models.CharField(max_length=1000, verbose_name='弹窗内容', blank=True, default='')
+    tag = models.SmallIntegerField(default=0, verbose_name='app跳转页面标签{1:云存储购 2:AI购买 3:优惠券}')
+    start_time = models.IntegerField(default=0, verbose_name='更新时间')
+    end_time = models.IntegerField(default=0, verbose_name='创建时间')
+    lang = models.CharField(blank=True, max_length=16, default='en', verbose_name=u'语言地区')
+
+    class Meta:
+        db_table = 'popups_config'
+        verbose_name = 'app弹窗设置'
+        verbose_name_plural = verbose_name
+        ordering = ('id',)
+
+
+class RedDotsConfig(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
+    module = models.CharField(max_length=1000, verbose_name='app模块', blank=True, default='')
+    start_time = models.IntegerField(default=0, verbose_name='更新时间')
+    end_time = models.IntegerField(default=0, verbose_name='创建时间')
+
+    class Meta:
+        db_table = 'red_dots_config'
+        verbose_name = '红点标记配置'
+        verbose_name_plural = verbose_name
+        ordering = ('id',)
+
+
 class UserFamily(models.Model):
 class UserFamily(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     user = models.ForeignKey(Device_User, to_field='userID', default='', on_delete=models.CASCADE,
     user = models.ForeignKey(Device_User, to_field='userID', default='', on_delete=models.CASCADE,