ck 4 năm trước cách đây
mục cha
commit
b3c371ee4b
4 tập tin đã thay đổi với 52 bổ sung34 xóa
  1. 16 5
      data_manage/operate.py
  2. 22 14
      data_manage/pitcher_panel.py
  3. 10 13
      handlers/PitcherPanelHandler.py
  4. 4 2
      model/DateUtils.py

+ 16 - 5
data_manage/operate.py

@@ -1,6 +1,6 @@
 from model.DateUtils import DateUtils
 from model.DataBaseUtils import *
-
+from config.common_config import super_auth
 du = DateUtils()
 
 
@@ -73,12 +73,16 @@ def group_auth_del(arg):
         db.quchen_text.execute(sql)
 
 def get_channel(arg):
+    db = MysqlUtils()
     user_id= arg.get('user_id')
     name = arg.get('name')
-    op = f" nick_name like '%{name}%'" if name else ''
+    if user_id in super_auth:
+        sql = f"select id,nick_name from t_mp_account where nick_name like '%{name}%' del_flag=0"
+        return db.zx.getData_json(sql)
 
 
-    db = MysqlUtils()
+    op = f" nick_name like '%{name}%'" if name else ''
+
     sql = f"""select id,nick_name from t_mp_account where {op} and (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})))"""
@@ -101,9 +105,16 @@ def get_channel(arg):
 
 
 
-def get_user(arg):
+def get_pitcher(arg):
     user_id = arg.get('user_id')
+    name = arg.get('name')
     db = MysqlUtils()
+
+    if user_id in super_auth:
+           sql = f"select id,nick_name from t_mp_account where nick_name like '%{name}%' del_flag=0"
+           return db.zx.getData_json(sql)
+
+
     sql = f"""select b.user_id,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})"""
@@ -112,4 +123,4 @@ def get_user(arg):
 
 
 if __name__ == '__main__':
-    print(get_user({'user_id':78}))
+    pass

+ 22 - 14
data_manage/pitcher_panel.py

