Browse Source

mvp: 模块分值计算逻辑调整

Signed-off-by: binren <zhangbr@elab-plus.com>
binren 5 years ago
parent
commit
9b3655a147
1 changed files with 6 additions and 5 deletions
  1. 6 5
      mvp.py

+ 6 - 5
mvp.py

@@ -359,7 +359,7 @@ class Mvp:
         self.age = self.init_age()
         self.people_sub_option_ids = self.marketing_db.select(self.sql_10)
         self.crowd_contain_sub_option_ids = self.get_crowd_contain_sub_option_ids()
-        self.module_scores = ExcelUtil(file_name='set-behavior-tag.xlsx', sheet_name='算法关系表').init_module_info()
+        self.module_scores = ExcelUtil(file_name='module.xlsx', sheet_name='行为-模块映射表').module_behavior_info()
         # self.scores_tag = ExcelUtil(file_name='行为与模块分值汇总.xlsx', sheet_name='行为').init_scores()
         # self.score_module = ExcelUtil(file_name='行为与模块分值汇总.xlsx', sheet_name='模块').init_scores()
         self.people_info_1 = self.people_info()
@@ -497,9 +497,9 @@ class Mvp:
                         self.insert_score_to_db(result)
             self.linshi_db.delete(self.sql_18)
             message['实际分值'] = '更新完成'
-            insert_data = self.shanghai_85_module_score_insert()
+            # insert_data = self.shanghai_85_module_score_insert()
             self.linshi_db.delete(self.sql_23)
-            self.insert_score_to_db(insert_data)
+            # self.insert_score_to_db(insert_data)
             message['模块模拟分值'] = '更新完成'
             self.update_gender_rate()
             message['性别信息'] = '更新完成'
@@ -642,7 +642,7 @@ class Mvp:
         """
         # import json
         # print(json.dumps(scores, ensure_ascii=False))
-        modules = self.module_scores[crowd]
+        modules = self.module_scores
         result = []
         for key in modules.keys():
             values = modules[key]
@@ -650,10 +650,11 @@ class Mvp:
             score = 0
             for value in values:
                 behavioral_name = value[0]
-                weight = float(value[2])
+                weight = float(value[1])
                 standard_score = [x[4] for x in scores if x[3] == behavioral_name]
                 if len(standard_score) > 0:
                     score += standard_score[0] * weight
+            score = 1 if score > 1 else score
             result.append([city, age, crowd, module_name, score])
         return result