ck il y a 4 ans
Parent
commit
5fe73200b5
3 fichiers modifiés avec 42 ajouts et 3 suppressions
  1. 6 2
      data_manage/pitcher_panel.py
  2. 2 1
      handlers/PitcherPanelHandler.py
  3. 34 0
      model/UserAuthUtils.py

+ 6 - 2
data_manage/pitcher_panel.py

@@ -2,6 +2,7 @@ from model.DateUtils import DateUtils
 from model.DataBaseUtils import *
 from model.log import logger
 from model.CommonUtils import *
+from model import UserAuthUtils
 du = DateUtils()
 
 log = logger()
@@ -572,9 +573,12 @@ left join src_book_info c on a.dt=c.dt and a.book=c.book  and a.type=c.type and
     print(data)
     return data,total,total_data
 
-def get_channel_summary(channel,pitcher,page,page_size,order_by,order,state,location,start,end):
+def get_channel_summary(user_id,channel,pitcher,page,page_size,order_by,order,state,location,start,end):
     db=MysqlUtils()
 
+    op = f" and a.channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
+    print(op)
+
     op1=f" and a.channel='{channel}'" if channel else ''
 
     if pitcher:
@@ -612,7 +616,7 @@ def get_channel_summary(channel,pitcher,page,page_size,order_by,order,state,loca
             
                from  dw_channel  a 
                 left join dw_channel_amount_daily_reverse b using (dt,channel)
-                where 1=1 {op1} {op2}  {op6} {op7} GROUP BY a.channel,type,pitcher,stage) x
+                where 1=1 {op} {op1} {op2}  {op6} {op7} GROUP BY a.channel,type,pitcher,stage) x
                 having 1=1  {op4} {op5}  ORDER BY {order_by} {order}
                 
                 

+ 2 - 1
handlers/PitcherPanelHandler.py

@@ -152,6 +152,7 @@ class ChannelSummary(BaseHandler):
         else:
             arg = self.get_args()
             print(arg)
+            user_id = arg.get('user_id')
             channel = arg.get('channel')
             pitcher = arg.get('pitcher')
             page = arg.get("page")
@@ -162,7 +163,7 @@ class ChannelSummary(BaseHandler):
             state = arg.get("state")
             start = arg.get("start")
             end = arg.get("end")
-            data, total, total_data = get_channel_summary(channel, pitcher, page, page_size, order_by, order, state, location,start,end)
+            data, total, total_data = get_channel_summary(user_id,channel, pitcher, page, page_size, order_by, order, state, location,start,end)
             if arg.get("download"):
                 self.write_download("channel_"+str(int(time.time())), data)
             else:

+ 34 - 0
model/UserAuthUtils.py

@@ -0,0 +1,34 @@
+from model.DataBaseUtils import MysqlUtils
+
+
+
+
+def get_auth_user(user_id):
+    db = MysqlUtils()
+    sql = f"""select b.nick_name from t_sys_user_group_relation a
+            left join t_sys_user b USING(user_id)
+            where a.group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})"""
+
+    return db.zx.getOneList(sql)
+
+
+
+def get_auth_channel(user_id):
+    db = MysqlUtils()
+    sql=f"""select nick_name from t_mp_account where oper_user_id in 
+    (select user_id from t_sys_user_group_relation where group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id})) or 
+    put_user_id in (select user_id from t_sys_user_group_relation where group_id=(select id from t_sys_user_group where del_flag=0 and group_user_id={user_id}))"""
+    data1 = db.zx.getOneList(sql)
+    sql2 = f"""select GROUP_CONCAT(channel_ids) from user_channel_group_auth a
+                left join channel_group b on a.channel_group_id=b.id
+                where user_id={user_id}"""
+
+    data2 = tuple(db.quchen_text.getOne(sql2).split(','))
+    sql3 = f"""select nick_name from t_mp_account where id in {str(data2)}"""
+    data3= db.zx.getOneList(sql3)
+
+    return tuple(data1+data3)
+
+
+if __name__ == '__main__':
+    print(get_auth_channel(78))