فهرست منبع

ADD: 添加plan查询接口,删除接口

cxyu 3 سال پیش
والد
کامیت
9b9db5be82
2فایلهای تغییر یافته به همراه74 افزوده شده و 8 حذف شده
  1. 47 1
      web_module/tornado_api.py
  2. 27 7
      wechat_action/sql_tools.py

+ 47 - 1
web_module/tornado_api.py

@@ -75,6 +75,38 @@ class create_ad_plan_local(BaseHandler):
         self.write({'status': {'msg': 'success', "RetCode": 200}})
 
 
+class get_ad_plan_local(BaseHandler):
+    def get(self):
+        user_id = self.get_argument('user_id', None)
+        layout_name = self.get_argument('plan_name', None)
+        sql_session = db.DBSession()
+        if user_id is None:
+            self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
+            return
+        # 落地页名字精确到毫秒,默认是全局唯一
+        if layout_name:
+            result = sql_tools.get_plan_typesetting_rough(sql_session=sql_session, user_id=user_id,
+                                                            typesetting_name=layout_name)
+        else:
+            # TODO:之后修改一下,让其查询效率高点,like效率过低
+            layout_name = ''
+            result = sql_tools.get_plan_typesetting_rough(sql_session=sql_session, user_id=user_id,
+                                                            typesetting_name=layout_name)
+        print(result)
+        result_ = []
+        for i in range(len(result)):
+            print(result[i])
+            typesetting, name, create_time, update_time = result[i]
+            _ = {}
+            _['typesetting'] = json.loads(typesetting)
+            _['ad_plan_name'] = name
+            _['id'] = i
+            _['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
+            _['update_time'] = update_time.strftime("%Y-%m-%d %H:%M:%S")
+            result_.append(_)
+        self.write({'statu': {'msg': 'success', "RetCode": 200},
+                    'local_ad_plan_info': result_})
+
 class create_ad_layout_remote(BaseHandler):
     # 1.批量创建落地页
     def post(self):
@@ -294,7 +326,6 @@ class ad_wechat_info(BaseHandler):
 
 
 class delete_ad_layout(BaseHandler):
-    # TODO:伪删除落地页
     def get(self):
         user_id = self.get_argument('user_id', None)
         layout_name = self.get_argument('layout_name', None)
@@ -308,13 +339,28 @@ class delete_ad_layout(BaseHandler):
                                                 typesetting_name=layout_name)
         self.write({'status': {'msg': 'success', "RetCode": 200}})
 
+class delete_ad_plan(BaseHandler):
+    def get(self):
+        user_id = self.get_argument('user_id', None)
+        plan_name = self.get_argument('plan_name', None)
+        sql_session = db.DBSession()
+        if user_id is None or plan_name is None:
+            self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
+            return
+        # 落地页名字精确到毫秒,默认是全局唯一
+
+        sql_tools.delete_ad_plan_typesetting_vir(sql_session=sql_session, user_id=user_id,
+                                                typesetting_name=plan_name)
+        self.write({'status': {'msg': 'success', "RetCode": 200}})
 
 def make_app():
     return tornado.web.Application([
         ("/create_ad_plan_local", create_ad_plan_local),
         ("/create_ad_layout_local", create_ad_layout_local),
         ("/get_layout_local", get_ad_layout_local),
+        ("/get_ad_plan_local", get_ad_plan_local),
         ("/delete_layout_local", delete_ad_layout),
+        ("/delete_ad_plan_local", delete_ad_plan),
         ("/create_ad_plan_remote", create_ad_plan_remote),
         ("/create_ad_layout_remote", create_ad_layout_remote),
         ("/ad_human_info", ad_human_info),

+ 27 - 7
wechat_action/sql_tools.py

@@ -106,6 +106,17 @@ def get_layout_typesetting_rough(sql_session, user_id, typesetting_name):
     return result_list
 
 
+def get_layout_typesetting(sql_session, user_id, typesetting_name):
+    sql = '''
+            select typesetting from layout_typesetting lt 
+            where user_id ='{}' and name='{}' and is_delete=0;
+    '''.format(user_id, typesetting_name)
+    cursor = sql_session.execute(sql)
+    lines = cursor.fetchall()
+    if lines:
+        result_list = lines[0][0]
+        return result_list
+
 def delete_layout_typesetting_vir(sql_session, user_id, typesetting_name):
     sql = '''
             update layout_typesetting lt 
@@ -116,22 +127,22 @@ def delete_layout_typesetting_vir(sql_session, user_id, typesetting_name):
     sql_session.execute(sql)
     sql_session.commit()
 
-def get_layout_typesetting(sql_session, user_id, typesetting_name):
+def get_plan_typesetting_rough(sql_session, user_id, typesetting_name):
     sql = '''
-            select typesetting from layout_typesetting lt 
-            where user_id ='{}' and name='{}';
+            select typesetting,name,create_time,update_time from ad_plan_typesetting lt 
+            where user_id ='{}' and is_delete=0 and name like '%{}%';
     '''.format(user_id, typesetting_name)
+    print(sql)
     cursor = sql_session.execute(sql)
     lines = cursor.fetchall()
-    if lines:
-        result_list = lines[0][0]
-        return result_list
+    result_list = [line for line in lines]
+    return result_list
 
 
 def get_ad_plan_typesetting(sql_session, user_id, typesetting_name):
     sql = '''
             select typesetting from ad_plan_typesetting lt 
-            where user_id ='{}' and name='{}';
+            where user_id ='{}' and name='{}' and is_delete=0;
     '''.format(user_id, typesetting_name)
     cursor = sql_session.execute(sql)
     lines = cursor.fetchall()
@@ -139,6 +150,15 @@ def get_ad_plan_typesetting(sql_session, user_id, typesetting_name):
         result_list = lines[0][0]
         return result_list
 
+def delete_ad_plan_typesetting_vir(sql_session, user_id, typesetting_name):
+    sql = '''
+            update ad_plan_typesetting lt 
+            set is_delete=1
+            where user_id ='{}' and name = '{}';
+    '''.format(user_id, typesetting_name)
+    print(sql)
+    sql_session.execute(sql)
+    sql_session.commit()
 
 def get_undo_action(sql_session, user_id):
     # TODO:sql 里面添加doing,error状态的挑选