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
|
|
|
|
|
2022-06-27 16:08:03 +08:00
|
|
|
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'])
|
2022-06-27 16:08:03 +08:00
|
|
|
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
|
2022-06-27 16:08:03 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2022-06-27 16:08:03 +08:00
|
|
|
@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()
|
2022-06-27 16:08:03 +08:00
|
|
|
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)
|
2022-06-27 16:08:03 +08:00
|
|
|
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-06-27 16:08:03 +08:00
|
|
|
@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
|
2022-06-27 16:08:03 +08:00
|
|
|
ipml = ScoreModelImpl()
|
2022-07-07 15:28:39 +08:00
|
|
|
model = ipml.new_score_model(data=data)
|
|
|
|
result = ipml.check_score_model(model=model, company=data['company'])
|
2022-06-27 16:08:03 +08:00
|
|
|
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-07 15:28:39 +08:00
|
|
|
|
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
|