89 lines
2.3 KiB
Python
89 lines
2.3 KiB
Python
from flask import Blueprint, request
|
|
|
|
from Modules.AdminUser.UserAuthUtils import verify_token
|
|
from Modules.Company.CompanyImpl import BasicBusinessInfoImpl
|
|
from Modules.Company.CompanyManageImpl import CompanyManageImpl
|
|
from Utils.ErrorUtil import AttrCheckError, APIReturnError
|
|
from Utils.RouteUtil import RouteParamsCheck
|
|
|
|
company_route = Blueprint('company', __name__)
|
|
|
|
|
|
@company_route.route('/create', methods=['POST'])
|
|
@verify_token
|
|
def create_route(**kwargs):
|
|
"""新增公司"""
|
|
try:
|
|
file = request.files['file']
|
|
impl = BasicBusinessInfoImpl()
|
|
impl.parse_excel_and_create_company(file)
|
|
return "success"
|
|
except AssertionError as e:
|
|
return {"info": e.__str__()}, 202
|
|
except AttrCheckError as e:
|
|
return {"info": e.__str__()}, 202
|
|
|
|
|
|
@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
|
|
|
|
|
|
@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
|
|
|
|
|
|
@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
|
|
|
|
except APIReturnError as e:
|
|
return {"info": e.__str__()}, e.status_code |