Merge branch 'v0.21' into 'master'
V0.21 See merge request root/tfse_admin!32
This commit is contained in:
commit
47ac0538a2
|
@ -71,7 +71,7 @@ class CompanyIndexApiImpl(CompanyIndexApi):
|
|||
|
||||
head_info = CompanyIndexApi.HeadInfo()
|
||||
update_time = CompanyIndexApi.UpdateTime()
|
||||
basic_info = CompanyIndexApi
|
||||
basic_info = CompanyIndexApi.BasicInfo()
|
||||
financial_data = CompanyIndexApi
|
||||
operating_risk = CompanyIndexApi
|
||||
financial_analysis = CompanyIndexApi
|
||||
|
@ -110,3 +110,24 @@ class CompanyIndexApiImpl(CompanyIndexApi):
|
|||
)
|
||||
|
||||
self.update_time.update_time = [result['更新日期'] for result in results]
|
||||
|
||||
def get_basic_info(self):
|
||||
"""获取基本工商信息"""
|
||||
if self.basic_info.__dict__.__contains__('update_time'):
|
||||
find_body = {"企业ID": self.basic_info.cid, "更新时间.工商信息": self.basic_info.update_time}
|
||||
else:
|
||||
find_body = {"企业ID": self.basic_info.cid}
|
||||
|
||||
result = self.db.find_single_data(
|
||||
"企业数据",
|
||||
"企业数据_更新汇总",
|
||||
find_body,
|
||||
["工商信息", "股东信息", "主要成员"]
|
||||
)
|
||||
|
||||
if not result:
|
||||
result = {'工商信息': {}, "股东信息": {}, "主要成员": {}}
|
||||
|
||||
self.basic_info.business_info = self.dict_to_set(instance=self.basic_info.BusinessInfo, data=result['工商信息'])
|
||||
self.basic_info.share_holder = self.instance_list_to_set(instance_list_type=self.basic_info.ShareHolder, data=result['股东信息'])
|
||||
self.basic_info.main_member = self.instance_list_to_set(instance_list_type=self.basic_info.MainMember, data=result['主要成员'])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
from Utils.ObjUtil import SpecObject
|
||||
from Utils.ValidateUtil import ValidateAttr
|
||||
from Utils.ValidateUtil import ValidateAttr, Validate
|
||||
|
||||
|
||||
class SearchCompanyApi(SpecObject):
|
||||
|
@ -141,6 +141,89 @@ class CompanyIndexApi(SpecObject):
|
|||
"update_time": "update_time"
|
||||
}
|
||||
|
||||
class BasicInfo(SpecObject):
|
||||
|
||||
class BusinessInfo(SpecObject):
|
||||
"""基本工商信息"""
|
||||
|
||||
status = ValidateAttr(field="status", type=str, default=None)
|
||||
legal_person = ValidateAttr(field="legal_person", type=str, default=None)
|
||||
company_type = ValidateAttr(field="company_type", type=str, default=None)
|
||||
taxpayer_id = ValidateAttr(field="taxpayer_id", type=str, default=None)
|
||||
business_scope = ValidateAttr(field="business_scope", type=str, default=None)
|
||||
registered_capital = ValidateAttr(field="registered_capital", type=str, default=None)
|
||||
paid_capital = ValidateAttr(field="paid_capital", type=str, default=None)
|
||||
registered_address = ValidateAttr(field="registered_address", type=str, default=None)
|
||||
registration_authority = ValidateAttr(field="registration_authority", type=str, default=None)
|
||||
industry = ValidateAttr(field="industry", type=str, default=None)
|
||||
staff_size = ValidateAttr(field="staff_size", type=str, default=None)
|
||||
people_insured_num = ValidateAttr(field="people_insured_num", type=int, default=None)
|
||||
micro_company = ValidateAttr(field="micro_company", type=str, in_list=["是", "否"], default=None)
|
||||
|
||||
fields_map = {
|
||||
"status": "企业状态",
|
||||
"legal_person": "法定代表人",
|
||||
"company_type": "企业类型",
|
||||
"taxpayer_id": "纳税人识别号",
|
||||
"business_scope": "经营范围",
|
||||
"registered_capital": "注册资本",
|
||||
"paid_capital": "实缴资本",
|
||||
"registered_address": "注册地址",
|
||||
"registration_authority": "登记机关",
|
||||
"industry": "行业",
|
||||
"staff_size": "人员规模",
|
||||
"people_insured_num": "参保人数",
|
||||
"micro_company": "小微企业"
|
||||
}
|
||||
|
||||
class ShareHolder(SpecObject):
|
||||
"""股东信息"""
|
||||
|
||||
name = ValidateAttr(field='name', type=str)
|
||||
share_holder_type = ValidateAttr(field='share_holder_type', type=str, default=None)
|
||||
share_holding_ratio = ValidateAttr(field="share_holding_ratio", type=str, default=None)
|
||||
subscription_amount = ValidateAttr(field="subscription_amount", type=str, default=None)
|
||||
subscription_date = ValidateAttr(field="subscription_date", type=str, default=None)
|
||||
paid_amount = ValidateAttr(field="paid_amount", type=list, default=[])
|
||||
payment_method = ValidateAttr(field="payment_method", type=list, default=[])
|
||||
payment_time = ValidateAttr(field="payment_time", type=list, default=[])
|
||||
|
||||
fields_map = {
|
||||
"name": "股东",
|
||||
"share_holder_type": "股东类型",
|
||||
"share_holding_ratio": "持股比例",
|
||||
"subscription_amount": "认缴金额",
|
||||
"subscription_date": "认缴日期",
|
||||
"paid_amount": "实缴金额",
|
||||
"payment_method": "实缴方式",
|
||||
"payment_time": "实缴时间"
|
||||
}
|
||||
|
||||
class MainMember(SpecObject):
|
||||
"""主要成员"""
|
||||
|
||||
name = ValidateAttr(field="name", type=str)
|
||||
job_title = ValidateAttr(field="job_title", type=list, default=None)
|
||||
|
||||
fields_map = {
|
||||
"name": "姓名",
|
||||
"job_title": "职务"
|
||||
}
|
||||
|
||||
cid = ValidateAttr(field='cid', type=str, length=8)
|
||||
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
|
||||
business_info = ValidateAttr(field="business_info", type=BusinessInfo)
|
||||
share_holder = ValidateAttr(field='share_holder', instance_list=ShareHolder)
|
||||
main_member = ValidateAttr(field='main_member', instance_list=MainMember)
|
||||
|
||||
fields_map = {
|
||||
"cid": "企业ID",
|
||||
"update_time": "更新时间",
|
||||
"business_info": "工商信息",
|
||||
"share_holder": "股东信息",
|
||||
"main_member": "主要成员"
|
||||
}
|
||||
|
||||
def get_head_info(self):
|
||||
"""头部信息"""
|
||||
|
||||
|
|
|
@ -83,6 +83,23 @@ def update_time_route(**kwargs):
|
|||
return {"info": e.failed_info}, e.status_code
|
||||
|
||||
|
||||
@company_route.route('/basic_info', methods=['POST'])
|
||||
@verify_token
|
||||
def basic_info_route(**kwargs):
|
||||
""""""
|
||||
try:
|
||||
req = request.json
|
||||
impl = CompanyIndexApiImpl()
|
||||
impl.basic_info.cid = req['cid']
|
||||
if req.__contains__('update_time'):
|
||||
impl.basic_info.update_time = req['update_time']
|
||||
impl.get_basic_info()
|
||||
result = impl.basic_info.dict_to_show(columns=["工商信息", "股东信息", "主要成员"])
|
||||
return result, 200
|
||||
except ReturnConditionCheckFailed as e:
|
||||
return {"info": e.failed_info}, e.status_code
|
||||
|
||||
|
||||
@company_route.route('/index', methods=['POST'])
|
||||
@verify_token
|
||||
def index_route(**kwargs):
|
||||
|
|
|
@ -52,8 +52,24 @@ class SpecObject(object):
|
|||
|
||||
return _dict_
|
||||
|
||||
# def dict_to_post(self, **kwargs):
|
||||
# if kwargs.__contains__('data'):
|
||||
# fields_map = dict([v, k] for k, v in self.fields_map.items())
|
||||
# for field in list(kwargs['data'].keys()):
|
||||
# self.__setattr__(fields_map[field], kwargs['data'][field])
|
||||
@staticmethod
|
||||
def dict_to_set(**kwargs):
|
||||
"""实例设值"""
|
||||
instance = kwargs['instance']()
|
||||
fields_map = dict([v, k] for k, v in instance.fields_map.items())
|
||||
for field in list(kwargs['data'].keys()):
|
||||
instance.__setattr__(fields_map[field], kwargs['data'][field])
|
||||
return instance
|
||||
|
||||
@staticmethod
|
||||
def instance_list_to_set(**kwargs):
|
||||
"""实例数组设值"""
|
||||
list_ = list()
|
||||
for item in list(kwargs['data']):
|
||||
instance = kwargs['instance_list_type']()
|
||||
fields_map = dict([v, k] for k, v in instance.fields_map.items())
|
||||
for field in list(item.keys()):
|
||||
instance.__setattr__(fields_map[field], item[field])
|
||||
list_.append(instance)
|
||||
|
||||
return list_
|
||||
|
|
|
@ -20,6 +20,13 @@ class Validate(object):
|
|||
case = (len(param) >= 8) and (re.match(regex, param) is not None)
|
||||
return True if case else False
|
||||
|
||||
@staticmethod
|
||||
def time_format(param):
|
||||
"""yyyy-mm-dd hh:mm:ss"""
|
||||
regex = "\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}"
|
||||
case = re.match(regex, param) is not None
|
||||
return True if case else False
|
||||
|
||||
@staticmethod
|
||||
def image(param):
|
||||
""""""
|
||||
|
|
Loading…
Reference in New Issue