1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import json
- import traceback
- import tornado.web
- from db_config import *
- class AiCallBackAddCreative(tornado.web.RequestHandler):
- def initialize(self, logger):
- self.logger = logger
- def post(self):
- res = {'code': 0,
- 'data': None,
- 'message': "SUCCESS"}
- data = self.request.body
- data = str(data, 'utf8')
- data = json.loads(data, encoding='utf8')
- self.logger.info("*************************************** NEW REQUEST ***************************************")
- self.logger.info("raw data from request is %s" % data)
- try:
- inst = UpdateCreativeLevelRecordTable(data, self.logger)
- inst.update_table_info()
- except Exception:
- res['code'] = -1
- res['message'] = 'FAIL'
- self.logger.error(traceback.format_exc())
- # 返回接口结果
- self.write(json.dumps(res))
- self.flush()
- class UpdateCreativeLevelRecordTable(object):
- def __init__(self, request_data,logger):
- self.data = request_data
- self.logger = logger
- def update_table_info(self):
- db_con = pymysql.connect(host=host,
- port=port,
- user=user,
- password=passwd,
- database=db,
- charset=charset)
- cursor = db_con.cursor()
- for item in self.data['callbackData']:
- if item['code'] == 0:
- creative_uuid = item['creative_uuid']
- creative_id = item['creative_id']
- unit_id = item['unit_id']
- self.logger.info("on single update callback info: %s" % item)
- cursor.execute("""UPDATE ctop_ai_kuaishou_creative_level_operation_record
- SET unit_id= %s, creative_id=%s
- WHERE creative_uuid = %s""", (unit_id, creative_id, creative_uuid))
- else:
- self.logger.error("on single update callback info: %s" % item)
- db_con.commit()
- db_con.close()
|