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

96 lines
3.7 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-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-21 16:23:41 +08:00
@score_model_route.route('/search_score_model', methods=['POST'])
def search_score_model_route():
"""搜索打分模型"""
2022-06-23 16:44:09 +08:00
try:
2022-07-21 16:23:41 +08:00
RouteParamsCheck(request.json, ["sort", "page_no", "page_size"]).required()
data = request.json
ipml = ScoreModelImpl()
2022-07-21 16:23:41 +08:00
result = ipml.search_score_model(data=data)
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-21 16:23:41 +08:00
RouteParamsCheck(request.json, ["company", "model_name", "level_setting", "dimension"]).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
2022-07-21 16:23:41 +08:00
@score_model_route.route('/operate_score_model', methods=['GET', 'POST'])
def operate_score_model_route():
"""操作打分模型"""
try:
if request.method == 'GET':
RouteParamsCheck(request.args, ["mid"]).required()
mid = request.args['mid']
ipml = ScoreModelImpl()
result = ipml.view_score_model(mid=mid)
return {"info": "查看模型", "result": result}, 200
if request.method == 'POST':
RouteParamsCheck(request.json, ["model_id", "model_name", "level_setting", "dimension", "author", "tags"]).required()
data = request.json
ipml = ScoreModelImpl()
model = ipml.new_score_model(data=data)
result = ipml.eidt_score_model(model=model, model_id=data['model_id'])
return {"info": "编辑打分模型", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@score_model_route.route('/lock_score_model', methods=['GET'])
def lock_score_model_route():
"""锁定打分模型"""
try:
RouteParamsCheck(request.args, ["mid"]).required()
mid = request.args["mid"]
impl = ScoreModelImpl()
result = impl.lock_score_model(mid=mid)
return {"info": "锁定打分模型", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@score_model_route.route('/delete_score_model', methods=['GET'])
def delete_score_model_route():
"""删除模型"""
try:
RouteParamsCheck(request.args, ["mid"]).required()
mid = request.args["mid"]
impl = ScoreModelImpl()
result = impl.delete_score_model(mid=mid)
return {"info": "删除打分模型", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code