|
@@ -6,6 +6,8 @@ import tornado.web
|
|
import json
|
|
import json
|
|
import time
|
|
import time
|
|
from wechat_api.get_wechat_info import WechatApi
|
|
from wechat_api.get_wechat_info import WechatApi
|
|
|
|
+from logging import handlers
|
|
|
|
+from datetime import datetime
|
|
from wechat_action.login_ad import LogIn
|
|
from wechat_action.login_ad import LogIn
|
|
from wechat_action import sql_tools
|
|
from wechat_action import sql_tools
|
|
import threading
|
|
import threading
|
|
@@ -44,21 +46,6 @@ class BaseHandler(tornado.web.RequestHandler):
|
|
self.set_header('Access-Control-Allow-Methods', '*')
|
|
self.set_header('Access-Control-Allow-Methods', '*')
|
|
|
|
|
|
|
|
|
|
-class create_ad_plan_remote(BaseHandler):
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- def post(self):
|
|
|
|
- user_id = self.get_argument("user_id", None)
|
|
|
|
- ad_plan_name = self.get_argument("ad_plan_name", None)
|
|
|
|
-
|
|
|
|
- wechat_json = self.get_argument('wechat_json', None)
|
|
|
|
- log_ad, cookie_canuse = ad_human_info.refresh_wechat_cookies(self, user_id=user_id)
|
|
|
|
- threading.Thread(target=user_action.create_ad_plan,
|
|
|
|
- args=(user_id, ad_plan_name, wechat_json, log_ad, db, cookie_canuse)).start()
|
|
|
|
-
|
|
|
|
-
|
|
|
|
class create_ad_plan_local(BaseHandler):
|
|
class create_ad_plan_local(BaseHandler):
|
|
def post(self):
|
|
def post(self):
|
|
request_dict = json.loads(self.request.body, encoding='utf-8')
|
|
request_dict = json.loads(self.request.body, encoding='utf-8')
|
|
@@ -71,7 +58,6 @@ class create_ad_plan_local(BaseHandler):
|
|
self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
return
|
|
return
|
|
|
|
|
|
-
|
|
|
|
for _ in ad_plan_list:
|
|
for _ in ad_plan_list:
|
|
ad_plan_name = _['title']
|
|
ad_plan_name = _['title']
|
|
ad_plan_typesetting_info = {'user_id': user_id, 'name': ad_plan_name,
|
|
ad_plan_typesetting_info = {'user_id': user_id, 'name': ad_plan_name,
|
|
@@ -86,11 +72,11 @@ class create_ad_plan_local(BaseHandler):
|
|
|
|
|
|
class create_ad_plan(BaseHandler):
|
|
class create_ad_plan(BaseHandler):
|
|
|
|
|
|
|
|
+
|
|
def post(self):
|
|
def post(self):
|
|
request_dict = json.loads(self.request.body, encoding='utf-8')
|
|
request_dict = json.loads(self.request.body, encoding='utf-8')
|
|
print(request_dict)
|
|
print(request_dict)
|
|
user_id = request_dict['user_id']
|
|
user_id = request_dict['user_id']
|
|
-
|
|
|
|
ad_plan_list = request_dict['plan_list']
|
|
ad_plan_list = request_dict['plan_list']
|
|
|
|
|
|
|
|
|
|
@@ -116,7 +102,8 @@ class create_ad_plan(BaseHandler):
|
|
sql_session.execute(ad_plan_typesetting_inserte)
|
|
sql_session.execute(ad_plan_typesetting_inserte)
|
|
|
|
|
|
|
|
|
|
- task_name = '{user_id}_{time_sign}'.format(user_id=user_id, time_sign=time.time())
|
|
+ task_name = '用户: {user_id} 时间:{time_sign}'.format(user_id=user_id,
|
|
|
|
+ time_sign=datetime.now().strftime("%Y-%m-%d, %H:%M:%S"))
|
|
for _ in ad_plan_list:
|
|
for _ in ad_plan_list:
|
|
|
|
|
|
|
|
|
|
@@ -170,7 +157,7 @@ class get_ad_plan_local(BaseHandler):
|
|
_['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['update_time'] = update_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['update_time'] = update_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
result_.append(_)
|
|
result_.append(_)
|
|
- self.write({'statu': {'msg': 'success', "RetCode": 200},
|
|
+ self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
'local_ad_plan_info': result_})
|
|
'local_ad_plan_info': result_})
|
|
|
|
|
|
|
|
|
|
@@ -240,35 +227,15 @@ class get_ad_layout_local(BaseHandler):
|
|
_['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['update_time'] = update_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
_['update_time'] = update_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
result_.append(_)
|
|
result_.append(_)
|
|
- self.write({'statu': {'msg': 'success', "RetCode": 200},
|
|
+ self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
'local_layout_info': result_})
|
|
'local_layout_info': result_})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-class ad_status(BaseHandler):
|
|
+
|
|
- def get(self):
|
|
|
|
- user_id = self.get_argument("user_id", None)
|
|
|
|
- if user_id is None:
|
|
|
|
- self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
|
|
- return
|
|
|
|
- sql_session = db.DBSession()
|
|
|
|
-
|
|
|
|
- lines = sql_tools.get_ad_status(sql_session=sql_session, user_id=user_id)
|
|
|
|
- result = []
|
|
|
|
- for line in lines:
|
|
|
|
- action_type, wechat_name, service_name, update_time, create_time, status = line
|
|
|
|
- result.append(
|
|
|
|
- {'action_type': json.loads(action_type), 'wechat_name': wechat_name, 'service_name': service_name,
|
|
|
|
- 'update_time': update_time.strftime("%Y-%m-%d %H:%M:%S"),
|
|
|
|
- 'create_time': create_time.strftime("%Y-%m-%d %H:%M:%S"), 'status': status})
|
|
|
|
-
|
|
|
|
- print(result)
|
|
|
|
- self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
|
|
- 'ad_status_info': result})
|
|
|
|
-
|
|
|
|
|
|
|
|
class ad_human_info(BaseHandler):
|
|
class ad_human_info(BaseHandler):
|
|
-
|
|
+
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
def refresh_wechat_cookies(tornado_web, user_id):
|
|
def refresh_wechat_cookies(tornado_web, user_id):
|
|
@@ -286,8 +253,6 @@ class ad_human_info(BaseHandler):
|
|
cookie_canuse = False
|
|
cookie_canuse = False
|
|
if cookie_db:
|
|
if cookie_db:
|
|
cookie_db = pickle.loads(cookie_db)
|
|
cookie_db = pickle.loads(cookie_db)
|
|
-
|
|
|
|
-
|
|
|
|
if not log_ad.wechat_cookies_check_alive(cookie_db):
|
|
if not log_ad.wechat_cookies_check_alive(cookie_db):
|
|
|
|
|
|
wechat_code = log_ad.log_in()
|
|
wechat_code = log_ad.log_in()
|
|
@@ -308,51 +273,56 @@ class ad_human_info(BaseHandler):
|
|
|
|
|
|
|
|
|
|
def get(self):
|
|
def get(self):
|
|
-
|
|
+ try:
|
|
-
|
|
+
|
|
-
|
|
+
|
|
-
|
|
+
|
|
- user_id = self.get_argument("user_id", None)
|
|
+
|
|
- human_package_name = self.get_argument('human_package_name', None)
|
|
+ user_id = self.get_argument("user_id", None)
|
|
- is_refresh = self.get_argument("is_refresh", None)
|
|
+ human_package_name = self.get_argument('human_package_name', None)
|
|
- wechat_name = self.get_argument('wechat_name', None)
|
|
+ is_refresh = self.get_argument("is_refresh", None)
|
|
- service_name = self.get_argument('service_name', None)
|
|
+ wechat_name = self.get_argument('wechat_name', None)
|
|
- print(user_id, is_refresh)
|
|
+ service_name = self.get_argument('service_name', None)
|
|
- if user_id is None or is_refresh is None or wechat_name is None or service_name is None:
|
|
+ print(user_id, is_refresh)
|
|
- self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
+ if user_id is None or is_refresh is None or wechat_name is None or service_name is None:
|
|
- return
|
|
+ self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
- sql_session = db.DBSession()
|
|
+ return
|
|
-
|
|
+ sql_session = db.DBSession()
|
|
- if int(is_refresh) == 1:
|
|
+
|
|
- log_ad, cookie_canuse = self.refresh_wechat_cookies(self, user_id=user_id)
|
|
+ if int(is_refresh) == 1:
|
|
- threading.Thread(target=user_action.get_human_info,
|
|
+ log_ad, cookie_canuse = self.refresh_wechat_cookies(self, user_id=user_id)
|
|
- args=(
|
|
+ threading.Thread(target=user_action.get_human_info,
|
|
- user_id, log_ad, db, cookie_canuse)).start()
|
|
+ args=(
|
|
-
|
|
+ user_id, log_ad, db, cookie_canuse)).start()
|
|
- else:
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- result = sql_tools.get_human_info(sql_session=sql_session,
|
|
|
|
- service_name=service_name, wechat_name=wechat_name)
|
|
|
|
- print(result)
|
|
|
|
- result = json.loads(result)
|
|
|
|
- if human_package_name:
|
|
|
|
- result = [_ for _ in result if human_package_name in _['name']]
|
|
|
|
- result_ = []
|
|
|
|
- for i in range(len(result)):
|
|
|
|
- _ = result[i]
|
|
|
|
- _['id'] = i
|
|
|
|
- result_.append(_)
|
|
|
|
- self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
|
|
- 'human_info': result})
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
+ else:
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ result = sql_tools.get_human_info(sql_session=sql_session,
|
|
|
|
+ service_name=service_name, wechat_name=wechat_name)
|
|
|
|
+ print(result)
|
|
|
|
+ result = json.loads(result)
|
|
|
|
+ if human_package_name:
|
|
|
|
+ result = [_ for _ in result if human_package_name in _['name']]
|
|
|
|
+ result_ = []
|
|
|
|
+ for i in range(len(result)):
|
|
|
|
+ _ = result[i]
|
|
|
|
+ _['id'] = i
|
|
|
|
+ result_.append(_)
|
|
|
|
+ self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
|
|
+ 'human_info': result})
|
|
|
|
+ except Exception as e:
|
|
|
|
+ logging.error(str(e))
|
|
|
|
+ try:
|
|
|
|
+ sql_session.commit()
|
|
|
|
+ except:
|
|
|
|
+ pass
|
|
class ad_wechat_info(BaseHandler):
|
|
class ad_wechat_info(BaseHandler):
|
|
|
|
|
|
|
|
|
|
@@ -495,35 +465,7 @@ class get_plan_action_record(BaseHandler):
|
|
_['wechat_id_info'] = wechat_id_info
|
|
_['wechat_id_info'] = wechat_id_info
|
|
_['status'] = status
|
|
_['status'] = status
|
|
result_.append(_)
|
|
result_.append(_)
|
|
- self.write({'statu': {'msg': 'success', "RetCode": 200},
|
|
+ self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
- 'local_ad_plan_info': result_})
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-class get_task_list(BaseHandler):
|
|
|
|
- def get(self):
|
|
|
|
- user_id = self.get_argument('user_id', None)
|
|
|
|
- sql_session = db.DBSession()
|
|
|
|
- if user_id is None:
|
|
|
|
- self.write({'status': {'msg': 'url parameter error', "RetCode": 400}})
|
|
|
|
- return
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- result = sql_tools.get_ad_task(sql_session=sql_session, user_id=user_id)
|
|
|
|
- result_ = []
|
|
|
|
- for i in range(len(result)):
|
|
|
|
- print(result[i])
|
|
|
|
- user_id, name, service_name, wechat_name, create_time, status, typesetting, wechat_id_info = result[i]
|
|
|
|
- _ = {}
|
|
|
|
- _['typesetting'] = json.loads(typesetting)
|
|
|
|
- _['ad_plan_name'] = name
|
|
|
|
- _['id'] = i
|
|
|
|
- _['create_time'] = create_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
|
|
- _['service_name'] = service_name
|
|
|
|
- _['wechat_name'] = wechat_name
|
|
|
|
- _['wechat_id_info'] = wechat_id_info
|
|
|
|
- _['status'] = status
|
|
|
|
- result_.append(_)
|
|
|
|
- self.write({'statu': {'msg': 'success', "RetCode": 200},
|
|
|
|
'local_ad_plan_info': result_})
|
|
'local_ad_plan_info': result_})
|
|
|
|
|
|
|
|
|
|
@@ -572,14 +514,19 @@ class get_all_ad_task(BaseHandler):
|
|
num = num + 1
|
|
num = num + 1
|
|
print(json.dumps(task_dict))
|
|
print(json.dumps(task_dict))
|
|
|
|
|
|
- self.write({'statu': {'msg': 'success', "RetCode": 200},
|
|
+ self.write({'status': {'msg': 'success', "RetCode": 200},
|
|
'local_ad_plan_info': result_})
|
|
'local_ad_plan_info': result_})
|
|
|
|
|
|
|
|
|
|
|
|
+def heart_jump():
|
|
|
|
+
|
|
|
|
+ pass
|
|
|
|
+
|
|
|
|
+
|
|
def make_app():
|
|
def make_app():
|
|
return tornado.web.Application([
|
|
return tornado.web.Application([
|
|
- ("/get_all_ad_task", get_all_ad_task),
|
|
+ ("/get_all_ad_task", get_all_ad_task),
|
|
- ("/create_ad_plan", create_ad_plan),
|
|
+ ("/create_ad_plan", create_ad_plan),
|
|
("/get_ad_wechat_service_name", get_ad_wechat_service_name),
|
|
("/get_ad_wechat_service_name", get_ad_wechat_service_name),
|
|
("/get_ad_wechat_wechat_name", get_ad_wechat_wechat_name),
|
|
("/get_ad_wechat_wechat_name", get_ad_wechat_wechat_name),
|
|
|
|
|
|
@@ -588,13 +535,10 @@ def make_app():
|
|
("/get_ad_plan_local", get_ad_plan_local),
|
|
("/get_ad_plan_local", get_ad_plan_local),
|
|
("/delete_layout_local", delete_ad_layout),
|
|
("/delete_layout_local", delete_ad_layout),
|
|
("/delete_ad_plan_local", delete_ad_plan),
|
|
("/delete_ad_plan_local", delete_ad_plan),
|
|
-
|
|
|
|
|
|
|
|
("/ad_human_info", ad_human_info),
|
|
("/ad_human_info", ad_human_info),
|
|
("/ad_wechat_info", ad_wechat_info),
|
|
("/ad_wechat_info", ad_wechat_info),
|
|
-
|
|
|
|
("/get_plan_action_record", get_plan_action_record),
|
|
("/get_plan_action_record", get_plan_action_record),
|
|
-
|
|
|
|
], debug=True, autoreload=True)
|
|
], debug=True, autoreload=True)
|
|
|
|
|
|
|
|
|
|
@@ -613,11 +557,9 @@ if __name__ == "__main__":
|
|
format="%(asctime)s - %(levelname)s %(filename)s %(funcName)s %(lineno)s - %(message)s"
|
|
format="%(asctime)s - %(levelname)s %(filename)s %(funcName)s %(lineno)s - %(message)s"
|
|
)
|
|
)
|
|
handler = logging.FileHandler('tornado.log')
|
|
handler = logging.FileHandler('tornado.log')
|
|
- logger=logging.getLogger()
|
|
+ logger = logging.getLogger()
|
|
logger.addHandler(handler)
|
|
logger.addHandler(handler)
|
|
logger.setLevel(logging.INFO)
|
|
logger.setLevel(logging.INFO)
|
|
- logger.info('foo')
|
|
|
|
- tornado.log.LogFormatter()
|
|
|
|
app = make_app()
|
|
app = make_app()
|
|
app.listen(8888)
|
|
app.listen(8888)
|
|
tornado.ioloop.IOLoop.current().start()
|
|
tornado.ioloop.IOLoop.current().start()
|