update 企业数据相关接口

This commit is contained in:
P3ngSaM 2022-08-31 16:59:34 +08:00
parent 4159813baf
commit 3c64965b1b
19 changed files with 1039 additions and 512 deletions

View File

@ -1,429 +0,0 @@
from Company.Basic.Business.BusinessObj import BusinessInfo
from Company.CompanyUtils import CompanyUtils
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Utils.CommonUtil import CommonUtils
class BasicImpl(object):
"""基本信息"""
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
record = DB_TYC.find_single_data(
'公司背景',
'基本信息',
{'企业名称': company_name},
['基本信息']
)
if record:
record = record['基本信息']
data = dict()
data['企业ID'] = company_id
data['企业名称'] = cname
data['企业类型'] = record['companyOrgType']
data['经营状态'] = record['regStatus']
data['法定代表人'] = record['legalPersonName']
data['注册资本'] = record['regCapital']
data['实缴资本'] = record['actualCapital']
data['经营范围'] = record['businessScope']
data['社会统一信用代码'] = record['creditCode']
data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime'])
data['注册地址'] = record['regLocation']
data['登记机关'] = record['regInstitute']
data['核准日期'] = CommonUtils.time_stamp(record['approvedTime'])
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.1_工商信息",
{"企业ID": cid},
update
)
return 'success'
else:
return 'update failed'
elif len(condition['cname']):
cname = condition['cname']
cid = CompanyUtils.make_new_cid()
insert = save_data(cname=cname, cid=cid)
if insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": cname},
insert
)
return 'success'
else:
return '"new failed"'
else:
return 'parameter exception'
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
body = param['body']
try:
business = BusinessInfo()
business.cname = body['企业名称']
business.ctype = body['企业类型']
business.status = body['经营状态']
business.representative = body['法定代表人']
business.registered_capital = body['注册资本']
business.paid_capital = body['实缴资本']
business.code = body['社会统一信用代码']
business.establishment_date = body['成立日期']
business.address = body['注册地址']
business.agencies = body['登记机关']
business.approved_date = body['核准日期']
business.business_scope = body['经营范围']
business.update_time = CommonUtils.get_current_time()
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业ID": cid},
business.fields_toggle()
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
cid = kwargs['cid']
record = DB_TEST.find_single_data(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业ID": cid},
[]
)
if record:
result = {
"info": "success",
"result": record
}
else:
result = {
"info": "no result"
}
return result
def get_cid(self, **kwargs):
"""查询工商信息中的企业ID"""
name = kwargs['name']
cid = DB_TEST.find_single_column(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": name},
'企业ID'
)
if not cid:
self.auto_update(name=name)
cid = DB_TEST.find_single_column(
"WR_DataBase_v2_test",
"C3.1_工商信息",
{"企业名称": name},
'企业ID'
)
return cid
def shareholders_information(self, **kwargs):
"""股东信息"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'公司背景',
'企业股东',
{'企业名称': name},
'企业股东'
)
records = records['result']
data = dict()
list_data = list()
if records:
for record in records:
dict_data = dict()
dict_data['股东ID'] = record['id']
dict_data['股东名称'] = record['name']
dict_data['股东类型'] = '公司' if record['type'] == 1 else '' if record['type'] == 2 else '其他'
dict_data['股东性质'] = None
dict_data['持股比例'] = record['capital'][0]['percent']
dict_data['认缴出资额'] = record['capital'][0]['amomon']
dict_data['认缴出资日期'] = record['capital'][0]['time']
list_data.append(dict_data)
data['企业ID'] = cid
data['股东列表'] = list_data
data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.2_股东信息",
{"企业名称": name, '企业ID': cid},
data
)
return '导入成功'
@staticmethod
def view_shareholders(**kwargs):
"""查看工股东信息"""
cid = kwargs['cid']
record = DB_TEST.find_single_data(
"WR_DataBase_v2_test",
"C3.2_股东信息",
{"企业ID": cid},
[]
)
return record
def executive_information(self, **kwargs):
"""高管信息"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'公司背景',
'主要人员',
{'企业名称': name},
'主要人员'
)
records = records['result']
data = dict()
list_data = list()
if records:
for record in records:
dict_data = dict()
dict_data['人物ID'] = record['id']
dict_data['姓名'] = record['name']
dict_data['职务'] = record['typeJoin']
list_data.append(dict_data)
data['企业ID'] = cid
data['高管列表'] = list_data
data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.3_高管信息",
{"企业名称": name, '企业ID': cid},
data
)
return '导入成功'
@staticmethod
def view_executive(**kwargs):
"""查看高管信息"""
cid = kwargs['cid']
record = DB_TEST.find_single_data(
"WR_DataBase_v2_test",
"C3.3_高管信息",
{"企业ID": cid},
[]
)
return record
def outbound_investment(self, **kwargs):
"""对外投资"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'公司背景',
'对外投资',
{'企业名称': name},
'对外投资'
)
records = records['result']
data = dict()
list_data = list()
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = record['id']
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'] = cid
data['投资列表'] = list_data
data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.4_对外投资",
{"企业名称": name, '企业ID': cid},
data
)
return '导入成功'
@staticmethod
def view_outbound_investment(**kwargs):
"""查看对外投资"""
cid = kwargs['cid']
record = DB_TEST.find_single_data(
"WR_DataBase_v2_test",
"C3.4_对外投资",
{"企业ID": cid},
[]
)
return record
def branch_offices(self, **kwargs):
"""分支机构"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'公司背景',
'分支机构',
{'企业名称': name},
'分支机构'
)
records = records['result']
data = dict()
list_data = list()
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = record['id']
dict_data['企业名称'] = record['name']
dict_data['负责人'] = record['legalPersonName']
dict_data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime'])
dict_data['企业状态'] = record['regStatus']
dict_data['所属省份'] = CommonUtils.province_conversion(record['base'])
dict_data['所属地市'] = None
list_data.append(dict_data)
data['企业ID'] = cid
data['分支列表'] = list_data
data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C3.5_分支机构",
{"企业名称": name, '企业ID': cid},
data
)
return '导入成功'
@staticmethod
def view_branch_offices(**kwargs):
"""查看分支机构"""
cid = kwargs['cid']
record = DB_TEST.find_single_data(
"WR_DataBase_v2_test",
"C3.5_分支机构",
{"企业ID": cid},
[]
)
return record
def change_record(self, **kwargs):
"""工商变更"""
name = kwargs['name']
cid = self.get_cid(name=name)
records = DB_TYC.find_single_column(
'公司背景',
'变更记录',
{'企业名称': name},
'变更记录'
)
records = records['result']
if records:
for record in records:
dict_data = dict()
dict_data['企业ID'] = cid
dict_data['变更时间'] = record['changeTime']
dict_data['变更项目'] = record['changeItem']
dict_data['变更前'] = record['contentBefore']
dict_data['变更后'] = record['contentAfter']
dict_data['更新时间'] = CommonUtils.get_current_time()
DB_TEST.insert_single_data(
"WR_DataBase_v2_test",
"C3.6_工商变更",
dict_data
)
return '导入成功'
@staticmethod
def view_change_record(**kwargs):
"""查看工商变更"""
cid = kwargs['cid']
page_no = int(kwargs['page_no'])
page_size = int(kwargs['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
'C3.6_工商变更',
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
"C3.6_工商变更",
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_no
)
result = {
"total": total,
"records": record
}
return result

View File

@ -1,79 +0,0 @@
from flask import Blueprint, request
from Company.Basic.BasicImpl import BasicImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
basic_route = Blueprint('basic', __name__)
@basic_route.route('/investment/auto_update', methods=['GET'])
def outbound_investment_route():
"""对外投资"""
try:
RouteParamsCheck(req=request.args, params=["cname"]).required()
impl = BasicImpl()
result = impl.outbound_investment(name=request.args['cname'])
return {"info": "对外投资", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@basic_route.route('/investment/view', methods=['GET'])
def view_outbound_investment_route():
"""对外投资-查看"""
try:
RouteParamsCheck(req=request.args, params=["cid"]).required()
impl = BasicImpl()
result = impl.view_outbound_investment(cid=request.args['cid'])
return {"info": "对外投资", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@basic_route.route('/branch/auto_update', methods=['GET'])
def branch_offices_route():
"""分支机构"""
try:
RouteParamsCheck(req=request.args, params=["cname"]).required()
impl = BasicImpl()
result = impl.branch_offices(name=request.args['cname'])
return {"info": "分支机构", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@basic_route.route('/branch/view', methods=['GET'])
def view_branch_offices_route():
"""分支机构-查看"""
try:
RouteParamsCheck(req=request.args, params=["cid"]).required()
impl = BasicImpl()
result = impl.view_branch_offices(cid=request.args['cid'])
return {"info": "分支机构", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@basic_route.route('/change/auto_update', methods=['GET'])
def change_record_route():
"""工商变更"""
try:
RouteParamsCheck(req=request.args, params=["cname"]).required()
impl = BasicImpl()
result = impl.change_record(name=request.args['cname'])
return {"info": "工商变更", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@basic_route.route('/change/view', methods=['GET'])
def view_change_record_route():
"""工商变更-查看"""
try:
RouteParamsCheck(req=request.args, params=["cid", "page_no", "page_size"]).required()
impl = BasicImpl()
result = impl.view_change_record(cid=request.args['cid'], page_no=request.args['page_no'], page_size=request.args['page_size'])
return {"info": "工商变更", "result": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code

View File

@ -0,0 +1,176 @@
from Company.Basic.Business.BusinessImpl import BusinessImpl
from Company.Ip.Trademark.TrademarkObj import TrademarkObj
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Modules.TycApi.TycUtils import tm_class
from Utils.CommonUtil import CommonUtils
class TrademarkImpl(object):
"""商标信息"""
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
records = DB_TYC.find_all_data(
'知识产权',
'商标信息',
{'企业名称': company_name},
['商标信息']
)
if records:
list_data = list()
for record in records:
records_item = record['商标信息']['result']
for record_item in records_item:
dict_data = dict()
dict_data['企业ID'] = company_id
dict_data['商标名称'] = record_item['tmName']
dict_data['商标'] = record_item['tmPic']
dict_data['申请日期'] = CommonUtils.time_stamp(record_item['appDate'])
dict_data['注册号'] = record_item['regNo']
dict_data['国际分类'] = tm_class[int(record_item['tmClass']) - 1]
dict_data['商标状态'] = record_item['status']
dict_data['注册公告日期'] = CommonUtils.time_stamp(record_item['eventTime'])
dict_data['更新时间'] = CommonUtils.get_current_time()
list_data.append(dict_data)
return list_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:
for item in update:
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
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:
for item in insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
return 'success'
else:
return 'new failed'
else:
return 'parameter exception'
@staticmethod
def delete(**kwargs):
"""删除"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
res = DB_TEST.delete_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id}
)
if res:
result = {
"info": "success",
}
else:
result = {
"info": "no result"
}
return result
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
body = param['body']
try:
trade = TrademarkObj()
trade.trade_name = body['商标名称']
trade.trademark = body['商标']
trade.application_date = body['申请日期']
trade.classification = body['国际分类']
trade.status = body['商标状态']
trade.registration_date = body['注册公告日期']
trade.update_time = CommonUtils.get_current_time()
update_data = trade.fields_toggle()
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id},
update_data
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
query = kwargs['query']
cid = query['cid']
page_num = int(query['page_num'])
page_size = int(query['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
'C5.1_商标信息',
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_num
)
if record:
result = {
"info": "success",
"total": total,
"result": record
}
else:
result = {
"info": "no result"
}
return result

View File

@ -0,0 +1,27 @@
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
class TrademarkObj(SpecObject):
"""商标信息"""
cid = ValidateAttr(field='cid', type=str, length=8)
trade_name = ValidateAttr(field='trade_name', type=str)
trademark = ValidateAttr(field='trademark', type=str)
application_date = ValidateAttr(field='application_date', func=Validate.date_format)
registration_id = ValidateAttr(field='registration_id', type=str)
classification = ValidateAttr(field='classification', type=str)
status = ValidateAttr(field='status', type=str)
registration_date = ValidateAttr(field='registration_date', func=Validate.date_format)
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
fields_map = {
"cid": "企业ID",
"trade_name": "商标名称",
"trademark": "商标",
"application_date": "申请日期",
"registration_id": "注册号",
"classification": "国际分类",
"status": "商标状态",
"registration_date": "注册公告日期",
"update_time": "更新时间"
}

View File

@ -0,0 +1,55 @@
from flask import Blueprint, request
from Company.Ip.Trademark.TrademarkImpl import TrademarkImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
trademark_route = Blueprint('trademark', __name__)
@trademark_route.route('/auto_update', methods=['GET'])
def auto_update_route():
"""新增/更新(自动)"""
try:
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
impl = TrademarkImpl()
result = impl.auto_update(condition=request.args)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/delete', methods=['GET'])
def delete_route():
"""删除"""
try:
RouteParamsCheck(req=request.args, params=["cid", "registration_id"]).required()
impl = TrademarkImpl()
result = impl.delete(param=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/edit', methods=['POST'])
def edit_route():
"""编辑"""
try:
RouteParamsCheck(req=request.json, params=["cid", "registration_id", "body"]).required()
impl = TrademarkImpl()
result = impl.edit(param=request.json)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/view', methods=['GET'])
def view_route():
"""查看"""
try:
RouteParamsCheck(req=request.args, params=["cid", "page_num", "page_size"]).required()
impl = TrademarkImpl()
result = impl.view(query=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code

View File

View File

@ -0,0 +1,176 @@
from Company.Basic.Business.BusinessImpl import BusinessImpl
from Company.Ip.Trademark.TrademarkObj import TrademarkObj
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Modules.TycApi.TycUtils import tm_class
from Utils.CommonUtil import CommonUtils
class TrademarkImpl(object):
"""商标信息"""
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
records = DB_TYC.find_all_data(
'知识产权',
'商标信息',
{'企业名称': company_name},
['商标信息']
)
if records:
list_data = list()
for record in records:
records_item = record['商标信息']['result']
for record_item in records_item:
dict_data = dict()
dict_data['企业ID'] = company_id
dict_data['商标名称'] = record_item['tmName']
dict_data['商标'] = record_item['tmPic']
dict_data['申请日期'] = CommonUtils.time_stamp(record_item['appDate'])
dict_data['注册号'] = record_item['regNo']
dict_data['国际分类'] = tm_class[int(record_item['tmClass']) - 1]
dict_data['商标状态'] = record_item['status']
dict_data['注册公告日期'] = CommonUtils.time_stamp(record_item['eventTime'])
dict_data['更新时间'] = CommonUtils.get_current_time()
list_data.append(dict_data)
return list_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:
for item in update:
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
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:
for item in insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
return 'success'
else:
return 'new failed'
else:
return 'parameter exception'
@staticmethod
def delete(**kwargs):
"""删除"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
res = DB_TEST.delete_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id}
)
if res:
result = {
"info": "success",
}
else:
result = {
"info": "no result"
}
return result
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
body = param['body']
try:
trade = TrademarkObj()
trade.trade_name = body['商标名称']
trade.trademark = body['商标']
trade.application_date = body['申请日期']
trade.classification = body['国际分类']
trade.status = body['商标状态']
trade.registration_date = body['注册公告日期']
trade.update_time = CommonUtils.get_current_time()
update_data = trade.fields_toggle()
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id},
update_data
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
query = kwargs['query']
cid = query['cid']
page_num = int(query['page_num'])
page_size = int(query['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
'C5.1_商标信息',
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_num
)
if record:
result = {
"info": "success",
"total": total,
"result": record
}
else:
result = {
"info": "no result"
}
return result

View File

@ -0,0 +1,27 @@
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
class TrademarkObj(SpecObject):
"""商标信息"""
cid = ValidateAttr(field='cid', type=str, length=8)
trade_name = ValidateAttr(field='trade_name', type=str)
trademark = ValidateAttr(field='trademark', type=str)
application_date = ValidateAttr(field='application_date', func=Validate.date_format)
registration_id = ValidateAttr(field='registration_id', type=str)
classification = ValidateAttr(field='classification', type=str)
status = ValidateAttr(field='status', type=str)
registration_date = ValidateAttr(field='registration_date', func=Validate.date_format)
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
fields_map = {
"cid": "企业ID",
"trade_name": "商标名称",
"trademark": "商标",
"application_date": "申请日期",
"registration_id": "注册号",
"classification": "国际分类",
"status": "商标状态",
"registration_date": "注册公告日期",
"update_time": "更新时间"
}

View File

@ -0,0 +1,55 @@
from flask import Blueprint, request
from Company.Ip.Trademark.TrademarkImpl import TrademarkImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
trademark_route = Blueprint('trademark', __name__)
@trademark_route.route('/auto_update', methods=['GET'])
def auto_update_route():
"""新增/更新(自动)"""
try:
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
impl = TrademarkImpl()
result = impl.auto_update(condition=request.args)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/delete', methods=['GET'])
def delete_route():
"""删除"""
try:
RouteParamsCheck(req=request.args, params=["cid", "registration_id"]).required()
impl = TrademarkImpl()
result = impl.delete(param=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/edit', methods=['POST'])
def edit_route():
"""编辑"""
try:
RouteParamsCheck(req=request.json, params=["cid", "registration_id", "body"]).required()
impl = TrademarkImpl()
result = impl.edit(param=request.json)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/view', methods=['GET'])
def view_route():
"""查看"""
try:
RouteParamsCheck(req=request.args, params=["cid", "page_num", "page_size"]).required()
impl = TrademarkImpl()
result = impl.view(query=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code

View File

View File

@ -0,0 +1,176 @@
from Company.Basic.Business.BusinessImpl import BusinessImpl
from Company.Ip.Trademark.TrademarkObj import TrademarkObj
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Modules.TycApi.TycUtils import tm_class
from Utils.CommonUtil import CommonUtils
class TrademarkImpl(object):
"""商标信息"""
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
records = DB_TYC.find_all_data(
'知识产权',
'商标信息',
{'企业名称': company_name},
['商标信息']
)
if records:
list_data = list()
for record in records:
records_item = record['商标信息']['result']
for record_item in records_item:
dict_data = dict()
dict_data['企业ID'] = company_id
dict_data['商标名称'] = record_item['tmName']
dict_data['商标'] = record_item['tmPic']
dict_data['申请日期'] = CommonUtils.time_stamp(record_item['appDate'])
dict_data['注册号'] = record_item['regNo']
dict_data['国际分类'] = tm_class[int(record_item['tmClass']) - 1]
dict_data['商标状态'] = record_item['status']
dict_data['注册公告日期'] = CommonUtils.time_stamp(record_item['eventTime'])
dict_data['更新时间'] = CommonUtils.get_current_time()
list_data.append(dict_data)
return list_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:
for item in update:
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
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:
for item in insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
return 'success'
else:
return 'new failed'
else:
return 'parameter exception'
@staticmethod
def delete(**kwargs):
"""删除"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
res = DB_TEST.delete_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id}
)
if res:
result = {
"info": "success",
}
else:
result = {
"info": "no result"
}
return result
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
body = param['body']
try:
trade = TrademarkObj()
trade.trade_name = body['商标名称']
trade.trademark = body['商标']
trade.application_date = body['申请日期']
trade.classification = body['国际分类']
trade.status = body['商标状态']
trade.registration_date = body['注册公告日期']
trade.update_time = CommonUtils.get_current_time()
update_data = trade.fields_toggle()
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id},
update_data
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
query = kwargs['query']
cid = query['cid']
page_num = int(query['page_num'])
page_size = int(query['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
'C5.1_商标信息',
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_num
)
if record:
result = {
"info": "success",
"total": total,
"result": record
}
else:
result = {
"info": "no result"
}
return result

View File

@ -0,0 +1,27 @@
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
class TrademarkObj(SpecObject):
"""商标信息"""
cid = ValidateAttr(field='cid', type=str, length=8)
trade_name = ValidateAttr(field='trade_name', type=str)
trademark = ValidateAttr(field='trademark', type=str)
application_date = ValidateAttr(field='application_date', func=Validate.date_format)
registration_id = ValidateAttr(field='registration_id', type=str)
classification = ValidateAttr(field='classification', type=str)
status = ValidateAttr(field='status', type=str)
registration_date = ValidateAttr(field='registration_date', func=Validate.date_format)
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
fields_map = {
"cid": "企业ID",
"trade_name": "商标名称",
"trademark": "商标",
"application_date": "申请日期",
"registration_id": "注册号",
"classification": "国际分类",
"status": "商标状态",
"registration_date": "注册公告日期",
"update_time": "更新时间"
}

View File

@ -0,0 +1,55 @@
from flask import Blueprint, request
from Company.Ip.Trademark.TrademarkImpl import TrademarkImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
trademark_route = Blueprint('trademark', __name__)
@trademark_route.route('/auto_update', methods=['GET'])
def auto_update_route():
"""新增/更新(自动)"""
try:
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
impl = TrademarkImpl()
result = impl.auto_update(condition=request.args)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/delete', methods=['GET'])
def delete_route():
"""删除"""
try:
RouteParamsCheck(req=request.args, params=["cid", "registration_id"]).required()
impl = TrademarkImpl()
result = impl.delete(param=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/edit', methods=['POST'])
def edit_route():
"""编辑"""
try:
RouteParamsCheck(req=request.json, params=["cid", "registration_id", "body"]).required()
impl = TrademarkImpl()
result = impl.edit(param=request.json)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/view', methods=['GET'])
def view_route():
"""查看"""
try:
RouteParamsCheck(req=request.args, params=["cid", "page_num", "page_size"]).required()
impl = TrademarkImpl()
result = impl.view(query=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code

View File

View File

@ -0,0 +1,176 @@
from Company.Basic.Business.BusinessImpl import BusinessImpl
from Company.Ip.Trademark.TrademarkObj import TrademarkObj
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
from Modules.TycApi.TycUtils import tm_class
from Utils.CommonUtil import CommonUtils
class TrademarkImpl(object):
"""商标信息"""
@staticmethod
def auto_update(**kwargs):
"""新增/更新(自动)"""
condition = kwargs['condition']
def save_data(**args):
"""查询保存数据"""
company_name = args['cname']
company_id = args['cid']
records = DB_TYC.find_all_data(
'知识产权',
'商标信息',
{'企业名称': company_name},
['商标信息']
)
if records:
list_data = list()
for record in records:
records_item = record['商标信息']['result']
for record_item in records_item:
dict_data = dict()
dict_data['企业ID'] = company_id
dict_data['商标名称'] = record_item['tmName']
dict_data['商标'] = record_item['tmPic']
dict_data['申请日期'] = CommonUtils.time_stamp(record_item['appDate'])
dict_data['注册号'] = record_item['regNo']
dict_data['国际分类'] = tm_class[int(record_item['tmClass']) - 1]
dict_data['商标状态'] = record_item['status']
dict_data['注册公告日期'] = CommonUtils.time_stamp(record_item['eventTime'])
dict_data['更新时间'] = CommonUtils.get_current_time()
list_data.append(dict_data)
return list_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:
for item in update:
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
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:
for item in insert:
DB_TEST.upsert_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": item['注册号']},
item
)
return 'success'
else:
return 'new failed'
else:
return 'parameter exception'
@staticmethod
def delete(**kwargs):
"""删除"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
res = DB_TEST.delete_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id}
)
if res:
result = {
"info": "success",
}
else:
result = {
"info": "no result"
}
return result
@staticmethod
def edit(**kwargs):
"""编辑"""
param = kwargs['param']
cid = param['cid']
registration_id = param['registration_id']
body = param['body']
try:
trade = TrademarkObj()
trade.trade_name = body['商标名称']
trade.trademark = body['商标']
trade.application_date = body['申请日期']
trade.classification = body['国际分类']
trade.status = body['商标状态']
trade.registration_date = body['注册公告日期']
trade.update_time = CommonUtils.get_current_time()
update_data = trade.fields_toggle()
DB_TEST.update_single_data(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid, "注册号": registration_id},
update_data
)
return 'success'
except Exception:
return 'edit failed'
@staticmethod
def view(**kwargs):
"""查看"""
query = kwargs['query']
cid = query['cid']
page_num = int(query['page_num'])
page_size = int(query['page_size'])
page_size = 10 if page_size > 10 else page_size
total = DB_TEST.find_all_data_with_count(
'WR_DataBase_v2_test',
'C5.1_商标信息',
{"企业ID": cid}
)
record = DB_TEST.find_data_by_page_with_sort(
"WR_DataBase_v2_test",
"C5.1_商标信息",
{"企业ID": cid},
[],
{'_id': 1},
page_size,
page_num
)
if record:
result = {
"info": "success",
"total": total,
"result": record
}
else:
result = {
"info": "no result"
}
return result

View File

@ -0,0 +1,27 @@
from Utils.ObjUtil import SpecObject
from Utils.ValidateUtil import ValidateAttr, Validate
class TrademarkObj(SpecObject):
"""商标信息"""
cid = ValidateAttr(field='cid', type=str, length=8)
trade_name = ValidateAttr(field='trade_name', type=str)
trademark = ValidateAttr(field='trademark', type=str)
application_date = ValidateAttr(field='application_date', func=Validate.date_format)
registration_id = ValidateAttr(field='registration_id', type=str)
classification = ValidateAttr(field='classification', type=str)
status = ValidateAttr(field='status', type=str)
registration_date = ValidateAttr(field='registration_date', func=Validate.date_format)
update_time = ValidateAttr(field='update_time', func=Validate.time_format)
fields_map = {
"cid": "企业ID",
"trade_name": "商标名称",
"trademark": "商标",
"application_date": "申请日期",
"registration_id": "注册号",
"classification": "国际分类",
"status": "商标状态",
"registration_date": "注册公告日期",
"update_time": "更新时间"
}

View File

@ -0,0 +1,55 @@
from flask import Blueprint, request
from Company.Ip.Trademark.TrademarkImpl import TrademarkImpl
from Utils.ErrorUtil import APIReturnError
from Utils.RouteUtil import RouteParamsCheck
trademark_route = Blueprint('trademark', __name__)
@trademark_route.route('/auto_update', methods=['GET'])
def auto_update_route():
"""新增/更新(自动)"""
try:
RouteParamsCheck(req=request.args, params=["cname", "cid"]).required()
impl = TrademarkImpl()
result = impl.auto_update(condition=request.args)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/delete', methods=['GET'])
def delete_route():
"""删除"""
try:
RouteParamsCheck(req=request.args, params=["cid", "registration_id"]).required()
impl = TrademarkImpl()
result = impl.delete(param=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/edit', methods=['POST'])
def edit_route():
"""编辑"""
try:
RouteParamsCheck(req=request.json, params=["cid", "registration_id", "body"]).required()
impl = TrademarkImpl()
result = impl.edit(param=request.json)
return {"info": result}
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code
@trademark_route.route('/view', methods=['GET'])
def view_route():
"""查看"""
try:
RouteParamsCheck(req=request.args, params=["cid", "page_num", "page_size"]).required()
impl = TrademarkImpl()
result = impl.view(query=request.args)
return result
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code

View File

11
app.py
View File

@ -1,7 +1,7 @@
from flask import Flask
from flask_cors import *
from Company.Basic.BasicRoutes import basic_route
# 基本信息
from Company.Basic.Branch.BranchRoute import branch_route
from Company.Basic.Business.BusinessRoute import business_route
from Company.Basic.Change.ChangeRoute import change_route
@ -9,7 +9,8 @@ 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.Common.CommonRoutes import common_route
from Company.Ip.IpRoutes import ip_route
# 知识产权
from Company.Ip.Trademark.TrademarkRoute import trademark_route
from Company.Judicial.JudicialRiskRoutes import judicial_risk_route
from Company.Operational.OperationalRoutes import operational_route
from Company.Supervision.SupervisionRoutes import supervision_route
@ -39,14 +40,16 @@ app.register_blueprint(questionnaire_route, url_prefix='/rating/questionnaire')
app.register_blueprint(filters_route, url_prefix='/rating/data_filters')
app.register_blueprint(file_route, url_prefix='/rating/obj_file')
app.register_blueprint(tyc_route, url_prefix='/rating/tyc_api')
# 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(shareholder_route, url_prefix='/data/manage/company/basic/shareholder')
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(branch_route, url_prefix='/data/manage/company/basic/branch')
app.register_blueprint(change_route, url_prefix='/data/manage/company/basic/change')
app.register_blueprint(ip_route, url_prefix='/data/manage/company/ip')
# 知识产权
app.register_blueprint(trademark_route, url_prefix='/data/manage/company/ip/trademark')
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(supervision_route, url_prefix='/data/manage/company/regulatory_risk')