guarantee-admin-api-v0.2/Modules/DashBoard/DashBoardRoutes.py

106 lines
3.2 KiB
Python

from flask import Blueprint, request
from Modules.AdminUser.UserAuthUtils import verify_token
from Modules.DashBoard.DashBoardImpl import DashBoardImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
board_route = Blueprint('board', __name__)
@board_route.route('/rating_result')
@verify_token
def rating_result_route(**kwargs):
"""最新评级结果"""
try:
RouteParamsCheck(req=request.args, params=["page_size", "page_no"]).required()
page_size = request.args["page_size"]
page_no = request.args["page_no"]
impl = DashBoardImpl()
result = impl.latest_rating_result(
page_size=page_size,
page_no=page_no
)
return {"info": "最新评级结果", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@board_route.route('/statistics')
@verify_token
def statistics_route(**kwargs):
"""评级次数统计(折线图)"""
try:
impl = DashBoardImpl()
result = impl.rating_frequency_statistics()
return {"info": "评级次数统计", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@board_route.route('/distribute')
@verify_token
def distribute_route(**kwargs):
"""信用级别分布"""
try:
impl = DashBoardImpl()
result = impl.rank_levels_distribute()
return {"info": "信用级别分布", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@board_route.route('/map/country', methods=['GET'])
@verify_token
def map_country_route(**kwargs):
try:
impl = DashBoardImpl()
result = impl.static_all_country()
return {"info": "评级结果地图(全国)", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@board_route.route('/map/province', methods=['GET'])
@verify_token
def map_province_route(**kwargs):
"""评级结果地图(省份)"""
try:
RouteParamsCheck(req=request.args, params=["province", "page_size", "page_no"]).required()
province = request.args["province"]
page_size = request.args["page_size"]
page_no = request.args["page_no"]
impl = DashBoardImpl()
result = impl.static_by_province(
province=province,
page_size=page_size,
page_no=page_no,
)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@board_route.route('/map/city', methods=['GET'])
@verify_token
def map_city_route(**kwargs):
"""评级结果地图(城市)"""
try:
RouteParamsCheck(req=request.args, params=["city", "page_size", "page_no"]).required()
city = request.args["city"]
page_size = request.args["page_size"]
page_no = request.args["page_no"]
impl = DashBoardImpl()
result = impl.static_by_city(
city=city,
page_size=page_size,
page_no=page_no,
)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code