Ver código fonte

mvp: 调整数据更新逻辑

Signed-off-by: binren <zhangbr@elab-plus.com>
binren 5 anos atrás
pai
commit
8a96d645a9
1 arquivos alterados com 25 adições e 29 exclusões
  1. 25 29
      mvp.py

+ 25 - 29
mvp.py

@@ -240,7 +240,7 @@ class Mvp:
         FROM
             mvp_crowd_info_behavior
         WHERE
-            crowd_info_id not IN (
+            crowd_info_id IN (
                 SELECT
                     GROUP_CONCAT(id)
                 FROM
@@ -293,7 +293,7 @@ class Mvp:
         FROM
             mvp_crowd_info_module
         WHERE
-            crowd_info_id NOT IN (
+            crowd_info_id IN (
                 SELECT
                     GROUP_CONCAT(id)
                 FROM
@@ -493,11 +493,11 @@ class Mvp:
                     for crowd in self.crowd:
                         result = self.city_age_crowd(city, age, crowd)
                         self.insert_score_to_db(result)
-            print('{}数据更新完成...'.format(time.time()))
+            self.linshi_db.delete(self.sql_18)
             message['实际分值'] = '更新完成'
             insert_data = self.shanghai_85_module_score_insert()
+            self.linshi_db.delete(self.sql_23)
             self.insert_score_to_db(insert_data)
-            print('上海市-85后模块分值模拟数据入库成功...')
             message['模块模拟分值'] = '更新完成'
             self.update_gender_rate()
             message['性别信息'] = '更新完成'
@@ -586,7 +586,8 @@ class Mvp:
             if len(module_insert_data) > 0:
                 table_name = self.get_table_name('模块分数')
                 if table_name is not None and table_name not in self.insert_table:
-                    self.linshi_db.delete(self.sql_23)
+                    # self.linshi_db.delete(self.sql_23)
+                    self.linshi_db.truncate(table_name)
                 self.linshi_db.add_some(module_insert_sql, module_insert_data)
                 self.insert_table.append(table_name)
                 print('模块分数更新完成...')
@@ -604,10 +605,10 @@ class Mvp:
                     if len(insert_data) > 0:
                         table_name = self.get_table_name(key)
                         if table_name and table_name not in self.insert_table:
-                            if table_name == 'mvp_crowd_info_behavior':
-                                self.linshi_db.delete(self.sql_18)
-                            else:
-                                self.linshi_db.truncate(table_name)
+                            # if table_name == 'mvp_crowd_info_behavior':
+                            #     self.linshi_db.delete(self.sql_18)
+                            # else:
+                            self.linshi_db.truncate(table_name)
                         self.linshi_db.add_some(insert_sql, insert_data)
                         self.insert_table.append(table_name)
                 else:
@@ -753,26 +754,21 @@ class Mvp:
         for key in self.tag_data.keys():
             values = self.tag_data[key]
             result_sub = {}
-            if key == '用户画像-行为兴趣' and city == '上海市' and age == '85后':
-                print('用户画像-行为兴趣,上海市,85后无需计算。')
-                pass
-            else:
-                # 标签
-                for key_tag_name in values.keys():
-                    questions = values[key_tag_name]
-                    elements = []
-                    for value in questions:
-                        question = value[0].split('-')[0]
-                        option = value[0].split('-')[1]
-                        corr = value[1]
-                        fz, fm = self.molecular_value(question, option, city, age, people_uuids)
-                        if fm == 0:
-                            c = 0
-                        else:
-                            c = fz / fm
-                        elements.append([question, option, corr, fz, fm, c])
-                    result_sub[key_tag_name] = elements
-                result[key] = self.indicator_calculation_d_e(result_sub)
+            for key_tag_name in values.keys():
+                questions = values[key_tag_name]
+                elements = []
+                for value in questions:
+                    question = value[0].split('-')[0]
+                    option = value[0].split('-')[1]
+                    corr = value[1]
+                    fz, fm = self.molecular_value(question, option, city, age, people_uuids)
+                    if fm == 0:
+                        c = 0
+                    else:
+                        c = fz / fm
+                    elements.append([question, option, corr, fz, fm, c])
+                result_sub[key_tag_name] = elements
+            result[key] = self.indicator_calculation_d_e(result_sub)
         return result
 
     def molecular_value(self, queston, option, city, age, people_uuids):