Browse Source

修改文件调查答案表名,新增根据ip统计设备所在国家的程序

locky 3 years ago
parent
commit
9de142fa4a
3 changed files with 32 additions and 8 deletions
  1. 2 2
      Ansjer/urls.py
  2. 24 0
      Controller/DeviceConfirmRegion.py
  3. 6 6
      Model/models.py

+ 2 - 2
Ansjer/urls.py

@@ -349,6 +349,7 @@ urlpatterns = [
     #设备确定分配地区
     url(r'^device/confirmRegion$', DeviceConfirmRegion.ConfirmRegion.as_view()),
     url(r'^device/ConfirmRegionV2$', DeviceConfirmRegion.ConfirmRegionV2.as_view()),
+    url(r'^device/confirmCountry$', DeviceConfirmRegion.confirm_country_with_ip),
 
     # pc端软件信息
     url(r'^pcInfo/(?P<operation>.*)$', PcInfo.PcInfo.as_view()),
@@ -386,10 +387,9 @@ urlpatterns = [
     # 日志管理
     re_path('logManagement/(?P<operation>.*)', LogManagementController.LogManagementView.as_view()),
     # AI服务
+    re_path('aiServe/(?P<operation>.*)', AiServeController.AiServeView.as_view()),
     # 问卷调查管理
     # url(r'surveys/(?P<operation>.*)', SurveysController.SurveysView.as_view()),
-
-    re_path('aiServe/(?P<operation>.*)', AiServeController.AiServeView.as_view()),
     # 后台界面接口 -----------------------------------------------------
 
 

+ 24 - 0
Controller/DeviceConfirmRegion.py

@@ -189,3 +189,27 @@ class StatisticsIpRegion(TemplateView):
             print(e)
             return response.json(500, repr(e))
 
+def confirm_country_with_ip(request):
+    '''
+    根据ip统计设备所在国家的程序,
+    ip.txt放在ASJServer目录下
+    '''
+    response = ResponseObject()
+    try:
+        with open('country.txt', 'w', encoding='utf-8') as wf:
+            with open('ip.txt', 'r') as rf:
+                for ip in rf.readlines():
+                    if not ip or ip == '\n':
+                        country = 'N/A'
+                    else:
+                        if '\n' in ip:
+                            ip = ip[:-1]
+                        ipInfo = CommonService.getIpIpInfo(ip, "CN")
+                        country = ipInfo['country_name'] if ipInfo['country_name'] else 'N/A'
+                        if country == '中国':
+                            country = '美国'
+                    wf.write(country+'\n')
+        return response.json(0)
+    except Exception as e:
+        print(e)
+        return response.json(500, repr(e))

+ 6 - 6
Model/models.py

@@ -498,7 +498,7 @@ class Store_Meal(models.Model):
                                default=1, verbose_name='存储空间')
     commodity_type = models.SmallIntegerField(default=0, verbose_name='云存储套餐类型')  # 0:事件型 1:连续型
     commodity_code = models.CharField(default='', max_length=32, verbose_name='套餐规格码')
-    is_show = models.SmallIntegerField(default=0, verbose_name=u'该套餐是否隐藏 [0=否,1是]')
+    is_show = models.SmallIntegerField(default=0, verbose_name=u'是否隐藏 [0=否,1是]')
     # lang = models.CharField(default='', max_length=20, verbose_name='语言/国家')
     lang = models.ManyToManyField(to='Lang', verbose_name='套餐语言', db_table='store_meal_lang')
     cycle_config_id = models.IntegerField(null=True, verbose_name='周期付款配置表id')
@@ -522,7 +522,7 @@ class AiStoreMeal(models.Model):
     virtual_price = models.CharField(blank=True, max_length=32, verbose_name=u'虚拟价格')
     symbol = models.CharField(blank=True, default='$', max_length=32, verbose_name=u'符号')
     currency = models.CharField(blank=True, default='$', max_length=32, verbose_name=u'货币符号')
-    is_show = models.SmallIntegerField(default=0, verbose_name=u'是否隐藏')  # 0: 否, 1: 是
+    is_show = models.SmallIntegerField(default=0, verbose_name=u'是否显示')  # 0: 否, 1: 是
     is_discounts = models.SmallIntegerField(default=0, verbose_name=u'是否有优惠')   # 0: 没有, 1: 有
     discount_price = models.CharField(blank=True, max_length=32, verbose_name=u'第二年优惠价格')
     effective_day = models.IntegerField(default=0, blank=True, verbose_name=u'有效天数')   # 7, 30
@@ -1972,7 +1972,7 @@ class Surveys(models.Model):
     user_type = models.SmallIntegerField(default=0, verbose_name='调查用户对象[1:云存储用户,2:AI用户,3:所有APP用户]')
     start_time = models.IntegerField(default=0, verbose_name='开始显示时间')
     end_time = models.IntegerField(default=0, verbose_name='显示结束时间')
-    is_hide = models.SmallIntegerField(default=0, verbose_name='是否显示[0:显示,1:隐藏]')
+    is_show = models.SmallIntegerField(default=0, verbose_name='是否显示[0:隐藏,1:显示]')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')
 
     class Meta:
@@ -1995,7 +1995,7 @@ class SurveysTitle(models.Model):
         ordering = ('id',)
 
 
-class SurveysAnswer(models.Model):
+class CloudVodSurveysAnswer(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     title = models.ForeignKey(SurveysTitle, to_field='id', default='', on_delete=models.CASCADE, verbose_name='关联题目表ID')
     user = models.ForeignKey(Device_User, to_field='userID', default='', on_delete=models.CASCADE,
@@ -2010,7 +2010,7 @@ class SurveysAnswer(models.Model):
     created_time = models.IntegerField(default=0, verbose_name='创建时间')
 
     class Meta:
-        db_table = 'surveys_answer'
-        verbose_name = '问卷调查—答案表'
+        db_table = 'cloud_vod_surveys_answer'
+        verbose_name = '云存问卷调查—答案表'
         verbose_name_plural = verbose_name
         ordering = ('id',)