Quellcode durchsuchen

report_push: 处理数字相加为空的情况

Signed-off-by: binren <zhangbr@elab-plus.com>
binren vor 5 Jahren
Ursprung
Commit
50b4088662
1 geänderte Dateien mit 22 neuen und 18 gelöschten Zeilen
  1. 22 18
      report_push.py

+ 22 - 18
report_push.py

@@ -542,7 +542,7 @@ class ReportPush(object):
         number_1_1 = data_1_1[0][0]
         data_1_2 = self.db.select(self.sql_1_2, [time_range[0], time_range[1], house_ids])
         number_1_2 = data_1_2[0][0]
-        number_1 = number_1_1 + number_1_2
+        number_1 = self.add(number_1_1, number_1_2)
         result.append(number_1)
         # 2: 总浏览人数
         data_2 = self.db.select(self.sql_1_3, [time_range[0], time_range[1], house_ids, time_range[0], time_range[1], house_ids])
@@ -557,17 +557,18 @@ class ReportPush(object):
         number_4 = data_4[0][0]
         result.append(number_4)
         xcx_top_data_part = [x for x in xcx_top_data if x[0] in house_ids]
-        brand_top_data_part = [x for x in brand_top_data if x[0] in house_ids]
+        brand_top_data_part = [x for x in brand_top_data if x[1] in house_ids]
         # 5 6 7 8
         number_5 = 0
         number_6 = 0
         number_7 = 0
         number_8 = 0
         for x in brand_top_data_part:
-            number_5 += x[3]
-            number_6 += x[4]
-            number_7 += x[5]
-            number_8 += x[6]
+            number_5 = self.add(number_5, x[3])
+            number_6 = self.add(number_5, x[4])
+            number_7 = self.add(number_5, x[5])
+            number_8 = self.add(number_5, x[6])
+
         result.append(number_5)
         result.append(number_6)
         result.append(number_7)
@@ -578,10 +579,10 @@ class ReportPush(object):
         number_11 = 0
         number_12 = 0
         for x in xcx_top_data_part:
-            number_9 += x[2]
-            number_10 += x[3]
-            number_11 += x[4]
-            number_12 += x[5]
+            number_9 = self.add(number_9, x[2])
+            number_10 = self.add(number_9, x[3])
+            number_11 = self.add(number_9, x[4])
+            number_12 = self.add(number_9, x[5])
         result.append(number_9)
         result.append(number_10)
         result.append(number_11)
@@ -615,7 +616,7 @@ class ReportPush(object):
                 if house_id == y[1] or house_id == y[0]:
                     b.extend(y)
             if len(a) == 1 and len(b) == 1:
-                result.append([b[0], a[0], a[1], a[2] + b[3], a[3] + b[4], a[4] + b[5], a[5] + b[6]])
+                result.append([b[0], a[0], a[1], self.add(a[2], b[3]), self.add(a[3], b[4]), self.add(a[4], b[5]), self.add(a[5], b[6])])
             elif len(a) == 1 and len(b) == 0:
                 _a = [1]
                 for x in a:
@@ -625,10 +626,19 @@ class ReportPush(object):
                 result.append(b)
             else:
                 pass
-        result.sort(key=lambda obj: obj[1])
+        result.sort(key=lambda obj: obj[2])
         result.reverse()
         return result
 
+    def add(self, a=None, b=None):
+        if a and b:
+            return a + b
+        elif a and not b:
+            return a
+        elif b and not a:
+            return b
+        return 0
+
     def xcx_top(self, time_range):
         """
             获取 1.默认值/001_大麦/项目排行榜/小程序排行榜TOP_N
@@ -776,9 +786,3 @@ class ReportPush(object):
 
 if __name__ == '__main__':
     rp = ReportPush('linshi')
-    print(rp.get_time_range(3))
-    sql = "select COUNT(1) from t_house_image where id in %s and status = %s"
-    print(rp.db.select(sql, [[46, 47, 48], -1]))
-    list_data = [2, 1, 4]
-    for x in list_data:
-        print(x)