2022-05-25 02:58:06 +08:00
|
|
|
from flask import Blueprint, request
|
|
|
|
|
|
|
|
from Modules.AdminUser.UserAuthUtils import verify_token
|
|
|
|
from Modules.Company.CompanyImpl import BasicBusinessInfoImpl
|
2022-06-09 17:04:44 +08:00
|
|
|
from Modules.Company.CompanyManageImpl import CompanyManageImpl
|
|
|
|
from Utils.ErrorUtil import AttrCheckError, APIReturnError
|
|
|
|
from Utils.RouteUtil import RouteParamsCheck
|
2022-05-25 02:58:06 +08:00
|
|
|
|
|
|
|
company_route = Blueprint('company', __name__)
|
|
|
|
|
|
|
|
|
|
|
|
@company_route.route('/create', methods=['POST'])
|
2022-05-26 14:35:09 +08:00
|
|
|
@verify_token
|
2022-05-25 02:58:06 +08:00
|
|
|
def create_route(**kwargs):
|
|
|
|
"""新增公司"""
|
2022-05-26 03:39:35 +08:00
|
|
|
try:
|
|
|
|
file = request.files['file']
|
|
|
|
impl = BasicBusinessInfoImpl()
|
|
|
|
impl.parse_excel_and_create_company(file)
|
2022-06-14 17:02:00 +08:00
|
|
|
return {"info": "新增成功"}, 200
|
2022-05-26 03:39:35 +08:00
|
|
|
except AssertionError as e:
|
|
|
|
return {"info": e.__str__()}, 202
|
|
|
|
except AttrCheckError as e:
|
2022-05-26 14:35:09 +08:00
|
|
|
return {"info": e.__str__()}, 202
|
2022-06-09 17:04:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
@company_route.route('/search', methods=['GET'])
|
|
|
|
@verify_token
|
|
|
|
def search_route(**kwargs):
|
|
|
|
"""公司搜索"""
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(request.args, ["company_name", "page_size", "page_no"]).required()
|
|
|
|
|
|
|
|
company_name = request.args["company_name"]
|
|
|
|
page_size = request.args["page_size"]
|
|
|
|
page_no = request.args["page_no"]
|
|
|
|
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
|
|
|
|
result = impl.search(
|
|
|
|
company_name=company_name,
|
|
|
|
page_size=page_size,
|
|
|
|
page_no=page_no
|
|
|
|
)
|
|
|
|
|
|
|
|
return {"info": "公司搜索", "result": result}, 200
|
|
|
|
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
2022-06-14 17:02:00 +08:00
|
|
|
@company_route.route('business_info', methods=['GET', 'POST'])
|
|
|
|
@verify_token
|
|
|
|
def business_info_route(**kwargs):
|
|
|
|
"""经营信息"""
|
|
|
|
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(request.json, ["cid", "客户信息", "区域分布", "行业分布", "担保金额分布"]).required()
|
|
|
|
data = request.json
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
result = impl.business_data(data=data)
|
|
|
|
return {"info": "经营信息", "result": result}, 200
|
|
|
|
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
2022-06-09 17:04:44 +08:00
|
|
|
@company_route.route('/basic_data', methods=['GET'])
|
|
|
|
@verify_token
|
|
|
|
def basic_data_route(**kwargs):
|
|
|
|
"""基本信息"""
|
|
|
|
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(request.args, ["cid"]).required()
|
|
|
|
|
|
|
|
cid = request.args["cid"]
|
|
|
|
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
|
|
|
|
result = impl.basic_data(cid=cid)
|
|
|
|
|
|
|
|
return {"info": "基本信息", "result": result}, 200
|
|
|
|
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-06-10 10:48:59 +08:00
|
|
|
|
|
|
|
|
|
|
|
@company_route.route('/financial_data', methods=['GET'])
|
|
|
|
@verify_token
|
|
|
|
def financial_data_route(**kwargs):
|
|
|
|
"""财务数据"""
|
|
|
|
|
|
|
|
try:
|
|
|
|
RouteParamsCheck(request.args, ["cid"]).required()
|
|
|
|
|
|
|
|
cid = request.args["cid"]
|
|
|
|
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
|
|
|
|
result = impl.financial_data(cid=cid)
|
|
|
|
|
|
|
|
return {"info": "财务数据", "result": result}, 200
|
|
|
|
|
2022-06-10 13:08:05 +08:00
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
|
|
|
|
|
|
|
|
2022-06-13 09:39:34 +08:00
|
|
|
@company_route.route('/guarantee_info', methods=['GET', 'POST'])
|
2022-06-10 13:08:05 +08:00
|
|
|
@verify_token
|
|
|
|
def guarantee_info_route(**kwargs):
|
|
|
|
"""担保信息"""
|
|
|
|
|
|
|
|
try:
|
2022-06-10 14:11:53 +08:00
|
|
|
|
2022-06-13 09:39:34 +08:00
|
|
|
if request.method == "GET":
|
|
|
|
RouteParamsCheck(request.args, ["cid"]).required()
|
|
|
|
cid = request.args["cid"]
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
result = impl.guarantee_info(cid=cid)
|
|
|
|
return {"info": "担保信息", "result": result}, 200
|
2022-06-10 13:08:05 +08:00
|
|
|
|
2022-06-13 09:39:34 +08:00
|
|
|
if request.method == "POST":
|
2022-06-13 10:25:00 +08:00
|
|
|
|
2022-06-13 09:39:34 +08:00
|
|
|
RouteParamsCheck(
|
|
|
|
request.json,
|
|
|
|
[
|
2022-06-13 10:25:00 +08:00
|
|
|
"项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)", "解除金额(万元)",
|
|
|
|
"责任担保余额(万元)", "担保开始日期", "担保结束日期", "省份", "地级市", "行业"
|
2022-06-13 09:39:34 +08:00
|
|
|
]
|
|
|
|
).required()
|
2022-06-10 13:08:05 +08:00
|
|
|
|
2022-06-10 10:48:59 +08:00
|
|
|
except APIReturnError as e:
|
2022-06-10 14:11:53 +08:00
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-06-10 17:01:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
@company_route.route('/repay', methods=['GET', 'POST'])
|
|
|
|
@verify_token
|
|
|
|
def repay_route(**kwargs):
|
|
|
|
"""代偿信息"""
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
if request.method == "GET":
|
|
|
|
RouteParamsCheck(request.args, ["gid"]).required()
|
|
|
|
gid = request.args["gid"]
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
result = impl.get_repay(gid=gid)
|
|
|
|
return {"info": "担保信息", "result": result}, 200
|
|
|
|
|
|
|
|
if request.method == "POST":
|
|
|
|
RouteParamsCheck(
|
|
|
|
request.json,
|
|
|
|
[
|
|
|
|
"project_name", "repay_amount", "repay_recycle_amount", "repay_date"
|
|
|
|
]
|
|
|
|
).required()
|
|
|
|
|
|
|
|
project_name = request.json["project_name"]
|
|
|
|
repay_amount = request.json["repay_amount"]
|
|
|
|
repay_recycle_amount = request.json["repay_recycle_amount"]
|
|
|
|
repay_date = request.json["repay_date"]
|
|
|
|
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
impl.edit_repay(
|
|
|
|
project_name=project_name,
|
|
|
|
repay_amount=repay_amount,
|
|
|
|
repay_recycle_amount=repay_recycle_amount,
|
|
|
|
repay_date=repay_date,
|
|
|
|
)
|
|
|
|
return {"info": "担保信息", "result": "操作成功"}, 200
|
|
|
|
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|
2022-06-13 10:25:00 +08:00
|
|
|
|
|
|
|
|
2022-06-13 10:30:13 +08:00
|
|
|
@company_route.route('/ratings', methods=['GET'])
|
2022-06-13 10:25:00 +08:00
|
|
|
@verify_token
|
|
|
|
def rating_records_route(**kwargs):
|
|
|
|
"""评级记录"""
|
|
|
|
|
|
|
|
try:
|
|
|
|
if request.method == "GET":
|
2022-06-13 10:30:13 +08:00
|
|
|
RouteParamsCheck(request.args, ["cid", "page_no", "page_size"]).required()
|
|
|
|
cid = kwargs["cid"]
|
|
|
|
page_no = kwargs["page_no"]
|
|
|
|
page_size = kwargs["page_size"]
|
|
|
|
result = CompanyManageImpl.get_rating_records(
|
|
|
|
cid=cid,
|
|
|
|
page_no=page_no,
|
|
|
|
page_size=page_size
|
|
|
|
)
|
2022-06-13 10:25:00 +08:00
|
|
|
return {"info": "评级记录", "result": result}
|
|
|
|
|
|
|
|
except APIReturnError as e:
|
|
|
|
return {"info": e.__str__()}, e.status_code
|