update 企业数据相关接口
This commit is contained in:
parent
fdf645dc0c
commit
3a5d210827
|
@ -64,7 +64,14 @@ class BusinessImpl(object):
|
||||||
return 'update failed'
|
return 'update failed'
|
||||||
elif len(condition['cname']):
|
elif len(condition['cname']):
|
||||||
cname = condition['cname']
|
cname = condition['cname']
|
||||||
cid = CompanyUtils.make_new_cid()
|
cid = DB_TEST.find_single_column(
|
||||||
|
'WR_DataBase_v2_test',
|
||||||
|
'C3.1_工商信息',
|
||||||
|
{'企业名称': cname},
|
||||||
|
'企业ID'
|
||||||
|
)
|
||||||
|
if not cid:
|
||||||
|
cid = CompanyUtils.make_new_cid()
|
||||||
insert = save_data(cname=cname, cid=cid)
|
insert = save_data(cname=cname, cid=cid)
|
||||||
if insert:
|
if insert:
|
||||||
DB_TEST.upsert_single_data(
|
DB_TEST.upsert_single_data(
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from flask import Blueprint, request
|
from flask import Blueprint, request
|
||||||
|
|
||||||
from Company.Basic.BasicImpl import BasicImpl
|
from Company.Basic.Business.BusinessImpl import BusinessImpl
|
||||||
from Utils.ErrorUtil import APIReturnError
|
from Utils.ErrorUtil import APIReturnError
|
||||||
from Utils.RouteUtil import RouteParamsCheck
|
from Utils.RouteUtil import RouteParamsCheck
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ def basic_information_route():
|
||||||
"""工商信息-新增/更新(自动)"""
|
"""工商信息-新增/更新(自动)"""
|
||||||
try:
|
try:
|
||||||
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
|
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
|
||||||
impl = BasicImpl()
|
impl = BusinessImpl()
|
||||||
result = impl.auto_update(condition=request.args)
|
result = impl.auto_update(condition=request.args)
|
||||||
return {"info": result}
|
return {"info": result}
|
||||||
except APIReturnError as e:
|
except APIReturnError as e:
|
||||||
|
@ -24,7 +24,7 @@ def edit_basic_information_route():
|
||||||
"""工商信息-编辑"""
|
"""工商信息-编辑"""
|
||||||
try:
|
try:
|
||||||
RouteParamsCheck(req=request.json, params=["cid", "body"]).required()
|
RouteParamsCheck(req=request.json, params=["cid", "body"]).required()
|
||||||
impl = BasicImpl()
|
impl = BusinessImpl()
|
||||||
result = impl.edit(param=request.json)
|
result = impl.edit(param=request.json)
|
||||||
return {"info": result}
|
return {"info": result}
|
||||||
except APIReturnError as e:
|
except APIReturnError as e:
|
||||||
|
@ -36,7 +36,7 @@ def view_basic_information_route():
|
||||||
"""工商信息-查看"""
|
"""工商信息-查看"""
|
||||||
try:
|
try:
|
||||||
RouteParamsCheck(req=request.args, params=["cid"]).required()
|
RouteParamsCheck(req=request.args, params=["cid"]).required()
|
||||||
impl = BasicImpl()
|
impl = BusinessImpl()
|
||||||
result = impl.view(cid=request.args['cid'])
|
result = impl.view(cid=request.args['cid'])
|
||||||
return result
|
return result
|
||||||
except APIReturnError as e:
|
except APIReturnError as e:
|
||||||
|
|
|
@ -94,7 +94,7 @@ class ExecutivesImpl(object):
|
||||||
)
|
)
|
||||||
return 'success'
|
return 'success'
|
||||||
else:
|
else:
|
||||||
return '"new failed"'
|
return 'new failed'
|
||||||
else:
|
else:
|
||||||
return 'parameter exception'
|
return 'parameter exception'
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,205 @@
|
||||||
|
from Company.Basic.Business.BusinessImpl import BusinessImpl
|
||||||
|
from Company.Basic.Investment.InvestmentObj import InvestmentList
|
||||||
|
from Company.Basic.Shareholder.ShareholderObj import ShareholderList
|
||||||
|
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
|
||||||
|
from Utils.CommonUtil import CommonUtils
|
||||||
|
|
||||||
|
|
||||||
|
class InvestmentImpl(object):
|
||||||
|
"""股东信息"""
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def auto_update(**kwargs):
|
||||||
|
"""新增/更新(自动)"""
|
||||||
|
condition = kwargs['condition']
|
||||||
|
|
||||||
|
def save_data(**args):
|
||||||
|
"""查询保存数据"""
|
||||||
|
|
||||||
|
def search_cid(name):
|
||||||
|
"""根据股东名称查询cid"""
|
||||||
|
cid_record = DB_TEST.find_single_column(
|
||||||
|
'WR_DataBase_v2_test',
|
||||||
|
'C3.1_工商信息',
|
||||||
|
{'企业名称': name},
|
||||||
|
'企业名称'
|
||||||
|
)
|
||||||
|
if cid_record:
|
||||||
|
return cid_record
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
|
company_name = args['cname']
|
||||||
|
company_id = args['cid']
|
||||||
|
records = DB_TYC.find_single_column(
|
||||||
|
'公司背景',
|
||||||
|
'对外投资',
|
||||||
|
{'企业名称': company_name},
|
||||||
|
'对外投资'
|
||||||
|
)
|
||||||
|
if records:
|
||||||
|
records = records['result']
|
||||||
|
data = dict()
|
||||||
|
list_data = list()
|
||||||
|
for record in records:
|
||||||
|
dict_data = dict()
|
||||||
|
dict_data['企业ID'] = search_cid(record['name'])
|
||||||
|
dict_data['企业名称'] = record['name']
|
||||||
|
dict_data['法定代表人'] = record['legalPersonName']
|
||||||
|
dict_data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime'])
|
||||||
|
dict_data['企业状态'] = record['regStatus']
|
||||||
|
dict_data['投资金额'] = record['amount']
|
||||||
|
dict_data['投资比例'] = record['percent']
|
||||||
|
dict_data['控股情况'] = None
|
||||||
|
dict_data['所属行业'] = record['category']
|
||||||
|
dict_data['所属省份'] = CommonUtils.province_conversion(record['base'])
|
||||||
|
dict_data['所属地市'] = None
|
||||||
|
list_data.append(dict_data)
|
||||||
|
data['企业ID'] = company_id
|
||||||
|
data['投资列表'] = list_data
|
||||||
|
data['更新时间'] = CommonUtils.get_current_time()
|
||||||
|
return data
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
if len(condition['cid']):
|
||||||
|
cid = condition['cid']
|
||||||
|
cname = DB_TEST.find_single_column(
|
||||||
|
'WR_DataBase_v2_test',
|
||||||
|
'C3.1_工商信息',
|
||||||
|
{'企业ID': cid},
|
||||||
|
'企业名称'
|
||||||
|
)
|
||||||
|
update = save_data(cname=cname, cid=cid)
|
||||||
|
if update:
|
||||||
|
DB_TEST.update_single_data(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
{"企业ID": cid},
|
||||||
|
update
|
||||||
|
)
|
||||||
|
return 'success'
|
||||||
|
else:
|
||||||
|
return 'update failed'
|
||||||
|
elif len(condition['cname']):
|
||||||
|
cname = condition['cname']
|
||||||
|
cid = DB_TEST.find_single_column(
|
||||||
|
'WR_DataBase_v2_test',
|
||||||
|
'C3.1_工商信息',
|
||||||
|
{'企业名称': cname},
|
||||||
|
'企业ID'
|
||||||
|
)
|
||||||
|
if not cid:
|
||||||
|
cid = BusinessImpl.auto_update(condition={"cname": cname, "cid": ""})
|
||||||
|
insert = save_data(cname=cname, cid=cid)
|
||||||
|
if insert:
|
||||||
|
DB_TEST.upsert_single_data(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
{"企业名称": cname},
|
||||||
|
insert
|
||||||
|
)
|
||||||
|
return 'success'
|
||||||
|
else:
|
||||||
|
return 'new failed'
|
||||||
|
else:
|
||||||
|
return 'parameter exception'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def delete(**kwargs):
|
||||||
|
"""删除"""
|
||||||
|
param = kwargs['param']
|
||||||
|
cid = param['cid']
|
||||||
|
cname = param['cname']
|
||||||
|
|
||||||
|
res = DB_TEST.delete_single_data_in_array(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
{"企业ID": cid},
|
||||||
|
{"投资列表": {"企业名称": cname}}
|
||||||
|
)
|
||||||
|
|
||||||
|
if res:
|
||||||
|
result = {
|
||||||
|
"info": "success",
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
result = {
|
||||||
|
"info": "no result"
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def edit(**kwargs):
|
||||||
|
"""编辑"""
|
||||||
|
param = kwargs['param']
|
||||||
|
cid = param['cid']
|
||||||
|
body = param['body']
|
||||||
|
name = param['cname']
|
||||||
|
try:
|
||||||
|
investment = InvestmentList()
|
||||||
|
investment.cid = body['企业ID']
|
||||||
|
investment.cname = body['企业名称']
|
||||||
|
investment.representative = body['法定代表人']
|
||||||
|
investment.establishment_date = body['成立日期']
|
||||||
|
investment.status = body['企业状态']
|
||||||
|
investment.investment_amount = body['投资金额']
|
||||||
|
investment.investment_percentage = body['投资比例']
|
||||||
|
investment.holdings = body['控股情况']
|
||||||
|
investment.industry = body['所属行业']
|
||||||
|
investment.province = body['所属省份']
|
||||||
|
investment.city = body['所属地市']
|
||||||
|
update_data = investment.fields_toggle()
|
||||||
|
DB_TEST.update_single_data_in_array(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
{"企业ID": cid},
|
||||||
|
{"投资列表": {"企业名称": name}},
|
||||||
|
update_data
|
||||||
|
)
|
||||||
|
time_update = {"更新时间": CommonUtils.get_current_time()}
|
||||||
|
DB_TEST.update_single_data(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
{"企业ID": cid},
|
||||||
|
time_update
|
||||||
|
)
|
||||||
|
return 'success'
|
||||||
|
except Exception:
|
||||||
|
return 'edit failed'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def view(**kwargs):
|
||||||
|
"""查看"""
|
||||||
|
query = kwargs['query']
|
||||||
|
cid = query['cid']
|
||||||
|
page_size = int(query['page_size'])
|
||||||
|
page_num = page_size * (int(query['page_num']) - 1)
|
||||||
|
|
||||||
|
total = DB_TEST.find_single_column(
|
||||||
|
'WR_DataBase_v2_test',
|
||||||
|
'C3.4_对外投资',
|
||||||
|
{"企业ID": cid},
|
||||||
|
'投资列表'
|
||||||
|
)
|
||||||
|
|
||||||
|
record = DB_TEST.find_data_with_aggregate(
|
||||||
|
"WR_DataBase_v2_test",
|
||||||
|
"C3.4_对外投资",
|
||||||
|
[
|
||||||
|
{"$match": {"企业ID": cid}},
|
||||||
|
{"$project": {'_id': 0, '投资列表': {"$slice": ["${}".format('投资列表'), page_num, page_size]}}}
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
if record:
|
||||||
|
result = {
|
||||||
|
"info": "success",
|
||||||
|
"total": len(total),
|
||||||
|
"result": record[0]['投资列表']
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
result = {
|
||||||
|
"info": "no result"
|
||||||
|
}
|
||||||
|
return result
|
|
@ -0,0 +1,44 @@
|
||||||
|
from Utils.ObjUtil import SpecObject
|
||||||
|
from Utils.ValidateUtil import ValidateAttr, Validate
|
||||||
|
|
||||||
|
|
||||||
|
class InvestmentList(SpecObject):
|
||||||
|
"""投资列表"""
|
||||||
|
cid = ValidateAttr(field="cid", type=str, default=None)
|
||||||
|
cname = ValidateAttr(field="cname", type=str)
|
||||||
|
representative = ValidateAttr(field="representative", type=str)
|
||||||
|
establishment_date = ValidateAttr(field="establishment_date", func=Validate.date_format)
|
||||||
|
status = ValidateAttr(field="status", type=str)
|
||||||
|
investment_amount = ValidateAttr(field="investment_amount", type=[float, int, str])
|
||||||
|
investment_percentage = ValidateAttr(field="investment_percentage", type=str, default=None)
|
||||||
|
holdings = ValidateAttr(field="holdings", type=str, default=None)
|
||||||
|
industry = ValidateAttr(field="industry", type=str)
|
||||||
|
province = ValidateAttr(field="province", type=str)
|
||||||
|
city = ValidateAttr(field="city", type=str, default=None)
|
||||||
|
|
||||||
|
fields_map = {
|
||||||
|
"cid": "企业ID",
|
||||||
|
"cname": "企业名称",
|
||||||
|
"representative": "法定代表人",
|
||||||
|
"establishment_date": "成立日期",
|
||||||
|
"status": "企业状态",
|
||||||
|
"investment_amount": "投资金额",
|
||||||
|
"investment_percentage": "投资比例",
|
||||||
|
"holdings": "控股情况",
|
||||||
|
"industry": "所属行业",
|
||||||
|
"province": "所属省份",
|
||||||
|
"city": "所属地市",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ShareholderObj(SpecObject):
|
||||||
|
"""股东信息"""
|
||||||
|
cid = ValidateAttr(field='cid', type=str, length=8)
|
||||||
|
investment_list = ValidateAttr(field='investment_list', instance_list=InvestmentList)
|
||||||
|
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
|
||||||
|
|
||||||
|
fields_map = {
|
||||||
|
"cid": "企业ID",
|
||||||
|
"investment_list": "投资列表",
|
||||||
|
"update_time": "更新时间"
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
from flask import Blueprint, request
|
||||||
|
|
||||||
|
from Company.Basic.Investment.InvestmentImpl import InvestmentImpl
|
||||||
|
from Utils.ErrorUtil import APIReturnError
|
||||||
|
from Utils.RouteUtil import RouteParamsCheck
|
||||||
|
|
||||||
|
investment_route = Blueprint('investment', __name__)
|
||||||
|
|
||||||
|
|
||||||
|
@investment_route.route('/auto_update', methods=['GET'])
|
||||||
|
def auto_update_route():
|
||||||
|
"""新增/更新(自动)"""
|
||||||
|
try:
|
||||||
|
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
|
||||||
|
impl = InvestmentImpl()
|
||||||
|
result = impl.auto_update(condition=request.args)
|
||||||
|
return {"info": result}
|
||||||
|
except APIReturnError as e:
|
||||||
|
return {"info": e.__str__()}, e.status_code
|
||||||
|
|
||||||
|
|
||||||
|
@investment_route.route('/delete', methods=['GET'])
|
||||||
|
def delete_route():
|
||||||
|
"""删除"""
|
||||||
|
try:
|
||||||
|
RouteParamsCheck(req=request.args, params=["cid", "cname"]).required()
|
||||||
|
impl = InvestmentImpl()
|
||||||
|
result = impl.delete(param=request.args)
|
||||||
|
return result
|
||||||
|
except APIReturnError as e:
|
||||||
|
return {"info": e.__str__()}, e.status_code
|
||||||
|
|
||||||
|
|
||||||
|
@investment_route.route('/edit', methods=['POST'])
|
||||||
|
def edit_route():
|
||||||
|
"""编辑"""
|
||||||
|
try:
|
||||||
|
RouteParamsCheck(req=request.json, params=["cid", "cname", "body"]).required()
|
||||||
|
impl = InvestmentImpl()
|
||||||
|
result = impl.edit(param=request.json)
|
||||||
|
return {"info": result}
|
||||||
|
except APIReturnError as e:
|
||||||
|
return {"info": e.__str__()}, e.status_code
|
||||||
|
|
||||||
|
|
||||||
|
@investment_route.route('/view', methods=['GET'])
|
||||||
|
def view_route():
|
||||||
|
"""查看"""
|
||||||
|
try:
|
||||||
|
RouteParamsCheck(req=request.args, params=["cid", "page_num", "page_size"]).required()
|
||||||
|
impl = InvestmentImpl()
|
||||||
|
result = impl.view(query=request.args)
|
||||||
|
return result
|
||||||
|
except APIReturnError as e:
|
||||||
|
return {"info": e.__str__()}, e.status_code
|
|
@ -97,7 +97,7 @@ class ShareholderImpl(object):
|
||||||
)
|
)
|
||||||
return 'success'
|
return 'success'
|
||||||
else:
|
else:
|
||||||
return '"new failed"'
|
return 'new failed'
|
||||||
else:
|
else:
|
||||||
return 'parameter exception'
|
return 'parameter exception'
|
||||||
|
|
||||||
|
|
4
app.py
4
app.py
|
@ -4,6 +4,7 @@ from flask_cors import *
|
||||||
from Company.Basic.BasicRoutes import basic_route
|
from Company.Basic.BasicRoutes import basic_route
|
||||||
from Company.Basic.Business.BusinessRoute import business_route
|
from Company.Basic.Business.BusinessRoute import business_route
|
||||||
from Company.Basic.Executives.ExecutivesRoute import executives_route
|
from Company.Basic.Executives.ExecutivesRoute import executives_route
|
||||||
|
from Company.Basic.Investment.InvestmentRoute import investment_route
|
||||||
from Company.Basic.Shareholder.ShareholderRoute import shareholder_route
|
from Company.Basic.Shareholder.ShareholderRoute import shareholder_route
|
||||||
from Company.Common.CommonRoutes import common_route
|
from Company.Common.CommonRoutes import common_route
|
||||||
from Company.Ip.IpRoutes import ip_route
|
from Company.Ip.IpRoutes import ip_route
|
||||||
|
@ -36,10 +37,11 @@ app.register_blueprint(questionnaire_route, url_prefix='/rating/questionnaire')
|
||||||
app.register_blueprint(filters_route, url_prefix='/rating/data_filters')
|
app.register_blueprint(filters_route, url_prefix='/rating/data_filters')
|
||||||
app.register_blueprint(file_route, url_prefix='/rating/obj_file')
|
app.register_blueprint(file_route, url_prefix='/rating/obj_file')
|
||||||
app.register_blueprint(tyc_route, url_prefix='/rating/tyc_api')
|
app.register_blueprint(tyc_route, url_prefix='/rating/tyc_api')
|
||||||
app.register_blueprint(basic_route, url_prefix='/data/manage/company/basic')
|
# app.register_blueprint(basic_route, url_prefix='/data/manage/company/basic')
|
||||||
app.register_blueprint(business_route, url_prefix='/data/manage/company/basic/business_info')
|
app.register_blueprint(business_route, url_prefix='/data/manage/company/basic/business_info')
|
||||||
app.register_blueprint(shareholder_route, url_prefix='/data/manage/company/basic/shareholder')
|
app.register_blueprint(shareholder_route, url_prefix='/data/manage/company/basic/shareholder')
|
||||||
app.register_blueprint(executives_route, url_prefix='/data/manage/company/basic/executive')
|
app.register_blueprint(executives_route, url_prefix='/data/manage/company/basic/executive')
|
||||||
|
app.register_blueprint(investment_route, url_prefix='/data/manage/company/basic/investment')
|
||||||
app.register_blueprint(ip_route, url_prefix='/data/manage/company/ip')
|
app.register_blueprint(ip_route, url_prefix='/data/manage/company/ip')
|
||||||
app.register_blueprint(judicial_risk_route, url_prefix='/data/manage/company/judicial_risk')
|
app.register_blueprint(judicial_risk_route, url_prefix='/data/manage/company/judicial_risk')
|
||||||
app.register_blueprint(operational_route, url_prefix='/data/manage/company/operational_risk')
|
app.register_blueprint(operational_route, url_prefix='/data/manage/company/operational_risk')
|
||||||
|
|
Loading…
Reference in New Issue