api-datamanager/Modules/Models/Score/ScoreRoutes.py

64 lines
2.4 KiB
Python
Raw Normal View History

2022-06-23 16:44:09 +08:00
from flask import Blueprint, request
2022-07-05 10:46:00 +08:00
from Modules.Models.Score.ScoreImpl import ScoreModelImpl
2022-07-12 10:28:05 +08:00
from Modules.Models.Score.ScoreUtils import ScoreModelUtils
2022-06-23 16:44:09 +08:00
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
score_model_route = Blueprint('score_model', __name__)
2022-06-23 16:44:09 +08:00
2022-07-12 10:28:05 +08:00
@score_model_route.route('/score_model_id', methods=['GET'])
def score_model_id_route():
"""新建模型id"""
try:
impl = ScoreModelUtils()
result = impl.make_new_cid()
return {"info": "新增打分模型ID", "模型ID": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@score_model_route.route('/search_score_model', methods=['GET'])
def search_score_model_route():
"""搜索打分模型"""
2022-06-23 16:44:09 +08:00
try:
RouteParamsCheck(request.args, ["model_name", "page_no", "page_size"]).required()
model_name = request.args['model_name']
page_size = request.args['page_size']
page_no = request.args['page_no']
ipml = ScoreModelImpl()
result = ipml.search_score_model(model_name=model_name, page_size=page_size, page_no=page_no)
return {"info": "打分模型搜索", "result": result}, 200
2022-06-23 16:44:09 +08:00
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@score_model_route.route('/new_score_model', methods=['POST'])
def new_score_model_route():
"""构建打分模型"""
2022-06-23 16:44:09 +08:00
try:
2022-07-04 10:13:52 +08:00
RouteParamsCheck(request.json, ["model_name", "level_setting", "dimension", "author", "tags"]).required()
data = request.json
ipml = ScoreModelImpl()
2022-07-05 10:46:00 +08:00
model = ipml.new_score_model(data=data)
result = ipml.save_score_model(model=model)
return {"info": "构建打分模型", "result": result}, 200
2022-06-23 16:44:09 +08:00
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@score_model_route.route('check_score_model', methods=['POST'])
def check_score_model_route():
"""校验打分模型"""
2022-06-23 16:44:09 +08:00
try:
2022-07-12 10:28:05 +08:00
RouteParamsCheck(request.json, ["company", "model_name", "level_setting", "dimension", "author", "tags"]).required()
2022-06-23 16:44:09 +08:00
data = request.json
ipml = ScoreModelImpl()
model = ipml.new_score_model(data=data)
result = ipml.check_score_model(model=model, company=data['company'])
return {"info": "校验打分模型", "result": result}, 200
2022-06-23 16:44:09 +08:00
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code