logService update

This commit is contained in:
kingChan 2024-08-29 18:07:31 +08:00
parent b6d4eac4a9
commit 208ad3a49f
12 changed files with 42 additions and 15 deletions

View File

@ -29,14 +29,6 @@ def create_app():
JWTManager(app)
LogService.configure_logging()
@app.after_request
def writeLog():
logger.info(f"Request Path: {request.path}")
logger.info(f"Request Method: {request.method}")
logger.info(f"Request Headers: {request.headers}")
logger.info(f"Request args: {request.args}")
logger.info(f"Request Body: {request.get_data(as_text=True)}")
# routes
from app.login_manager import login_bp
from app.passenger_manager import register_bp

View File

@ -5,6 +5,7 @@ import datetime
from flask import Blueprint, jsonify, request
from app import LogService
from utils import create_response, StateCode
bank_bp = Blueprint('bank_server', __name__)
@ -18,6 +19,7 @@ def bankCardVerify():
state = {
"result": bool(re.match(pattern, number))
}
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=state)), 200
@ -25,7 +27,7 @@ def bankCardVerify():
def pay():
# 模拟支付成功,返回
state = {"state": "successful", "pay_time": datetime.datetime.now()}
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=state)), 200
@ -33,5 +35,5 @@ def pay():
def query():
# 模拟验证成功,返回
state = {"state": "successful", "pay_time": datetime.datetime.now()}
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=state)), 200

View File

@ -12,4 +12,5 @@ def idCardVerify():
state = {
"result": bool(re.match(pattern, id_number))
}
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=state)), 200

View File

@ -1,3 +1,4 @@
from flask import request
from loguru import logger
@ -14,3 +15,11 @@ class LogService:
backtrace=True, # 打印完整的异常堆栈
diagnose=True # 打印详细的异常信息
)
@staticmethod
def log():
logger.info(f"Request Path: {request.path}")
logger.info(f"Request Method: {request.method}")
logger.info(f"Request Headers: {request.headers}")
logger.info(f"Request args: {request.args}")
logger.info(f"Request Body: {request.get_data(as_text=True)}")

View File

@ -1,6 +1,8 @@
# app/auth/register.py
from flask import Blueprint, request, jsonify
from flask_jwt_extended import create_access_token
from app import LogService
from app.models import Passenger
from presenter import PassengerPresenter
from utils import StateCode, create_response
@ -19,6 +21,7 @@ def login():
if user:
access_token = create_access_token(identity=user.id)
user_presenter = PassengerPresenter(user, {"token": access_token}).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=user_presenter)), 200
return jsonify(create_response(StateCode.PASSWORD_INCORRECT)), 400

View File

@ -4,7 +4,7 @@ import re
from flask import current_app, jsonify, request, Blueprint
import utils
from app import redis_client
from app import redis_client, LogService
from presenter import MobileCodePresenter
from utils import create_response, StateCode
@ -20,6 +20,7 @@ def getVerifyCode():
return jsonify(create_response(StateCode.MOBILE_ERROR)), 400
sent_code = getVerificationCode(mobile_no)
mobile_present = MobileCodePresenter(sent_code).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=mobile_present)), 200
@ -30,6 +31,7 @@ def checkMobile():
state = {
"result": bool(re.match(pattern, number))
}
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=state)), 200

View File

@ -3,7 +3,7 @@ import pdb
from flask import Blueprint, request, jsonify
from flask_jwt_extended import get_jwt_identity, jwt_required
from app import db
from app import db, LogService
from app.models.order_lib import generateOrder, Order
from presenter.order import OrderPresenter
from utils import create_response, StateCode
@ -21,6 +21,7 @@ def createOrder():
db.session.add(new_order)
db.session.commit()
order_presenter = OrderPresenter(new_order).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=order_presenter)), 200
@ -32,8 +33,10 @@ def queryPayment(order_no):
if response.status_code == 200 and response.json().get("data")["state"] == "successful":
order = Order.setOrderState(order_no, current_user, state=1, payment_time=response.json().get("data")["pay_time"])
order_presenter = OrderPresenter(order).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=order_presenter)), 200
else:
LogService.log()
return jsonify(create_response(StateCode.ORDER_PAY_ERROR)), 400
@ -44,4 +47,5 @@ def queryOrder():
current_user = get_jwt_identity()
orders = Order.query.filter(Order.passenger_id == current_user, Order.state == state).all()
order_presenter = [OrderPresenter(order).as_dict() for order in orders]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=order_presenter)), 200

