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