This commit is contained in:
王思川 2022-05-26 17:15:30 +08:00
parent e15e612500
commit 030fc332d1
8 changed files with 128 additions and 7 deletions

0
Modules/ETL/__init__.py Normal file
View File

View File

View File

@ -0,0 +1,19 @@
from Modules.Rating.RatingObjects import RatingRecord
class RatingRecordImpl(object):
def create(self, **kwargs):
""""""
rating_record = RatingRecord()
rating_record.rid = ""
rating_record.status = "进行"
rating_record.cid = kwargs['cid']
rating_record.company_name = ""
rating_record.province_and_city = ""
def rating_years(self):
""""""

View File

@ -0,0 +1,30 @@
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
class RatingRecord(SpecObject):
"""评级记录"""
rid = ValidateAttr(field="rid", type=str)
report_date = ValidateAttr(field="report_date", func=Validate.date_format)
status = ValidateAttr(field="status", in_list=["完成", "进行"])
cid = ValidateAttr(field="cid", type=str)
company_name = ValidateAttr(field="company_name", type=str)
rating_date = ValidateAttr(field="rating_date", func=Validate.date_format)
credit_rating = ValidateAttr(field="credit_rating", type=str)
credit_score = ValidateAttr(field="credit_score", type=float)
rating_report = ValidateAttr(field="rating_report", type=str)
province_and_city = ValidateAttr(field="province_and_city", type=str)
fields_map = {
"rid": "评级ID",
"report_date": "报告期",
"status": "评级状态",
"cid": "企业ID",
"company_name": "企业名称",
"rating_date": "评级日期",
"credit_rating": "信用级别",
"credit_score": "信用分数",
"rating_report": "评级报告",
"province_and_city": "所在省市"
}

View File

@ -0,0 +1,67 @@
from flask import Blueprint, request
from Modules.AdminUser.UserAuthUtils import verify_token
from Modules.Rating.RatingImpl import RatingRecordImpl
from Utils.ErrorUtil import AttrCheckError
from Utils.RouteUtil import RouteParamsCheck
rating_route = Blueprint('rating', __name__)
@rating_route.route('/create', methods=['GET'])
@verify_token
def create_routes(**kwargs):
"""新建评级"""
RouteParamsCheck(
req=request.args,
params=['cid', 'report_date']
).required()
cid = request.args['cid']
report_date = request.args['report_date']
try:
impl = RatingRecordImpl()
impl.create(cid=cid, report_date=report_date)
return {"info": "success"}
except AssertionError as e:
return {"info": e.__str__()}, 202
except AttrCheckError as e:
return {"info": e.__str__()}, 202
@rating_route.route('/rating_years', methods=['GET'])
@verify_token
def rating_years_routes(**kwargs):
"""获取可评级年度"""
@rating_route.route('/financial_analysis', methods=['GET'])
@verify_token
def financial_analysis_routes(**kwargs):
"""财务分析"""
@rating_route.route('/risk_analysis', methods=['GET'])
@verify_token
def risk_analysis_route(**kwargs):
"""风险分析"""
@rating_route.route('/score_and_rank', methods=['GET'])
@verify_token
def score_and_rank_route(**kwargs):
"""得分级别"""
@rating_route.route('/rank_report', methods=['GET'])
@verify_token
def rank_report_route(**kwargs):
"""评级报告"""
@rating_route.route('/submit', methods=['GET'])
@verify_token
def submit_route(**kwargs):
"""确认提交"""

View File

View File

@ -1,21 +1,24 @@
from Utils.ErrorUtil import APIReturnError
class RouteUtil(object):
class RouteParamsCheck(object):
"""路由工具"""
@staticmethod
def require_params_check(req_body, req_params):
def __init__(self, req, params):
self.req = req
self.params = params
def required(self):
"""必需参数检查"""
if not isinstance(req_body, dict):
if not isinstance(self.req, dict):
raise Exception
if not isinstance(req_params, list):
if not isinstance(self.params, list):
raise Exception
params_in_req_body = list(req_body.keys())
for param in req_params:
params_in_req_body = list(self.req.keys())
for param in self.params:
if param not in params_in_req_body:
error_info = "缺失必需参数: {}".format(param)
raise APIReturnError(error_info=error_info, status_code=200)

2
app.py
View File

@ -3,6 +3,7 @@ from flask_cors import *
from Modules.AdminUser.UserRoutes import user_route
from Modules.Company.CompanyRoutes import company_route
from Modules.Rating.RatingRoutes import rating_route
app = Flask(__name__)
CORS(app, supports_credentials=True)
@ -11,6 +12,7 @@ app.config['JSON_SORT_KEYS'] = False
app.register_blueprint(user_route, url_prefix='/admin/user')
app.register_blueprint(company_route, url_prefix='/admin/company')
app.register_blueprint(rating_route, url_prefix='/admin/rating')
@app.route('/admin/version')