106 lines
3.2 KiB
Python
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
|