@@ -118,7 +118,7 @@ def get_channel_overview(user_id,channel,pitcher,stage,start,end,page,page_size,
         if len(UserAuthUtils.get_auth_channel(user_id)) == 0:
             return None, None, None
         else:
-            op = f" and a.channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
+            op = f" and channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
 
     op1 = f" and pitcher ='{pitcher}' "   if pitcher  else ''
     op2 = f" and channel='{channel}'" if channel else ''
@@ -363,13 +363,16 @@ select
     return [json1]
 
 
-def get_channel_active(channel,pitcher,start,end,page,page_size,order_by,order):
+def get_channel_active(user_id,channel,pitcher,start,end,page,page_size,order_by,order):
     db = MysqlUtils()
-    if pitcher:
-        op1 = f" and pitcher='{pitcher}'" if get_channels_from_user(
-            pitcher).__len__() == 0 else f" and channel in {get_channels_from_user(pitcher)}"
+    if user_id in super_auth:
+        op = ''
     else:
-        op1 = ''
+        if len(UserAuthUtils.get_auth_channel(user_id)) == 0:
+            return None, None, None
+        else:
+            op = f" and channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
+    op1 = f" and pitcher ='{pitcher}' " if pitcher else ''
     op2 = f" and channel='{channel}'" if channel else ''
     op3 = f" and dt>='{start}' " if start else ''
     op4 = f" and dt<='{end}' " if end else ''
@@ -421,7 +424,7 @@ concat(dc27-dc26,',',cost/dc27,',',(dc27-dc26)/reg_order_user) d27,
 concat(dc28-dc27,',',cost/dc28,',',(dc28-dc27)/reg_order_user) d28,
 concat(dc29-dc28,',',cost/dc29,',',(dc29-dc28)/reg_order_user) d29,
 concat(dc30-dc29,',',cost/dc30,',',(dc30-dc29)/reg_order_user) d30 
-from (select * from dw_channel where cost>0  {op1} {op2} {op3} {op4}) a 
+from (select * from dw_channel where cost>0 {op} {op1} {op2} {op3} {op4}) a 
 left join dw_channel_user_daily b using(dt,channel) {op5}
 """
 
@@ -442,13 +445,18 @@ left join dw_channel_user_daily b using(dt,channel) {op5}
 
     return data,total
 
-def get_channel_order_trend(channel,pitcher,start,end,page,page_size,order_by,order):
-    db=MysqlUtils()
-    if pitcher:
-        op1 = f" and pitcher='{pitcher}'" if get_channels_from_user(
-            pitcher).__len__() == 0 else f" and channel in {get_channels_from_user(pitcher)}"
+def get_channel_order_trend(user_id,channel,pitcher,start,end,page,page_size,order_by,order):
+    db = MysqlUtils()
+
+    if user_id in super_auth:
+        op = ''
     else:
-        op1 = ''
+        if len(UserAuthUtils.get_auth_channel(user_id)) == 0:
+            return None, None, None
+        else:
+            op = f" and channel in {str(UserAuthUtils.get_auth_channel(user_id))}"
+
+    op1 = f" and pitcher ='{pitcher}' " if pitcher else ''
     op2 = f" and channel='{channel}'" if channel else ''
     op3 = f" and dt>='{start}' " if start else ''
     op4 = f" and dt<='{end}' " if end else ''
@@ -533,7 +541,7 @@ concat(da60-da59 ,',' ,da60/cost ,',', (da60-da59)/cost ,',' ,da60/da1) d60,
 concat(dm3-da60 ,',' ,dm3/cost ,',', (dm3-da60)/cost ,',' ,dm3/da1) m3,
 concat(dm4-dm3 ,',' ,dm4/cost ,',', (dm4-dm3)/cost ,',' ,dm4/da1) m4,
 concat(dm5-dm4 ,',' ,dm5/cost ,',', (dm5-dm4)/cost ,',' ,dm5/da1) m5 
-from ( select * from  dw_channel where cost+reg_order_amount>0  {op1} {op2} {op3} {op4} ) a
+from ( select * from  dw_channel where cost+reg_order_amount>0  {op} {op1} {op2} {op3} {op4} ) a
 left join  dw_channel_amount_daily b on a.channel=b.channel and a.dt=b.dt 
 left join src_book_info c on a.dt=c.dt and a.book=c.book  and a.type=c.type and a.platform=c.platform
 

+ 10 - 13
handlers/PitcherPanelHandler.py

@@ -75,7 +75,7 @@ class ChannelOverview(BaseHandler):
             user_id =args.get('user_id')
             channel=args.get("channel")
             pitcher=args.get("pitcher")
-            start=args.get("start",du.getNow())
+            start=args.get("start",self.thisday)
             end=args.get("end")
             stage=args.get("stage")
             page = args.get("page", 1)
@@ -108,18 +108,17 @@ class ChannelActive(BaseHandler):
         else:
             args = self.get_args()
             print(args)
+            user_id = args.get('user_id')
             pitcher=args.get("pitcher")
             channel = args.get("channel")
-            start = args.get("start",self.get_n_days(-29))
+            start = args.get("start",self.thisday)
             end = args.get("end")
             page = args.get("page", 1)
             page_size = args.get("page_size", 10)
             order_by = args.get("order_by", 'date')
             order = args.get("order", 'desc')
-            if 'date_range' in list(args.keys()):
-                end = self.get_n_days(0)
-                start = self.get_n_days(-int(args['date_range'])+1)
-            data,total=get_channel_active(channel,pitcher,start,end,page,page_size,order_by,order)
+
+            data,total=get_channel_active(user_id,channel,pitcher,start,end,page,page_size,order_by,order)
             self.write_json(data=data,total=total)
 
 
@@ -130,23 +129,21 @@ class ChannelOrderTrend(BaseHandler):
         else:
             arg = self.get_args()
             print(arg)
+            user_id =arg.get('user_id')
             pitcher=arg.get("pitcher")
             channel = arg.get("channel")
-            start = arg.get("start",self.get_n_days(-29))
+            start = arg.get("start",self.thisday)
             end = arg.get("end")
             page = arg.get("page", 1)
             page_size = arg.get("page_size", 10)
             order_by = arg.get("order_by", 'date')
             order = arg.get("order", 'desc')
-            if 'date_range' in list(arg.keys()):
-                end = self.get_n_days(0)
-                start = self.get_n_days(-int(arg['date_range'])+1)
-            data,total,total_data=get_channel_order_trend(channel,pitcher,start,end,page,page_size,order_by,order)
+
+            data,total,total_data=get_channel_order_trend(user_id,channel,pitcher,start,end,page,page_size,order_by,order)
             self.write_json(data=data,total=total,total_data=total_data)
 
 class ChannelSummary(BaseHandler):
     def post(self):
-        du = DateUtils()
 
         if not self._au:
             self.write_fail(msg='auth error')
@@ -162,7 +159,7 @@ class ChannelSummary(BaseHandler):
             order_by = arg.get("order_by", 'total_cost')
             order = arg.get("order", 'desc')
             state = arg.get("state")
-            start = arg.get("start",du.get_n_days(-7))
+            start = arg.get("start",self.get_n_days(-7))
             end = arg.get("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"):

+ 4 - 2
model/DateUtils.py

@@ -13,6 +13,7 @@ class DateUtils:
         self.today = datetime.strptime(datetime.today().strftime("%Y-%m-%d"), "%Y-%m-%d")
         self.daydelta = timedelta(days=1)
         self.now = datetime.now()
+        self.thisday = datetime.now().strftime("%Y-%m-%d")
 
     def getDateLists(self, begin, end):
         """
@@ -269,5 +270,6 @@ if __name__ == "__main__":
     end = ut.now.strftime('%Y-%m') + '-01 00:00:00'
     # begin = ut.get_n_month_ago_begin(ut.now.strftime('%Y-%m'), 1) + '-01 00:00:00'
     # print(ut.get_n_pre_month_first_day(0))
-    ut.today = date(2018, 1, 1)
-    print(ut.month_first_day())
+    # ut.today = date(2018, 1, 1)
+    # print(ut.month_first_day())
+    print(ut.thisday)