فهرست منبع

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

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
 """
 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 Object.RedisObject import RedisObject
 from Object.TokenObject import TokenObject
@@ -160,77 +160,41 @@ class AppSetView(View):
             return response.json(173)
 
     def do_page_set(self, userID, request_dict, response):
-
+        lang = request_dict.get('lang', 'en')
         dict_json = {}
-        # 弹窗 后续根据数据库配置
+        now_time = int(time.time())
         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,
         }
-        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'])
         return response.json(0, dict_json)

+ 30 - 0
Model/models.py

@@ -2379,6 +2379,36 @@ class PaypalWebHookEvent(models.Model):
         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):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     user = models.ForeignKey(Device_User, to_field='userID', default='', on_delete=models.CASCADE,