diff --git a/app/api/engine.py b/app/api/engine.py index 1a458b4b95870c2948dd36c2102e00bf1318bf98..d4ca84e05792bd204e1bf85c90038798e17ac2b2 100644 --- a/app/api/engine.py +++ b/app/api/engine.py @@ -23,7 +23,8 @@ template_folder = work_dir+'/app/templates' config = yaml.load(open(CFG_FILEPATH, 'r'), Loader=yaml.FullLoader) -pdf_folder = os.path.join(work_dir,"app/pdf",config[env]['PDF']['pdf_folder']) +pdf_folder = os.path.join(work_dir,"app/pdf", config[env]['PDF']['pdf_folder']) +http_dir = config[env]['PDF']['http_dir'] tamp_product_engine = create_engine( 'mysql+mysqldb://{user}:{password}@{host}:{port}/{db}?charset={charset}'.format( diff --git a/app/controller/report.py b/app/controller/report.py index 8d5b97a9d45e7f6143693d4d546d6842e452499b..094866b783e56086b7e0efb2c0054bd051c36921 100644 --- a/app/controller/report.py +++ b/app/controller/report.py @@ -8,16 +8,14 @@ # ----------------------------------------------------------------------------- import datetime import time -import uuid -import oss2 from flask_restful import Resource, reqparse from flask import request, render_template from flask import make_response from app.api.engine import config from app.utils.html_to_pdf import html_to_pdf -from app.api.engine import pdf_folder, redis, env, TAMP_SQL, tamp_diagnose_app_engine +from app.api.engine import pdf_folder, redis, env, TAMP_SQL, tamp_diagnose_app_engine, http_dir from app.utils.jinjia2html_v2 import DataIntegrate @@ -36,6 +34,7 @@ class ReportHandlers(Resource): token = request.headers.get('Authorization', '') token = 's:sid:' + token.split(' ')[1] ifa_id = redis.get(token).decode() + if not ifa_id: return {"code":40005,"data":None,"lang":"zh_CN","msg":"请登陆"} if '\''in ifa_id: @@ -59,15 +58,16 @@ class ReportHandlers(Resource): dt = DataIntegrate(ifa_id=ifa_id, customer_id=customer_id, pdf_name=pdf_name) dt.render_data() except: - pass + return {"code":-1, "msg": "内部错误"} print('耗时{}ç§’'.format(round(time.time() - start, 2))) - auth = oss2.Auth(config[env]['oss']['account'], config[env]['oss']['password']) - # Endpoint以æå·žä¸ºä¾‹ï¼Œå…¶å®ƒRegion请按实际情况填写。 - bucket = oss2.Bucket(auth, 'http://oss-cn-shanghai.aliyuncs.com', config[env]['oss']['env']) + # auth = oss2.Auth(config[env]['oss']['account'], config[env]['oss']['password']) + # # Endpoint以æå·žä¸ºä¾‹ï¼Œå…¶å®ƒRegion请按实际情况填写。 + # bucket = oss2.Bucket(auth, 'http://oss-cn-shanghai.aliyuncs.com', config[env]['oss']['env']) # 生æˆä¸‹è½½æ–‡ä»¶çš„ç¾åURL,有效时间为60s。 - path = bucket.sign_url('GET', config[env]['oss']['path'] + pdf_name, config[env]['oss']['validtime']) + # path = bucket.sign_url('GET', config[env]['oss']['path'] + pdf_name, config[env]['oss']['validtime']) + with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app: tamp_diagnose_app_session = tamp_diagnose_app.session sql = "update hold_report set update_time='{}', update_status='{}', file='{}' where ifa_id='{}' and customer_id='{}'".format( @@ -78,14 +78,27 @@ class ReportHandlers(Resource): customer_id ) tamp_diagnose_app_session.execute(sql) + + with TAMP_SQL(tamp_diagnose_app_engine) as tamp_diagnose_app: + + tamp_diagnose_app_session = tamp_diagnose_app.session + sql = "SELECT id, file, customer_id, ifa_id, update_status, update_time from hold_report where ifa_id='{}' and customer_id='{}'".format( + ifa_id, + customer_id, + ) + ret = tamp_diagnose_app_session.execute(sql).fetchone() + + data = {"id":ret[0],"file": http_dir + ret[1],"customer_id":ret[2], + "ifa_id":ret[3],"update_status":ret[4], + "update_time":ret[5].strftime("%Y-%m-%d %H:%M:%S")} + resp = { "code": 0, - "data": { - "path": path - }, + "data": data, "lang": "zh_CN", "msg": "æˆåŠŸ" } + return resp def post(self):