123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- import time
- from uuid import uuid4
- from applications.functions.log import logging
- class Record(object):
- """
- 搜索接口处理逻辑
- """
- def __init__(self, params, mysql_client, config):
- self.flow_pool_level = None
- self.content_id = None
- self.account_name = None
- self.contents = None
- self.title = None
- self.gh_id = None
- self.params = params
- self.mysql_client = mysql_client
- self.article_videos = config.articleVideos
- self.article_text = config.articleText
- self.trace_id = "search-{}-{}".format(str(uuid4()), str(int(time.time())))
- def checkParams(self):
- """
- 检查请求params
- :return:
- """
- try:
- self.gh_id = self.params['ghId']
- self.title = self.params['title'].split("@@")[-1].replace("'", "")
- self.contents = self.params['content'].replace("'", "")
- self.account_name = self.params['accountName'].replace("'", "")
- self.content_id = self.params['articleId']
- self.flow_pool_level = self.params['flowPoolLevelTag']
- logging(
- code="1001",
- info="搜索视频内容接口请求成功, 参数校验成功",
- port="title_to_search",
- trace_id=self.trace_id,
- data=self.params
- )
- return None
- except Exception as e:
- result = {
- "status": "fail",
- "code": 1,
- "message": str(e),
- "info": "params check error"
- }
- logging(
- code="4001",
- info="搜索视频内容接口请求成功, 参数校验失败",
- port="title_to_search",
- trace_id=self.trace_id,
- data=self.params
- )
- return result
- async def inputIntoArticleVideos(self):
- """
- 把数据插入待处理队列
- :return:
- """
- request_time = int(time.time())
- insert_sql = f"""
- INSERT INTO {self.article_videos}
- (trace_id, content_id, flow_pool_level, gh_id, account_name, request_timestamp)
- VALUES
- (%s, %s, %s, %s, %s, %s);
- """
- await self.mysql_client.asyncInsert(
- sql=insert_sql,
- params=(
- self.trace_id,
- self.content_id,
- self.flow_pool_level,
- self.gh_id,
- self.account_name,
- request_time
- )
- )
- logging(
- code="1002",
- info="成功记录请求数据到mysql中",
- trace_id=self.trace_id
- )
- async def inputIntoArticleText(self):
- """
- :return:
- """
- insert_sql = f"""
- INSERT INTO {self.article_text} (content_id, article_title, article_text)
- values (%s, %s, %s);
- """
- try:
- await self.mysql_client.asyncInsert(
- sql=insert_sql,
- params=(
- self.content_id,
- self.title,
- self.contents
- )
- )
- except Exception as e:
- print(e)
- async def deal(self):
- """
- deal
- :return:
- """
- params_error = self.checkParams()
- if params_error:
- return params_error
- else:
- # 记录数据
- await self.inputIntoArticleVideos()
- await self.inputIntoArticleText()
- res = {
- "status": "success input to article queue",
- "code": 0,
- "traceId": self.trace_id
- }
- return res
|