View File

@ -3,7 +3,7 @@ import pdb
from flask import Blueprint, request, jsonify
from flask_jwt_extended import create_access_token, jwt_required, get_jwt_identity
from app import redis_client
from app import redis_client, LogService
from app.models.passenger_lib import Passenger, isAvailable
from presenter import PassengerPresenter
from utils import StateCode, create_response, checkMobile, checkIdCard, checkBankCard
@ -42,6 +42,7 @@ def register():
new_passenger = Passenger.create(data=data)
access_token = create_access_token(identity=new_passenger.id)
user_presenter = PassengerPresenter(new_passenger, {"token": access_token}).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=user_presenter)), 200
@ -53,6 +54,8 @@ def auth():
if not user:
return jsonify(create_response(StateCode.USER_NOT_FOUND)), 400
user_presenter = PassengerPresenter(user,{}).as_dict()
LogService.log()
return jsonify(create_response(code=StateCode.SUCCESS, data=user_presenter)), 200

View File

@ -4,6 +4,7 @@ import iso8601
from flask import Blueprint, jsonify, request
from flask_jwt_extended import get_jwt_identity, jwt_required
from app import LogService
from app.models.ticket_lib import Ticket
from app.models.train_lib import Train
from presenter.ticket import TicketPresenter
@ -23,6 +24,7 @@ def queryTrains(): # 查询车次方法
trains = Train.queryTrains(from_station, to_station, date)
trains_presenters = [TrainPresenter(train).as_dict() for train in trains]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=trains_presenters)), 200
@ -32,4 +34,5 @@ def getTickets(): # 查询车票方法
current_user = get_jwt_identity() # 解码JWT得到用户ID
tickets = Ticket.query.filter_by(passenger_id=current_user).all()
tickets_presenters = [TicketPresenter(ticket).as_dict() for ticket in tickets]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=tickets_presenters)), 200

View File

@ -2,6 +2,7 @@ import pdb
from flask import request, jsonify, Blueprint
from app import LogService
from app.models import Station
from presenter import StationPresenter
from utils import create_response, StateCode
@ -13,6 +14,7 @@ station_bp = Blueprint('stations', __name__)
def queryStation(): # 查询站点方法
stations = Station.query.all()
stations_presenters = [StationPresenter(station).as_dict() for station in stations]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=stations_presenters)), 200
@ -21,6 +23,7 @@ def createStation(): # 创建站点方法
data = request.json
new_station = Station.create(data=data)
station_presenter = StationPresenter(new_station).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=station_presenter)), 200
@ -30,4 +33,5 @@ def quantityCreate(): # 批量创建站点方法
for name in stations:
station_hash = {"name": name}
Station.create(station_hash)
LogService.log()
return jsonify(create_response(StateCode.SUCCESS)), 200

View File

@ -2,7 +2,7 @@ import pdb
from flask import request, jsonify, Blueprint
from app import db
from app import db, LogService
from app.models import Train
from app.models.train_lib import buildTrain
from presenter.train import TrainPresenter
@ -15,6 +15,7 @@ trains_bp = Blueprint('trains', __name__)
def queryAllTrains():
trains = Train.query.all()
trains_presenters = [TrainPresenter(train).as_dict() for train in trains]
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=trains_presenters)), 200
@ -25,5 +26,6 @@ def createTrain():
db.session.add(new_train)
db.session.commit()
train_presenter = TrainPresenter(new_train).as_dict()
LogService.log()
return jsonify(create_response(StateCode.SUCCESS, data=train_presenter)), 200

View File

@ -1,7 +1,9 @@
# myapp.py
from app import create_app
from app import create_app, LogService
from utils import response
app = create_app()
if __name__ == "__main__":
app.run(debug=True)