Commit 2370d495 by dong

fix20230220

parent 3a387437
......@@ -98,6 +98,7 @@ def creat_app(config_name):
from apps.manage import api_power
from apps.inves_manage import api_manage
# from apps.view_mobile import api_mobile
from apps.view_xiaocx import api_xiaocx
app.register_blueprint(api_user, url_prefix='/api/user')
app.register_blueprint(api_radar, url_prefix='/api/radar') # 产业招商雷达
......@@ -110,5 +111,6 @@ def creat_app(config_name):
app.register_blueprint(api_power, url_prefix="/api/power")
app.register_blueprint(api_manage, url_prefix="/api/manage")
# app.register_blueprint(api_mobile, url_prefix="/api/mobile")
app.register_blueprint(api_xiaocx, url_prefix="/api/xiaocx")
return app
......@@ -152,6 +152,7 @@ class Company(db.Model):
__tablename__ = "company"
id = db.Column(db.Integer, primary_key=True, autoincrement=True, doc='企业主键id', comment='企业主键id') # 企业
company_name = db.Column(db.String(255), doc='企业名', comment='企业名') # 企业名
chain_master = db.Column(db.String(20), doc='链主企业', comment='链主企业')
status = db.Column(db.String(32), doc='经营状态', comment='经营状态') # 经营状态
legal = db.Column(db.String(32), doc='法定代表人', comment='法定代表人') # 法定代表人
capital = db.Column(db.String(255), doc='注册资本,22万美元', comment='注册资本,22万美元') # 注册资本,22万美元
......@@ -611,8 +612,9 @@ class Project(BaseModel, db.Model):
project_stage_id = db.Column(db.Integer, doc='项目阶段id:落地项目为1,招商项目为2', comment='项目阶段id:落地项目为1,招商项目为2')
name = db.Column(db.String(255), doc='工程名', comment='工程名') # 一.工程名
district = db.Column(db.String(255), doc='区县名称', comment='区县名称') # 二.县区
type = db.Column(db.String(255), doc='工程类型', comment='工程类型') # 三.(1)工程类型
money = db.Column(db.String(255), doc='项目投资金额', comment='项目投资金额') # 三.(2)项目投资金额
attract_industry = db.Column(db.String(255), doc='招引业态', comment='招引业态') # 三.(2)项目投资金额
type = db.Column(db.String(255), doc='工程类型', comment='工程类型') # 三.(1)工程类型
background = db.Column(db.Text, doc='项目背景', comment='项目背景') # 三.(3)项目背景
content = db.Column(db.Text, doc='项目的具体内容', comment='项目的具体内容') # 三.(4)项目的具体内容
way = db.Column(db.Text, doc='拟引资方式及内容', comment='拟引资方式及内容') # 四.拟引资方式及内容
......@@ -916,103 +918,209 @@ class Lab(db.Model):
developarea = db.Column(db.String(255)) # 所在开发区
# # 产业载体-土地数据
# class ZaitiLand(db.Model):
# __tablename_ = "zaiti_land"
# __table_args__ = ({'comment': '产业载体-土地数据表'}) # 添加表注释
# id = db.Column(db.Integer, primary_key=True, autoincrement=True)
# num = db.Column(db.String(20))
# name = db.Column(db.String(20))
# addr = db.Column(db.String(50))
# nature = db.Column(db.String(20))
# acreage = db.Column(db.String(50))
# target = db.Column(db.String(255))
# age_limit = db.Column(db.String(20))
# industry_type = db.Column(db.String(255))
# telephone = db.Column(db.String(20))
# navigator = db.Column(db.String(10))
# navigat = db.Column(db.String(20))
#
#
# # 产业载体-楼宇数据
# class ZaitiBuild(db.Model):
# __tablename_ = "zaiti_build"
# __table_args__ = ({'comment': '产业载体-楼宇数据表'}) # 添加表注释
# id = db.Column(db.Integer, primary_key=True, autoincrement=True)
# name = db.Column(db.String(20))
# addr = db.Column(db.String(50))
# acreage = db.Column(db.String(50))
# buide_type = db.Column(db.String(20))
# industry_type = db.Column(db.String(255))
# rate = db.Column(db.String(20))
# telephone = db.Column(db.String(20))
# navigator = db.Column(db.String(10))
# navigat = db.Column(db.String(20))
#
#
# # 产业载体-厂房数据
# class ZaitiFactory(db.Model):
# __tablename_ = "zaiti_factory"
# __table_args__ = ({'comment': '产业载体-厂房数据表'}) # 添加表注释
# id = db.Column(db.Integer, primary_key=True, autoincrement=True)
# name = db.Column(db.String(20))
# addr = db.Column(db.String(50))
# acreage = db.Column(db.String(50))
# structure = db.Column(db.String(20))
# height = db.Column(db.String(20))
# bearing = db.Column(db.String(50))
# new_level = db.Column(db.String(20))
# other = db.Column(db.String(255))
# industry_type = db.Column(db.String(20))
# factory_type = db.Column(db.String(20))
# telephone = db.Column(db.String(20))
# navigator = db.Column(db.String(10))
# navigat = db.Column(db.String(20))
""""""
# 产业载体-土地数据
class ZaitiLand(db.Model):
__tablename_ = "zaiti_land"
__table_args__ = ({'comment': '产业载体-土地数据表'}) # 添加表注释
__table_args__ = ({'comment': '产业载体-土地数据表'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
num = db.Column(db.String(20))
name = db.Column(db.String(20))
addr = db.Column(db.String(50))
nature = db.Column(db.String(20))
acreage = db.Column(db.String(50))
target = db.Column(db.String(255))
age_limit = db.Column(db.String(20))
industry_type = db.Column(db.String(255))
telephone = db.Column(db.String(20))
navigator = db.Column(db.String(10))
navigat = db.Column(db.String(20))
name = db.Column(db.String(20), comment='土地名称')
lng = db.Column(db.String(50), comment='经度')
lat = db.Column(db.String(50), comment='维度')
code = db.Column(db.String(20), comment='土地编码')
district = db.Column(db.String(50), comment='所属县区')
development_area = db.Column(db.String(20), comment='所属开发区')
location = db.Column(db.String(50), comment='土地位置')
land_use = db.Column(db.String(255), comment='用地四至')
nature = db.Column(db.String(20), comment='用地性质(工业用地/商服用地/物流仓储用地/科研用地/居住用地)(包括用地性质类别代码)')
area = db.Column(db.String(255), comment='用地面积(净用地面积)(公顷)')
surface_area = db.Column(db.String(20), comment='地上控制建面(㎡)')
plot_ratio = db.Column(db.String(10), comment='容积率')
greening_rate = db.Column(db.String(20), comment='绿化率')
density = db.Column(db.String(20), comment='建筑密度')
height_permitted = db.Column(db.String(20), comment='限高(㎡)')
transfer_year = db.Column(db.String(20), comment='出让年限')
develop_degree = db.Column(db.String(20), comment='用地开发程度(请详细描述几通一平)')
investment_intensity = db.Column(db.String(20), comment='投资强度(万元/亩)')
output_intensity = db.Column(db.String(20), comment='产出强度(万元/亩)')
tax = db.Column(db.String(20), comment='地均税收(万元/亩)')
linkman = db.Column(db.String(20), comment='联系人')
telephone = db.Column(db.String(20), comment='联系方式')
red_line_map = db.Column(db.String(20), comment='用地红线图')
other_requirements = db.Column(db.String(20), comment='其他要求')
# 产业载体-楼宇数据
class ZaitiBuild(db.Model):
__tablename_ = "zaiti_build"
__table_args__ = ({'comment': '产业载体-楼宇数据表'}) # 添加表注释
__table_args__ = ({'comment': '产业载体-楼宇数据表'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(20))
addr = db.Column(db.String(50))
acreage = db.Column(db.String(50))
buide_type = db.Column(db.String(20))
industry_type = db.Column(db.String(255))
rate = db.Column(db.String(20))
telephone = db.Column(db.String(20))
navigator = db.Column(db.String(10))
navigat = db.Column(db.String(20))
name = db.Column(db.String(20), comment='楼宇名称')
lng = db.Column(db.String(50), comment='经度')
lat = db.Column(db.String(50), comment='维度')
district = db.Column(db.String(50), comment='所属县区')
development_area = db.Column(db.String(50), comment='所属开发区')
buide_type = db.Column(db.String(20), comment='楼宇类型(商铺/写字楼/其他)')
level = db.Column(db.String(255), comment='写字楼等级(甲/乙/其他)')
address = db.Column(db.String(20), comment='详细地址(地址需填写准确、详细、精准)')
build_time = db.Column(db.String(20), comment='建成时间(年)')
land_area = db.Column(db.String(10), comment='总占地面积(㎡)')
build_area = db.Column(db.String(20), comment='总建筑面积(㎡)')
single_area = db.Column(db.String(20), comment='单层面积(㎡)')
empty_area = db.Column(db.String(20), comment='闲置面积(㎡)')
layer_num = db.Column(db.Integer, comment='总层数')
carport = db.Column(db.Integer, comment='车位(个)')
elevator = db.Column(db.Integer, comment='电梯(部)')
is_water = db.Column(db.String(20), comment='是否已通水(是/否)')
is_electric = db.Column(db.String(20), comment='是否已通电(是/否)')
is_warm = db.Column(db.String(20), comment='是否已通暖(是/否)')
is_gas = db.Column(db.String(20), comment='是否已通燃气(是/否)')
is_internet = db.Column(db.String(20), comment='是否已通网络(是/否)')
is_divide = db.Column(db.String(20), comment='是否可以分割(是/否)')
attract_industry = db.Column(db.String(20), comment='拟招引产业')
cooperation_model = db.Column(db.String(20), comment='合作模式(出租/出售/转让)')
rent = db.Column(db.String(20), comment='租金(元/平米/天)')
property_fee = db.Column(db.String(20), comment='物业费(元/平米/月)')
linkman = db.Column(db.String(20), comment='联系人')
telephone = db.Column(db.String(20), comment='联系方式')
build_pic = db.Column(db.String(20), comment='楼宇图片')
# 产业载体-楼宇数据
# 产业载体-厂房数据
class ZaitiFactory(db.Model):
__tablename_ = "zaiti_factory"
__table_args__ = ({'comment': '产业载体-厂房数据表'}) # 添加表注释
__table_args__ = ({'comment': '产业载体-厂房数据表'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.String(20))
addr = db.Column(db.String(50))
acreage = db.Column(db.String(50))
structure = db.Column(db.String(20))
height = db.Column(db.String(20))
bearing = db.Column(db.String(50))
new_level = db.Column(db.String(20))
other = db.Column(db.String(255))
industry_type = db.Column(db.String(20))
factory_type = db.Column(db.String(20))
telephone = db.Column(db.String(20))
navigator = db.Column(db.String(10))
navigat = db.Column(db.String(20))
name = db.Column(db.String(20), comment='厂房名称')
lng = db.Column(db.String(50), comment='经度')
lat = db.Column(db.String(50), comment='维度')
district = db.Column(db.String(50), comment='所属县区')
development_area = db.Column(db.String(50), comment='所属开发区')
buide_type = db.Column(db.String(20), comment='厂房类型(单层/多层/混合层)')
is_standard = db.Column(db.String(20), comment='是否标准化厂房(是/否)')
address = db.Column(db.String(50), comment='详细地址(地址需填写准确、详细、精准)')
build_time = db.Column(db.String(20), comment='建成时间(年)')
land_area = db.Column(db.String(20), comment='总占地面积(㎡)')
build_area = db.Column(db.String(255), comment='总建筑面积(㎡)')
empty_area = db.Column(db.String(20), comment='闲置面积(㎡)')
layer_num = db.Column(db.String(20), comment='总层数')
factory_structure = db.Column(db.String(20), comment='建筑结构(混凝土框架、钢结构、砖混、砖混钢筋、钢筋混凝土、轻钢)')
width = db.Column(db.String(10), comment='跨度(m)')
high = db.Column(db.String(20), comment='层高(m)')
bearing = db.Column(db.String(20), comment='承重(kg/㎡)')
is_water = db.Column(db.String(20), comment='是否已通水(是/否)')
is_electric = db.Column(db.String(20), comment='是否已通电(是/否)')
is_warm = db.Column(db.String(20), comment='是否已通暖(是/否)')
is_gas = db.Column(db.String(20), comment='是否已通燃气(是/否)')
is_internet = db.Column(db.String(20), comment='是否已通网络(是/否)')
is_car = db.Column(db.String(20), comment='是否可安装天车')
elevator = db.Column(db.String(20), comment='电梯(部)')
attract_industry = db.Column(db.String(20), comment='拟招引产业(下拉筛选)')
settled_enterprise = db.Column(db.String(20), comment='已入驻企业(企业全称,使用面积)')
cooperation_model = db.Column(db.String(20), comment='合作模式(出租/出售/转让)')
rent = db.Column(db.String(20), comment='租金(元/平米/天)')
linkman = db.Column(db.String(20), comment='联系人')
telephone = db.Column(db.String(20), comment='联系方式')
factory_pic = db.Column(db.String(20), comment='厂房图片')
# 雷达评估页行业在不同地区的测评分数
class EvaluationNodeData(db.Model):
__tablename_ = "evaluation_data"
__table_args__ = ({'comment': '产业招商雷达-产业评估'}) # 添加表注释
__table_args__ = ({'comment': '产业招商雷达-产业评估'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True, doc='主键id', comment='主键id')
c_type = db.Column(db.Integer, index=True, doc='行业id', comment='行业id') # 行业id
c_type = db.Column(db.Integer, index=True, doc='行业id', comment='行业id')
province = db.Column(db.String(32), index=True, doc='省份', comment='省份') # 省份
city = db.Column(db.String(32), index=True, doc='城市', comment='城市') # 城市
district = db.Column(db.String(32), index=True, doc='区域', comment='区域') # 区域
province = db.Column(db.String(32), index=True, doc='省份', comment='省份')
city = db.Column(db.String(32), index=True, doc='城市', comment='城市')
district = db.Column(db.String(32), index=True, doc='区域', comment='区域')
product = db.Column(db.String(32), index=True, doc='产品名', comment='产品名') # 产品名
score = db.Column(db.Integer, doc='综合分', comment='综合分') # 综合分
product = db.Column(db.String(32), index=True, doc='产品名', comment='产品名')
score = db.Column(db.Integer, doc='综合分', comment='综合分')
# 选址评分部分--企业聚合度
class CompanyIndustryPoint(db.Model):
__tablename_ = "company_industry_point"
__table_args__ = ({'comment': '选址评分部分--企业聚合度数据表'}) # 添加表注释
__table_args__ = ({'comment': '选址评分部分--企业聚合度数据表'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True, doc='主键id', comment='主键id')
district = db.Column(db.String(32), doc='区县园区名', comment='区县园区名') # 区县园区名
point = db.Column(db.Float, doc='分数', comment='分数') # 分数
f_type = db.Column(db.Integer, doc='类型,对应产业导航nid', comment='类型,对应产业导航nid') # 类型,对应产业导航nid
district = db.Column(db.String(32), doc='区县园区名', comment='区县园区名')
point = db.Column(db.Float, doc='分数', comment='分数')
f_type = db.Column(db.Integer, doc='类型,对应产业导航nid', comment='类型,对应产业导航nid')
# 360企业画像--下拉框内容数据表(企业类型,资质,上市状态,融资轮次)
class Property(db.Model):
__tablename_ = "property"
__table_args__ = ({'comment': '360企业画像--下拉框内容数据表'}) # 添加表注释
__table_args__ = ({'comment': '360企业画像--下拉框内容数据表'})
id = db.Column(db.Integer, primary_key=True, autoincrement=True, doc='主键id', comment='主键id')
name = db.Column(db.String(32), doc='字段名', comment='字段名') # 字段名
nid = db.Column(db.Integer, doc='字段id', comment='字段id') # 字段id
sid = db.Column(db.Integer, doc='字段类型id', comment='字段类型id') # 字段类型id 1企业类型,2企业资质,3上市状态,4融资轮次
statu = db.Column(db.Integer, doc='状态:1启动,2禁用', comment='状态:1启动,2禁用') # 状态 1启动,2禁用
name = db.Column(db.String(32), doc='字段名', comment='字段名')
nid = db.Column(db.Integer, doc='字段id', comment='字段id')
sid = db.Column(db.Integer, doc='字段类型id', comment='字段类型id')
statu = db.Column(db.Integer, doc='状态:1启动,2禁用', comment='状态:1启动,2禁用')
# 查找历史表
# class SearchList(BaseModel, db.Model):
# __tablename__ = "search_list"
# __table_args__ = ({'comment': '360企业画像--查找历史数据表'}) # 添加表注释
# __table_args__ = ({'comment': '360企业画像--查找历史数据表'})
#
# id = db.Column(db.Integer, primary_key=True, autoincrement=True, doc='主键id', comment='主键id')
# history = db.Column(db.String(128), doc='用户搜索历史', comment='用户搜索历史') # 用户搜索历史
......@@ -1831,3 +1939,45 @@ class OperationLog(db.Model):
action = db.Column(db.String(20), comment='记录"导入"的动作用于备注(每月十五号前是否进行提报导入)的是和否')
read_type = db.Column(db.Integer, comment='消息类型(用于消息提醒) 0未读,1已读,3已读状态一天后转为历史消息')
time = db.Column(db.DateTime, default='', comment='转为已读状态的时间(用于消息提醒)')
# [小程序]推介会
class IntroductionMeet(db.Model):
__tablename_ = "introduction_meet"
__table_args__ = ({'comment': '小程序-推介会数据表'}) # 添加表注释
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='主键id')
name = db.Column(db.String(20), comment='推介会名字')
time = db.Column(db.String(100), default='', comment='时间段')
organizer = db.Column(db.String(20), default='', comment='举办方')
img_url = db.Column(db.String(255), comment='推介会封面')
video_url = db.Column(db.String(255), comment='推介会介绍')
info = db.Column(db.Text, comment='推介会介绍')
# [小程序]招商资讯--数据通报、工作动态
class InvestmentInformation(db.Model):
__tablename__ = "investment_information"
__table_args__ = ({'comment': '小程序-招商资讯数据表'}) # 添加表注释
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='主键id')
name = db.Column(db.String(200), comment='招商资讯名字')
flag = db.Column(db.Integer, comment='类型 1数据通报, 2工作动态')
time = db.Column(db.String(100), default='', comment='时间段')
source = db.Column(db.String(20), default='', comment='来源')
content = db.Column(db.Text, comment='正文')
# [小程序]客户咨询信息表
class CustomerConsultation(db.Model):
__tablename__ = "customer_consultation"
__table_args__ = ({'comment': '小程序-客户咨询信息表'}) # 添加表注释
id = db.Column(db.Integer, primary_key=True, autoincrement=True, comment='主键id')
project_name = db.Column(db.String(200), comment='项目名称')
investor = db.Column(db.Integer, comment='投资方名称')
investor_place = db.Column(db.String(100), default='', comment='投资方所在地')
project_type = db.Column(db.String(200), default='', comment='项目类型')
investment_volume = db.Column(db.Text, comment='总投资额')
basic_information = db.Column(db.Text, comment='项目方基本情况')
land_area = db.Column(db.Text, comment='拟落地区域')
flag = db.Column(db.Integer, comment='是否已回复 0否1是')
reply_content = db.Column(db.Text, comment='回复内容')
......@@ -9,7 +9,7 @@ from apps.models import *
from apps.utils.response_code import RET
# from apps.utils.es_language import *
# from apps.view_carrier import api_carrier
from apps.util import verify_identity, verify_token
from apps.util import verify_identity, verify_token, login_required
from apps.view_choose import api_address
"""选址评估页面"""
......@@ -342,6 +342,7 @@ def search_build():
# 全部搜索功能
@api_address.route("/SearchAll", methods=["POST"])
@login_required
def search_all():
req_dict = request.get_json()
key_words = req_dict['key_words'] # 关键字
......
......@@ -68,12 +68,67 @@ def data_notification():
"index_5.shtml", # 第6页
"index_6.shtml", # 第7页
]
data_list1 = []
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54'}
data_list = []
for page_index in page_html_list:
url = "http://zsj.jcgov.gov.cn/sjtb/sjtb/{}".format(page_index)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54'}
try:
respose = requests.get(url, headers=headers)
respose.encoding = 'utf-8'
if respose.status_code == 200:
html_etree = etree.HTML(respose.text)
handeled_html_str = etree.tostring(html_etree).decode()
print(handeled_html_str)
content_name_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[@class="list_newstitle"]/a/text()')
content_url_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[@class="list_newstitle"]/a/@href')
time_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[2]/text()')
i = 0
for content_name in content_name_list:
data_dic = {
"content_name": content_name,
"content_url": content_url_list[i].replace('./', 'http://zsj.jcgov.gov.cn/sjtb/sjtb/'),
"time": time_list[i]
}
data_list.append(data_dic)
i += 1
continue
continue
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据库错误")
# # 存入数据库
# inform_obj = InvestmentInformation()
# for data in data_list:
# inform_obj.name = data['content_name']
# inform_obj.flag = 1
# inform_obj.time = data['time']
# inform_obj.source = data['']
# inform_obj.info = data['']
# db.session.add(inform_obj)
# db.session.commit()
return jsonify(code=RET.OK, msg="获取成功", data=data_list)
# 工作动态
@api_attract.route("/WorkTrend", methods=["GET"])
def work_trend():
page_html_list = ["index.shtml"]
for i in range(1, 25):
html_index = 'index_{}.shtml'.format(i)
page_html_list.append(html_index)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54'}
data_list = []
for page_index in page_html_list:
url = "http://zsj.jcgov.gov.cn/xwdt/zhxx/{}".format(page_index)
try:
respose = requests.get(url, headers=headers)
respose.encoding = 'utf-8'
......@@ -81,39 +136,52 @@ def data_notification():
html_etree = etree.HTML(respose.text)
# handeled_html_str = etree.tostring(html_etree).decode()
# print(handeled_html_str)
data_list = []
content_name_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[@class="list_newstitle"]/a/text()')
content_url_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[@class="list_newstitle"]/a/@href')
time_list = html_etree.xpath('//div[@class="newslist newslistdixx"]//span[2]/text()')
i = 0
for content_name in content_name_list:
data_dic = {"content_name": content_name, "content_url": content_url_list[i].replace('./', 'http://zsj.jcgov.gov.cn/sjtb/sjtb/')}
content_url = content_url_list[i].replace('./', 'http://zsj.jcgov.gov.cn/xwdt/zhxx/')
content_html = requests.get(content_url, headers=headers)
content_html.encoding = 'utf-8'
if content_html.status_code == 200:
html_etree1 = etree.HTML(content_html.text)
# handeled_html_str = etree.tostring(html_etree1).decode()
# print(handeled_html_str)
content_info_list = html_etree1.xpath(
'//div[@class="view TRS_UEDITOR trs_paper_default trs_web"]/p/text()')
content_info1 = ''
for content_info in content_info_list:
content_info1 += content_info
data_dic = {
"content_name": content_name,
"content_info": content_info1,
"time": time_list[i][1:-1]
}
data_list.append(data_dic)
i += 1
data_list1 = data_list + data_list1
continue
return jsonify(code=RET.OK, msg="获取成功", data=data_list1)
continue
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="数据库错误")
# # 存入数据库
for data in data_list:
inform_obj = InvestmentInformation()
inform_obj.name = data['content_name']
inform_obj.flag = 2
inform_obj.time = data['time']
inform_obj.source = '晋城市投资促进中心'
inform_obj.content = data['content_info']
db.session.add(inform_obj)
db.session.commit()
return jsonify(code=RET.OK, msg="获取成功", data=data_list)
def get_jjzb(district, flag):
'''经济指标数据'''
# year1 = datetime.now().year - 1
# year2 = datetime.now().year
#
# years = ''
# if year == year1:
# years = str(year) + '年'
# if year == year2:
# month = datetime.now().month
# if month == 1:
# years = str(year) + '年' + str(month) + '月'
# else:
# years = str(year) + '年1-' + str(month) + '月'
# years = '2022年1-10月'
try:
if not district or district == '晋城市':
datas = City.query.filter_by(area='晋城市', flag=flag).first()
......
from elasticsearch import Elasticsearch
from flask import g, current_app, request, jsonify, session
from sqlalchemy import or_, and_
......@@ -9,6 +10,7 @@ from apps.utils.neo4j_conn import conn_neo4j, neo4j_dict
import json
import requests
from apps import db, constants, redis_store
from apps.view_360company.view import create_body
'''本页接口使用全国企业库enterprise'''
graph = conn_neo4j()
......@@ -460,148 +462,151 @@ def attract_enterprise():
# 全国企业列表(Es)
# @api_map.route('/AttractEnterpriseEs', methods=['POST'])
# def attract_enterprise_es():
# req_dict = request.get_json()
# inid = req_dict.get("inid") # 行业id
# company_name = req_dict.get("company_name") # 产业产品名称筛选
# entype = req_dict.get("entype") # 企业类型id
# qualificat = req_dict.get("qualificat") # 企业资质id
# quoted = req_dict.get("quoted") # 上市板块(A股,1)(创业股,2)(港股,3)(新三股,4)(新四股,5)(中小板,6)
# product = req_dict.get("product") # 产业产品选择
#
# area = req_dict.get("area") # ["省","市","区"]
# province = area[0]
# city = area[1]
# district = area[2]
# page = req_dict.get("page") # 分页页码
# perpage = req_dict.get("perpage") # 分页大小
# if not all([page, perpage]):
# return jsonify(code=RET.PARAMERR, msg="参数不完整")
#
# # 页数
# if not page:
# page = 1
# page = int(page)
# page = (page - 1) * per_page
#
# args_query = dict() # 查询字段
# args_term = dict() # 条件字典
#
# args_query["company_name"] = "公司"
# # 搜索框
# if company:
# args_query["company_name"] = company
#
# if f_name:
# args_term['f_name'] = f_name
# # 公司资质
# if qualificat:
# if qualificat == 1:
# args_term['isfive'] = 1
# if qualificat == 2:
# args_term['quoted_company'] = 1
# if qualificat == 3:
# args_term['fianacing'] = 1
# if qualificat == 4:
# args_term['high_new'] = 1
# if qualificat == 5:
# args_term['tbe'] = 1
# if qualificat == 6:
# args_term['dengl'] = 1
# if qualificat == 7:
# args_term['unicorn'] = 1
# # 注册资本
# if capital_id:
# args_term['capital_id'] = capital_id
# # 上市状态
# if public_id:
# args_term['public_id'] = public_id
# # 省
# if province:
# args_term['province'] = province
# # 市
# if city:
# args_term['city'] = city
# # 区
# if district:
# args_term['district'] = district
#
# # 成立时间
# if yearid:
# args_term['yearid'] = yearid
# # 融资轮次
# if roundid:
# args_term['roundid'] = roundid
# # 企业状态
# if status:
# args_term['status'] = status
# # 企业规模
# if scale_range:
# args_term['scale_range'] = scale_range
# # 公司类型
# if entypeid:
# args_term['entypeid'] = entypeid
#
# body = create_body(page, per_page, args_query, args_term)
# if not company:
# del body["query"]["bool"]["must"][0]
#
# try:
# es = Elasticsearch([{'host': '39.100.39.50', 'port': 9200}])
#
# # data = es.search(index="jincheng_pictext_index_202301131004_a6181e52", body=body)
# data = es.search(index="jincheng_pictext_index_202302151628_bedd5ee8", body=body)
# data_list = []
# # print(data_list)
# size = data["hits"]['total']
#
# # 数据的列表添加进去
# for i in data["hits"]['hits']:
# if company:
# # 判断高亮,然后添加
# data_list.append({
# "id": i["_source"]["mysql_id"],
# "company": i["highlight"]["company_name"][0] if "company_name" in i["highlight"] else i["_source"][
# "company_name"],
# "area": i["_source"]["province"] + i["_source"]["city"] + i["_source"]["district"],
# "createtime": i["_source"]["build_date"],
# "legal": i["_source"]["legal"],
# "capital": i["_source"]["capital"],
# "entype": i["_source"]["entype"],
# "address": i["_source"]["address"],
# "telephone": i["_source"]["telephone"],
# "high_new": '高新技术企业' if i["_source"]["high_new"] == "1" else '',
# "tbe": '科技型中小企业' if i["_source"]["tbe"] == "1" else '',
# "fianacing": '融资企业' if i["_source"]["fianacing"] == "1" else '',
# "quoted_company": '上市企业' if i["_source"]["quoted_company"] == "1" else '',
# "dengl": '瞪羚企业' if i["_source"]["dengl"] == "1" else '',
# "unicorn": '独角兽企业' if i["_source"]["unicorn"] == "1" else '',
# "isfive": '500强企业' if i["_source"]["isfive"] == '1' else '',
# })
# else:
# data_list.append({
# "id": i["_source"]["mysql_id"],
# "company": i["_source"]["company_name"],
# "area": i["_source"]["province"] + i["_source"]["city"] + i["_source"]["district"],
# "createtime": i["_source"]["build_date"],
# "legal": i["_source"]["legal"],
# "capital": i["_source"]["capital"],
# "entype": i["_source"]["entype"],
# "address": i["_source"]["address"],
# "telephone": i["_source"]["telephone"],
# "high_new": '高新技术企业' if i["_source"]["high_new"] == "1" else '',
# "tbe": '科技型中小企业' if i["_source"]["tbe"] == "1" else '',
# "fianacing": '融资企业' if i["_source"]["fianacing"] == "1" else '',
# "quoted_company": '上市企业' if i["_source"]["quoted_company"] == "1" else '',
# "dengl": '瞪羚企业' if i["_source"]["dengl"] == "1" else '',
# "unicorn": '独角兽企业' if i["_source"]["unicorn"] == "1" else '',
# "isfive": '500强企业' if i["_source"]["isfive"] == '1' else '',
# })
# except Exception as e:
# current_app.logger.error(e)
# return jsonify(code=RET.DBERR, msg="es数据库错误")
# data = {
# "data": data_list, "size": size
# }
# return jsonify(code=RET.OK, msg="查找成功", data=data)
\ No newline at end of file
@api_map.route('/AttractEnterpriseEs', methods=['POST'])
def attract_enterprise_es():
req_dict = request.get_json()
inid = req_dict.get("inid") # 行业id
company_name = req_dict.get("company_name") # 产业产品名称筛选
entype = req_dict.get("entype") # 企业类型id
qualificat = req_dict.get("qualificat") # 企业资质id
quoted = req_dict.get("quoted") # 上市板块(A股,1)(创业股,2)(港股,3)(新三股,4)(新四股,5)(中小板,6)
product = req_dict.get("product") # 产业产品选择
area = req_dict.get("area") # ["省","市","区"]
province = area[0]
city = area[1]
district = area[2]
page = req_dict.get("page") # 分页页码
perpage = req_dict.get("perpage") # 分页大小
if not all([page, perpage]):
return jsonify(code=RET.PARAMERR, msg="参数不完整")
# 页数
if not page:
page = 1
page = int(page)
page = (page - 1) * perpage
args_query = dict() # 查询字段
args_term = dict() # 条件字典
args_query["company_name"] = "公司"
# 搜索框
if company_name:
args_query["company_name"] = company_name
if inid:
args_term['c_type'] = inid
if entype:
args_term['entype'] = entype
if quoted:
args_term['public_id'] = quoted
if product:
args_term['product'] = product
# 公司资质
if qualificat:
if qualificat == 1:
args_term['isfive'] = 1
if qualificat == 2:
args_term['quoted_company'] = 1
if qualificat == 3:
args_term['fianacing'] = 1
if qualificat == 4:
args_term['high_new'] = 1
if qualificat == 5:
args_term['tbe'] = 1
if qualificat == 6:
args_term['dengl'] = 1
if qualificat == 7:
args_term['unicorn'] = 1
# 省
if province:
args_term['province'] = province
# 市
if city:
args_term['city'] = city
# 区
if district:
args_term['district'] = district
# # 成立时间
# if yearid:
# args_term['yearid'] = yearid
# # 融资轮次
# if roundid:
# args_term['roundid'] = roundid
# # 企业状态
# if status:
# args_term['status'] = status
# # 企业规模
# if scale_range:
# args_term['scale_range'] = scale_range
# # 公司类型
# if entypeid:
# args_term['entypeid'] = entypeid
body = create_body(page, perpage, args_query, args_term)
if not company_name:
del body["query"]["bool"]["must"][0]
try:
es = Elasticsearch([{'host': '39.100.39.50', 'port': 9200}])
# data = es.search(index="jincheng_pictext_index_202301131004_a6181e52", body=body)
data = es.search(index="jincheng_pictext_index_202302151628_bedd5ee8", body=body)
data_list = []
# print(data_list)
size = data["hits"]['total']
# 数据的列表添加进去
for i in data["hits"]['hits']:
if company_name:
# 判断高亮,然后添加
data_list.append({
"id": i["_source"]["mysql_id"],
"company": i["highlight"]["company_name"][0] if "company_name" in i["highlight"] else i["_source"][
"company_name"],
"area": i["_source"]["province"] + i["_source"]["city"] + i["_source"]["district"],
"createtime": i["_source"]["build_date"],
"legal": i["_source"]["legal"],
"capital": i["_source"]["capital"],
"entype": i["_source"]["entype"],
"address": i["_source"]["address"],
"telephone": i["_source"]["telephone"],
"high_new": '高新技术企业' if i["_source"]["high_new"] == "1" else '',
"tbe": '科技型中小企业' if i["_source"]["tbe"] == "1" else '',
"fianacing": '融资企业' if i["_source"]["fianacing"] == "1" else '',
"quoted_company": '上市企业' if i["_source"]["quoted_company"] == "1" else '',
"dengl": '瞪羚企业' if i["_source"]["dengl"] == "1" else '',
"unicorn": '独角兽企业' if i["_source"]["unicorn"] == "1" else '',
"isfive": '500强企业' if i["_source"]["isfive"] == '1' else '',
})
else:
data_list.append({
"id": i["_source"]["mysql_id"],
"company": i["_source"]["company_name"],
"area": i["_source"]["province"] + i["_source"]["city"] + i["_source"]["district"],
"createtime": i["_source"]["build_date"],
"legal": i["_source"]["legal"],
"capital": i["_source"]["capital"],
"entype": i["_source"]["entype"],
"address": i["_source"]["address"],
"telephone": i["_source"]["telephone"],
"high_new": '高新技术企业' if i["_source"]["high_new"] == "1" else '',
"tbe": '科技型中小企业' if i["_source"]["tbe"] == "1" else '',
"fianacing": '融资企业' if i["_source"]["fianacing"] == "1" else '',
"quoted_company": '上市企业' if i["_source"]["quoted_company"] == "1" else '',
"dengl": '瞪羚企业' if i["_source"]["dengl"] == "1" else '',
"unicorn": '独角兽企业' if i["_source"]["unicorn"] == "1" else '',
"isfive": '500强企业' if i["_source"]["isfive"] == '1' else '',
})
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.DBERR, msg="es数据库错误")
data = {
"data": data_list, "size": size
}
return jsonify(code=RET.OK, msg="查找成功", data=data)
\ No newline at end of file
from flask import Blueprint
# 创建蓝图对象
api_xiaocx = Blueprint("api_xiaocx", __name__)
from . import view
from flask import current_app, request, jsonify
from apps.view_radar import api_radar
from apps.models import *
from sqlalchemy import extract, or_, and_
from sqlalchemy.sql import func
from apps.util import login_required
from apps.utils.response_code import RET
from datetime import datetime
import datetime
from apps import db, constants, redis_store
from apps.utils.neo4j_conn import conn_neo4j
from apps.view_xiaocx import api_xiaocx
# 首页搜索
@api_xiaocx.route('/IndexSearch', methods=['POST'])
# @login_required
def index_search():
req_dict = request.get_json()
carrier_type = req_dict.get("carrier_type") # 载体类型 1地块,2楼宇,3厂房,4园区,5项目
carrier_name = req_dict.get("carrier_name") # 载体名称
district = req_dict.get("district") # 所属区县
industry = req_dict.get("industry") # 产业类型
investment_volume_list = req_dict.get("investment_volume_list") # 投资额区间 [1, 0-0.5]
nature = req_dict.get("nature") # 土地性质
area = req_dict.get("area") # 土地面积 [10, 20 ]
build_area = req_dict.get("industry") # 建筑面积 [0, 10000]
rent = req_dict.get("industry") # 租金 [0, 1.5]
zone_level = req_dict.get("zone_level") # 园区级别
page = req_dict.get("page") # page
perpage = req_dict.get("perpage") # perpage
data = []
try:
if carrier_type == 1:
land_obj_list = ZaitiLand.query.filter(
ZaitiLand.name == carrier_name if carrier_name else text(''),
ZaitiLand.nature == nature if nature else text(''),
ZaitiLand.area[0] == float(area) if area[0] else text(''),
ZaitiLand.area[1] == float(area) if area[1] else text(''),
).paginate(page, perpage).items
data = [{
"id": land_obj.id,
"name": land_obj.name,
"district": land_obj.district,
"nature": land_obj.nature,
"area": land_obj.area,
"lng": land_obj.lng,
"lat": land_obj.lat,
} for land_obj in land_obj_list]
if carrier_type == 2:
build_obj_list = ZaitiBuild.query.filter(
ZaitiBuild.name == carrier_name if carrier_name else text(''),
ZaitiBuild.attract_industry == industry if industry else text(''),
ZaitiBuild.build_area > build_area[0] if build_area[0] else text(''),
ZaitiBuild.build_area <= build_area[1] if build_area[1] else text(''),
ZaitiBuild.rent > rent[0] if rent[0] else text(''),
ZaitiBuild.rent <= rent[1] if rent[1] else text('')
).paginate(page, perpage).items
data = [{
"id": build_obj.id,
"name": build_obj.name,
"district": build_obj.district,
"rent": build_obj.rent,
"area": build_obj.build_area,
"lng": build_obj.lng,
"lat": build_obj.lat,
} for build_obj in build_obj_list]
if carrier_type == 3:
factory_obj_list = ZaitiFactory.query.filter(
ZaitiFactory.name == carrier_name if carrier_name else text(''),
ZaitiFactory.attract_industry == industry if industry else text(''),
ZaitiFactory.build_area > build_area[0] if build_area[0] else text(''),
ZaitiFactory.build_area <= build_area[1] if build_area[1] else text('')
).paginate(page, perpage).items
data = [{
"id": factory_obj.id,
"name": factory_obj.name,
"district": factory_obj.district,
"attract_industry": factory_obj.attract_industry,
"area": factory_obj.factory_area,
"lng": factory_obj.lng,
"lat": factory_obj.lat,
} for factory_obj in factory_obj_list]
if carrier_type == 4: # 园区
zone_obj_list = Induzone.query.filter(
Induzone.name == carrier_name if carrier_name else text(''),
Induzone.navigat == industry if industry else text(''),
Induzone.level == zone_level if zone_level else text('')
).paginate(page, perpage).items
data = [{
"id": zone_obj.id,
"name": zone_obj.name,
"phone": zone_obj.phone,
"industry_position": zone_obj.industry_position,
"district": zone_obj.district,
"lng": zone_obj.lng,
"lat": zone_obj.lat,
} for zone_obj in zone_obj_list]
if carrier_type == 5: # 项目
project_obj_list = Project.query.filter(
Project.project_name == carrier_name if carrier_name else text(''),
Project.district == district if district else text(''),
Project.industry == industry if industry else text(''),
Project.money > float(investment_volume_list[0]) * 10000 if investment_volume_list[0] else text(''),
Project.money <= float(investment_volume_list[1]) * 10000 if investment_volume_list[1] else text(''),
).paginate(page, perpage).items
data = [{
"id": project_obj.id,
"name": project_obj.name,
"district": project_obj.district,
"money": project_obj.money,
"attract_industry": project_obj.attract_industry,
"lng": project_obj.lng,
"lat": project_obj.lat,
} for project_obj in project_obj_list]
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data=data, msg='数据查询成功!')
# 推介会列表
@api_xiaocx.route('/IntroductionMeet', methods=['POST'])
# @login_required
def introduction_meet():
req_dict = request.get_json()
page = req_dict.get("page")
perpage = req_dict.get("perpage")
try:
meet_obj_list = IntroductionMeet.query.paginate(page, perpage).items
meet_count = IntroductionMeet.query.count()
data = [{
"id": meet_obj.id,
"name": meet_obj.name,
"time": meet_obj.time,
"organizer": meet_obj.organizer,
"img_url": meet_obj.img_url,
# "info": meet_obj.info,
} for meet_obj in meet_obj_list]
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data={"data": data, "size": meet_count}, msg='数据查询成功!')
# 推介会详情
@api_xiaocx.route('/MeetDetail', methods=['POST'])
# @login_required
def meet_detail():
req_dict = request.get_json()
_id = req_dict.get("id")
try:
meet_obj = IntroductionMeet.query.get(_id)
data = {
"name": meet_obj.name,
"time": meet_obj.time,
"organizer": meet_obj.organizer,
"video_url": meet_obj.video_url,
"info": meet_obj.info
}
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data=data, msg='数据查询成功!')
# 招商资讯列表
@api_xiaocx.route('/Information', methods=['POST'])
# @login_required
def information():
req_dict = request.get_json()
page = req_dict.get("page")
perpage = req_dict.get("perpage")
try:
inform_obj_list = InvestmentInformation.query.paginate(page, perpage).items
inform_count = InvestmentInformation.query.count()
data = [{
"name": inform_obj.name,
"time": inform_obj.time,
# "source": inform_obj.source,
"info": inform_obj.info,
} for inform_obj in inform_obj_list]
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data={"data": data, "size": inform_count}, msg='数据查询成功!')
# 招商资讯详情/最新一条时id传空
@api_xiaocx.route('/InformationDetail', methods=['POST'])
# @login_required
def information_detail():
req_dict = request.get_json()
_id = req_dict.get("id")
try:
if _id:
inform_obj = InvestmentInformation.query.get(_id)
else: # 最新一条
inform_obj = InvestmentInformation.query.order_by(
InvestmentInformation.id.desc()
).all()[0]
data = {
"name": inform_obj.name,
"time": inform_obj.time,
"source": inform_obj.source,
"info": inform_obj.info,
}
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data=data, msg='数据查询成功!')
# 重点企业列表
@api_xiaocx.route('/CompanyList', methods=['POST'])
# @login_required
def company_list():
req_dict = request.get_json()
page = req_dict.get("page")
perpage = req_dict.get("perpage")
try:
company_obj_list = Company.query.paginate(page, perpage).items
company_count = Company.query.count()
data = [{
"id": company_obj.id,
"name": company_obj.name
} for company_obj in company_obj_list]
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data={"data": data, "size": company_count}, msg='数据查询成功!')
# 重点企业详情
@api_xiaocx.route('/CompanyDetail', methods=['POST'])
# @login_required
def company_detail():
req_dict = request.get_json()
_id = req_dict.get("id")
try:
company_obj = Company.query.get(_id)
data = {
"company_name": company_obj.company_name,
"chain_master": company_obj.chain_master,
"district": company_obj.district,
"lng": company_obj.lng,
"lat": company_obj.lat,
"address": company_obj.address,
"telephone": company_obj.telephone,
"company_info": company_obj.company_info,
"c_name": company_obj.c_name,
"zizhi": list(filter(len, [
'是否高新技术企业' if company_obj.high_new == '1' else '',
'是否科技型中小企业' if company_obj.tbe == '1' else '',
'是否为省级民营科技企业' if company_obj.tbe_sjmy == '1' else '',
'是否为有融资企业' if company_obj.fianacing == '1' else '',
'是否上市企业' if company_obj.quoted_company == '1' else '',
'是否为有专利企业' if company_obj.patent == '1' else '',
'是否山西民营100强' if company_obj.sxmon == '1' else '',
'是否为山西专精特新企业' if company_obj.zjtg == '1' else '',
'是否为国家级专精特新小巨人企业' if company_obj.zjtg_gjjxjr == '1' else '',
'是否为省级专精特新小巨人企业' if company_obj.zjtg_sjxjr == '1' else '',
'独角兽企业' if company_obj.unicorn == '1' else '',
'瞪羚' if company_obj.dengl == '1' else '',
'是否中国500强' if company_obj.isfive == '1' else '',
'是否山西100强' if company_obj.sxonhun == '1' else '',
'规模以上企业' if company_obj.scale == '1' else '',
'限额以上服务业' if company_obj.serve == '1' else ''
]))
}
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data=data, msg='数据查询成功!')
# 地块详情
@api_xiaocx.route('/ZaitiDetail', methods=['POST'])
# @login_required
def zaiti_detail():
req_dict = request.get_json()
flag = req_dict.get("flag") # 1地块,2楼宇,3厂房,4园区, 5项目
_id = req_dict.get("id")
try:
if flag == 1:
land_obj = ZaitiLand.query.get(_id)
data = {
"name": land_obj.name,
"lng": land_obj.lng,
"lat": land_obj.lat,
"district": land_obj.district,
"location": land_obj.location,
"nature": land_obj.nature,
"plot_ratio": land_obj.plot_ratio,
"develop_degree": land_obj.develop_degree,
"linkman": land_obj.linkman,
"telephone": land_obj.telephone
}
if flag == 2:
build_obj = ZaitiBuild.query.get(_id)
data = {
"name": build_obj.name,
"lng": build_obj.lng,
"lat": build_obj.lat,
"district": build_obj.district,
"address": build_obj.address,
"build_area": build_obj.build_area,
"attract_industry": build_obj.attract_industry,
"rent": build_obj.rent,
"linkman": build_obj.linkman,
"telephone": build_obj.telephone
}
if flag == 3:
factory_obj = ZaitiFactory.query.get(_id)
data = {
"name": factory_obj.name,
"lng": factory_obj.lng,
"lat": factory_obj.lat,
"district": factory_obj.district,
"address": factory_obj.address,
"land_area": factory_obj.land_area,
"build_area": factory_obj.build_area,
"empty_area": factory_obj.empty_area,
"factory_structure": factory_obj.factory_structure,
"width": factory_obj.width,
"high": factory_obj.high,
"attract_industry": factory_obj.attract_industry,
"rent": factory_obj.rent,
"linkman": factory_obj.linkman,
"telephone": factory_obj.telephone
}
except Exception as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data=data, msg='数据查询成功!')
# 投资咨询
@api_xiaocx.route('/Consultation', methods=['POST'])
# @login_required
def consultation():
req_dict = request.get_json()
project_name = req_dict.get("project_name")
investor = req_dict.get("investor")
investor_place = req_dict.get("investor_place")
project_type = req_dict.get("project_type")
investment_volume = req_dict.get("investment_volume")
basic_information = req_dict.get("basic_information")
land_area = req_dict.get("land_area")
try:
cons_obj = CustomerConsultation()
cons_obj.project_name = project_name
cons_obj.investor = investor
cons_obj.investor_place = investor_place
cons_obj.project_type = project_type
cons_obj.investment_volume = investment_volume
cons_obj.basic_information = basic_information
cons_obj.land_area = land_area
cons_obj.flag = 0
db.session.add(cons_obj)
db.session.commit()
except Enterprise as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, msg='保存成功!')
# 投资咨询信息展示
@api_xiaocx.route('/GetConsultation', methods=['POST'])
# @login_required
def get_consultation():
req_dict = request.get_json()
page = req_dict.get("page")
perpage = req_dict.get("perpage")
try:
cons_obj_list = CustomerConsultation.query.paginate(page, perpage).items
cons_count = CustomerConsultation.query.count()
data = [{
"project_name": cons_obj.project_name,
"investor": cons_obj.investor,
"investor_place": cons_obj.investor_place,
"project_type": cons_obj.project_type,
"investment_volume": cons_obj.investment_volume,
"basic_information": cons_obj.basic_information,
"land_area": cons_obj.land_area,
"flag": cons_obj.flag,
"reply_content": cons_obj.reply_content,
} for cons_obj in cons_obj_list]
except Enterprise as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="查询出错!")
return jsonify(code=RET.OK, data={"data": data, "size": cons_count}, msg='查询成功!')
# 回复投资咨询
@api_xiaocx.route('/ReplyConsultation', methods=['POST'])
# @login_required
def reply_consultation():
req_dict = request.get_json()
reply_content = req_dict.get("reply_content")
_id = req_dict.get("id")
try:
cons_obj = CustomerConsultation.query.get(_id)
cons_obj.reply_content = reply_content
db.session.commit()
except Enterprise as e:
current_app.logger.error(e)
return jsonify(code=RET.SESSIONERR, msg="回复信息保存出错!")
return jsonify(code=RET.OK, msg='回复信息保存成功。')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment