Files
qiaoxinjiu 6994b185a3 addproject
2026-01-22 19:10:37 +08:00

211 lines
7.0 KiB
Python

# -*- coding:utf-8 -*-
"""
Author: qiaoxinjiu
Email: xinjiu.qiao@allschool.com
Create Date: 2022/04/26 5:58 下午
"""
import os
import sys
input_team_name = sys.argv
BASIC_PATH = os.path.dirname(os.path.abspath(__file__))
TEAM_PATH = os.path.abspath(os.path.join(BASIC_PATH, '../../../{}'.format("base_framework")))
sys.path.append(TEAM_PATH)
PROJECT_PATH = os.path.abspath(os.path.join(BASIC_PATH, '../../..'))
sys.path.append(PROJECT_PATH)
from base_framework.public_tools.sqlhelper import MySqLHelper
import json
import requests
obj_mysql_helper = MySqLHelper()
class Handle_tools:
def __init__(self):
pass
def query_interface_sql(self):
'''
查询qa的余量接口信息
:return:
'''
query_sql = ''' SELECT in_url,controller_name
FROM
sparkatp.interface_info
WHERE
id IN (
SELECT
a.id
FROM
(SELECT * from sparkatp.interface_info) a
WHERE
( a.swagger_id in (SELECT id FROM sparkatp.swagger_info WHERE team="UBRD") )
AND a.created_time > "2022-01-01 00:00:50"
AND is_used = 1 and at_numbers = 0 and offline=0 and jira_id is null) ORDER BY created_time'''
query_sql_r = """SELECT
si.id AS interface_id,
rpgm.jira_id,
si.in_url
FROM
(
SELECT
ii.id,
ii.in_url,
ii.jira_id
FROM
sparkatp.interface_info ii
WHERE
ii.swagger_id IN ( SELECT id FROM sparkatp.swagger_info WHERE team = "UBRD" )
AND ii.created_time > "2022-01-01 00:00:50"
AND ii.is_used = 1
AND ii.at_numbers = 0
AND ii.offline = 0
AND ii.jira_id IS NULL
) si
INNER JOIN (
SELECT
rp.interface_id,
rp.jira_id,
MAX( modified_time )
FROM
request_parameters rp
WHERE
rp.jira_id IS NOT NULL
AND rp.jira_id <> 'None'
AND rp.jira_id <> ''
GROUP BY
rp.interface_id
) rpgm ON rpgm.interface_id = si.id;"""
# query_sql = " SELECT * FROM sparkatp.interface_info WHERE id IN (SELECT a.id FROM(SELECT * from sparkatp.interface_info) a WHERE( a.swagger_id in (SELECT id FROM sparkatp.swagger_info WHERE team='UBRD') ) AND a.created_time > '2022-01-01 00:00:50' AND is_used = 1 and at_numbers = 0 and offline=0 and jira_id is null) ORDER BY created_time"
query_sql_r_result = obj_mysql_helper.select_all(query_sql_r)
query_sql_dict = {}
query_sql_dict_temp = {}
# <class 'dict'>: {'interface_id': 924646, 'jira_id': 'HHC-48875', 'in_url': 'http://peppa-parent-api.qa.huohua.cn/classes/audition/enter'}
for qsrr in query_sql_r_result:
in_url = "{}_{}".format(str(qsrr.get('interface_id')).strip(' '), qsrr.get('in_url').strip(' '))
if qsrr.get('jira_id') in query_sql_dict.keys():
if in_url in query_sql_dict.get(qsrr.get('jira_id')):
pass
else:
query_sql_dict[qsrr.get('jira_id')].append(in_url)
else:
query_sql_dict[qsrr.get('jira_id')] = [in_url]
query_sql_s = """SELECT
si.id AS interface_id,
rpgm.jira_id,
si.in_url
FROM
(
SELECT
ii.id,
ii.in_url,
ii.jira_id
FROM
sparkatp.interface_info ii
WHERE
ii.swagger_id IN ( SELECT id FROM sparkatp.swagger_info WHERE team = "UBRD" )
AND ii.created_time > "2022-01-01 00:00:50"
AND ii.is_used = 1
AND ii.at_numbers = 0
AND ii.offline = 0
AND ii.jira_id IS NULL
) si
INNER JOIN (
SELECT
rp.interface_id,
rp.jira_id,
MAX( modified_time )
FROM
response_parameters rp
WHERE
rp.jira_id IS NOT NULL
AND rp.jira_id <> 'None'
AND rp.jira_id <> ''
GROUP BY
rp.interface_id
) rpgm ON rpgm.interface_id = si.id;"""
query_sql_s_result = obj_mysql_helper.select_all(query_sql_s)
for qsrs in query_sql_s_result:
in_url = "{}_{}".format(str(qsrs.get('interface_id')).strip(' '), qsrs.get('in_url').strip(' '))
if qsrs.get('jira_id') in query_sql_dict.keys():
if in_url in query_sql_dict[qsrs.get('jira_id')]:
pass
else:
query_sql_dict[qsrs.get('jira_id')].append(in_url)
else:
query_sql_dict[qsrs.get('jira_id')] = [in_url]
return query_sql_dict
def send_log_info(self):
'''
每天进行日志提醒
:return:
'''
feishu_name_id = {"罗志鹏": "7020366259502153730", "谯新久": "7020366258071715842",
"陈洁": "7020370251997069314", "蒲思宇": "7076270364313108481", "张楠": "7076270369128349697",
"刘涛婷": "7020366262240854017"}
order_list = ["谯新久", "陈洁", "刘涛婷", "罗志鹏", "蒲思宇", "张楠"]
# for name in order_list:
def send_feishu(self, inferfaces):
'''
发送飞书
:return:
'''
at_user_list = [{"tag": "at", "user_id": "{}".format("7020366259502153730")}]
message_data = {"msg_type": "post", "content": {
"post": {"zh_cn": {"title": "有存在的接口未实现自动化哦",
"content": [[{"tag": "text", "text": "问题数据:"}],
[{"tag": "text", "text": "{}".format(inferfaces)}],
at_user_list]}}}}
web_hook = "https://open.feishu.cn/open-apis/bot/v2/hook/40696c86-264a-4222-a40c-cfd64a05dffd"
headers = {"Content-Type": "application/json"}
json_data = json.dumps(message_data)
print(json_data)
rsp = requests.post(url=web_hook, data=json_data, headers=headers)
return rsp
def send_message_by_feishu(self, web_hook, data):
headers = {"Content-Type": "application/json"}
json_data = json.dumps(data)
rsp = requests.post(url=web_hook, data=json_data, headers=headers)
return rsp
def compare_txt(self, su_t, st_t):
'''
对比两个文档,返回不同的信息
:param su_t:
:param st_t:
:return:
'''
file_object1 = open(su_t, 'r', encoding='utf-8')
file_object2 = open(st_t, 'r', encoding='utf-8')
try:
while True:
line = file_object1.readline()
lines = file_object2.readline()
if line.strip() != lines.strip():
print("pc :", line)
print("right:", lines)
else:
continue
finally:
file_object1.close()
file_object2.close()
if __name__ == '__main__':
test = Handle_tools()
# get_interfaces = test.query_interface_sql()
# if get_interfaces:
# test.send_feishu(json.dumps(get_interfaces))
# else:
# print("都已经完成")
su_t = r"D:\UiVispark\spark1.txt"
st_t = r"D:\UiVispark\spark2.txt"
test.compare_txt(st_t=st_t,su_t=su_t)