|
@@ -528,7 +528,8 @@ def image_rank(start, end, type, book, page, page_size, order_by, order):
|
|
|
|
|
|
|
|
|
def advertisement_rank(user_id, start, end, type, page, page_size, order, order_by, book, channel, pitcher, has_order,
|
|
|
- is_video):
|
|
|
+ is_video, show_type):
|
|
|
+
|
|
|
if user_id in super_auth():
|
|
|
op1 = ''
|
|
|
else:
|
|
@@ -538,18 +539,27 @@ def advertisement_rank(user_id, start, end, type, page, page_size, order, order_
|
|
|
else:
|
|
|
op1 = f" and pitcher in {str(user)}"
|
|
|
|
|
|
- op2 = f" and dt>='{start}' " if start else ''
|
|
|
- op3 = f" and dt<='{end}' " if end else ''
|
|
|
+
|
|
|
op4 = f" and channel='{channel}'" if channel else ''
|
|
|
op5 = f" and pitcher ='{pitcher}' " if pitcher else ''
|
|
|
op8 = f" and type='{type}'" if type else ''
|
|
|
- op9 = f" order by {order_by} {order}" if order_by and order else ''
|
|
|
op10 = f" and book='{book}'" if book else ''
|
|
|
op11 = f" and order_count>0" if has_order else ''
|
|
|
op12 = f" and is_video" if is_video else ''
|
|
|
+
|
|
|
+ op_or1 = f' or (dt<date_add(now(),interval -5 day) or cost>5000) ' if show_type == 'public' else ''
|
|
|
+ op_order = f" order by {order_by} {order}" if order_by and order else ''
|
|
|
+
|
|
|
+
|
|
|
+ op_time_bigger = f" and dt>='{start}' " if start else ''
|
|
|
+ op_time_small = f" and dt<='{end}' " if end else ''
|
|
|
+
|
|
|
db = MysqlUtils().dm
|
|
|
|
|
|
- sql = f"""select
|
|
|
+ ck = CkUtils()
|
|
|
+
|
|
|
+ sql = f"""
|
|
|
+ select
|
|
|
row_number () over() as id,
|
|
|
dt,stage,platform,book,`type`, cost,channel,pitcher,
|
|
|
view_count,
|
|
@@ -569,9 +579,13 @@ def advertisement_rank(user_id, start, end, type, page, page_size, order, order_
|
|
|
description,
|
|
|
image_id,
|
|
|
is_video,
|
|
|
+ use_times,
|
|
|
preview_url
|
|
|
from dw_image_cost_day
|
|
|
- where replace (preview_url,' ,','') !='' {op1} {op2} {op3} {op4} {op5} {op8} {op10} {op11} {op12} {op9}
|
|
|
+ where replace (preview_url,' ,','') !=''
|
|
|
+ and (1=1 {op1} {op4} {op5} {op8} {op10} {op11} {op12} {op_or1})
|
|
|
+ {op_time_bigger} {op_time_small}
|
|
|
+ {op_order}
|
|
|
"""
|
|
|
|
|
|
print(sql)
|
|
@@ -589,6 +603,7 @@ def advertisement_rank(user_id, start, end, type, page, page_size, order, order_
|
|
|
round(sum(order_amount)/sum(order_count),2) unit_price,
|
|
|
round(sum(cost)/sum(follow_count),2) follow_cost,
|
|
|
round(sum(cost)/sum(order_count),2) order_cost,
|
|
|
+ sum(use_times) use_times,
|
|
|
round(sum(order_amount)/sum(cost),4) ROI
|
|
|
from ({sql}) a
|
|
|
"""
|