Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhangjiangzhenxcxserver
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
zhangjiangzhenxcxserver
Commits
4b78d84c
Commit
4b78d84c
authored
Mar 05, 2026
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
4c6fb6cc
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
286 additions
and
277 deletions
+286
-277
Snipaste_2026-01-02_22-48-3220260205_101379.png
...s/space/2/Snipaste_2026-01-02_22-48-3220260205_101379.png
+0
-0
Snipaste_2026-01-05_14-13-3520260205_095343.png
...s/space/2/Snipaste_2026-01-05_14-13-3520260205_095343.png
+0
-0
Snipaste_2026-01-05_14-13-3520260205_100227.png
...s/space/2/Snipaste_2026-01-05_14-13-3520260205_100227.png
+0
-0
暂无20260205_095143.png
files/space/2/暂无20260205_095143.png
+0
-0
标记企业1112_2.xlsx
res/标记企业1112_2.xlsx
+0
-0
serverConfig.xml
serverConfig.xml
+1
-0
admin.ts
src/biz/admin.ts
+59
-29
ai.ts
src/biz/ai.ts
+1
-1
dataInit.ts
src/biz/dataSync/dataInit.ts
+165
-0
newDataInit.ts
src/biz/dataSync/newDataInit.ts
+7
-213
space.ts
src/biz/space.ts
+36
-25
paramConfig.ts
src/config/paramConfig.ts
+1
-1
serverConfig.ts
src/config/serverConfig.ts
+2
-1
systemClass.ts
src/config/systemClass.ts
+1
-0
main.ts
src/main.ts
+2
-3
http_server.ts
src/net/http_server.ts
+1
-1
system.ts
src/tools/system.ts
+3
-2
tsconfig.json
tsconfig.json
+7
-1
No files found.
files/space/2/Snipaste_2026-01-02_22-48-3220260205_101379.png
0 → 100644
View file @
4b78d84c
58.2 KB
files/space/2/Snipaste_2026-01-05_14-13-3520260205_095343.png
0 → 100644
View file @
4b78d84c
99.3 KB
files/space/2/Snipaste_2026-01-05_14-13-3520260205_100227.png
0 → 100644
View file @
4b78d84c
99.3 KB
files/space/2/暂无20260205_095143.png
0 → 100644
View file @
4b78d84c
3.49 KB
res/标记企业1112_2.xlsx
View file @
4b78d84c
No preview for this file type
serverConfig.xml
View file @
4b78d84c
<config>
<port>
13280
</port>
<img>
http://101.89.111.202:13280
</img>
<mongodb>
<path>
192.168.0.105
</path>
<port>
27017
</port>
...
...
src/biz/admin.ts
View file @
4b78d84c
...
...
@@ -381,6 +381,14 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
param
.
year
=
year
;
}
let
enterpriseList
=
await
enterpriseData
.
findEnterpriseListByParam
({});
let
enterpriseMap
=
{};
enterpriseList
.
forEach
(
info
=>
{
enterpriseMap
[
info
.
uscc
]
=
{
name
:
info
.
name
,
industry
:
info
.
industry
};
})
let
list
=
await
businessData
.
findEnterpriseBusinessToPageByParam
(
param
,
page
);
let
dataCount
=
await
businessData
.
findEnterpriseBusinessCountByParam
(
param
);
...
...
@@ -388,16 +396,23 @@ export async function enterpriseBusinessList(selectStr:string, industry:number,
let
dataList
=
[];
list
.
forEach
(
info
=>
{
let
item
=
{
uscc
:
info
.
uscc
,
name
:
info
.
name
,
year
:
info
.
year
,
industry
:
changeEnumManyValue
(
INDUSTRY
,
info
.
industry
)[
0
]
||
"-"
,
BI
:
info
.
BI
,
RD
:
info
.
RD
,
TXP
:
info
.
TXP
,
};
dataList
.
push
(
item
);
let
industryStr
:
any
=
"-"
;
if
(
enterpriseMap
[
info
.
uscc
])
{
if
(
enterpriseMap
[
info
.
uscc
].
industry
)
{
industryStr
=
changeEnumManyValue
(
INDUSTRY
,
enterpriseMap
[
info
.
uscc
].
industry
)
}
let
item
=
{
uscc
:
info
.
uscc
,
name
:
enterpriseMap
[
info
.
uscc
].
name
,
year
:
info
.
year
,
// industry:changeEnumManyValue(INDUSTRY, info.industry)[0] || "-",
industry
:
industryStr
,
BI
:
info
.
BI
,
RD
:
info
.
RD
,
TXP
:
info
.
TXP
,
};
dataList
.
push
(
item
);
}
});
return
{
dataList
,
dataCount
};
...
...
@@ -488,7 +503,6 @@ export async function outPutBusinessData(selectStr:string, industry:number, year
export
async
function
enterpriseVisitList
(
selectStr
:
string
,
researchTime
:
number
,
researchType
:
number
,
appealType
:
number
,
state
:
number
,
page
:
number
)
{
let
param
:
any
=
{};
let
list
=
await
visitData
.
findDataToPage
(
param
,
page
);
...
...
@@ -500,8 +514,8 @@ export async function enterpriseVisitList(selectStr:string, researchTime:number,
let
researchTime
=
moment
(
info
.
researchTime
).
format
(
"YYYY-MM-DD"
);
let
accompanyStr
=
""
;
info
.
accompany
.
forEach
((
item
,
index
)
=>
{
accompanyStr
+=
`
${
userMap
[
item
]}
`
;
if
(
index
<
info
.
accompany
.
length
-
1
)
accompanyStr
+=
"、"
;
accompanyStr
+=
userMap
[
item
]
||
''
;
if
(
userMap
[
item
]
&&
(
index
<
info
.
accompany
.
length
-
1
)
)
accompanyStr
+=
"、"
;
})
let
item
=
{
name
:
info
.
name
,
...
...
@@ -511,7 +525,7 @@ export async function enterpriseVisitList(selectStr:string, researchTime:number,
researchType
:
changeEnumValue
(
RESEARCHTYPE
,
info
.
researchType
),
appeal
:
info
.
appeal
,
state
:
changeEnumValue
(
SOLVESTATECLIENT
,
info
.
state
),
accompany
:
accompanyStr
,
accompany
:
accompanyStr
||
'无陪同人员'
,
contacts
:
info
.
contacts
,
contactsPhone
:
info
.
contactsPhone
};
...
...
@@ -1240,21 +1254,37 @@ export async function homeBase() {
export
async
function
homeEnterpriseChange
(
year
:
number
)
{
let
dataList
=
[
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
45023
},
];
return
{
dataList
}
let
dataConf
=
{
2025
:
[
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
4628
},
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
],
2026
:
[
{
key
:
"1月"
,
value
:
0
},
{
key
:
"2月"
,
value
:
0
},
{
key
:
"3月"
,
value
:
0
},
{
key
:
"4月"
,
value
:
0
},
{
key
:
"5月"
,
value
:
0
},
{
key
:
"6月"
,
value
:
0
},
{
key
:
"7月"
,
value
:
0
},
{
key
:
"8月"
,
value
:
0
},
{
key
:
"9月"
,
value
:
0
},
{
key
:
"10月"
,
value
:
0
},
{
key
:
"11月"
,
value
:
0
},
{
key
:
"12月"
,
value
:
0
},
]
}
return
{
dataList
:
dataConf
[
year
]}
}
...
...
src/biz/ai.ts
View file @
4b78d84c
...
...
@@ -183,7 +183,7 @@ ${JSON.stringify(list)}
// index ++;
// }
let
out
=
fs
.
createWriteStream
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"
res"
,
`aidoc_
${
new
Date
().
valueOf
()}
.docx`
));
let
out
=
fs
.
createWriteStream
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"
files"
,
`aidoc
.docx`
));
docx
.
generate
(
out
);
return
{
isSuccess
:
true
};
}
...
...
src/biz/dataSync/dataInit.ts
View file @
4b78d84c
...
...
@@ -17,6 +17,171 @@ const xlsx = require('node-xlsx');
const
path
=
require
(
'path'
);
const
fs
=
require
(
'fs'
);
async
function
未来产业企业筛选
()
{
let
企业名单
=
onceSheetBecomeOfblockData
(
'标记全部企业.xlsx'
,
"同步企业名单"
);
let
dataList
=
企业名单
[
0
].
blockData
;
let
matchList
=
[];
let
店铺
=
[];
let
饭店
=
[];
let
吊销
=
[];
//吊销企业
let
药房
=
[];
let
棋牌
=
[];
let
旅馆
=
[];
let
人力资源
=
[];
let
养老院
=
[];
let
物业管理
=
[];
let
房地产开发租赁销售
=
[];
let
学校
=
[];
let
map
=
{};
dataList
.
forEach
((
subList
,
index
)
=>
{
if
(
!
index
)
return
;
let
国标大类
=
subList
[
23
];
let
国标一类
=
subList
[
24
];
let
国标二类
=
subList
[
25
];
let
企查查大类
=
subList
[
27
];
let
企查查一类
=
subList
[
28
];
let
企查查二类
=
subList
[
29
];
let
经营状态
=
subList
[
2
];
let
类型
=
subList
[
16
];
let
名称
=
subList
[
0
];
if
(
!
经营状态
)
return
;
let
企业机构类型
=
匹配企业类型
(
类型
);
if
(
!
subList
[
2
]
||
cs
(
经营状态
,
"注销"
)
||
cs
(
经营状态
,
"吊销"
)
)
{
吊销
.
push
(
subList
);
return
;
}
if
(
!
map
[
类型
])
map
[
类型
]
=
0
;
map
[
类型
]
+=
1
;
//去除个体户
if
(
cs
(
类型
,
"个体"
))
{
if
(
subList
[
0
].
match
(
/^.*店$/
)
||
cs
(
名称
,
"发廊"
)
||
(
cs
(
名称
,
"五金"
)
&&
(
cs
(
国标大类
,
"零售"
)
||
cs
(
国标大类
,
"批发"
)
)
)
)
{
店铺
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"药房"
)
||
cs
(
名称
,
"药店"
))
{
药房
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"棋牌"
)
)
{
棋牌
.
push
(
subList
);
return
;
}
else
if
(
cs
(
名称
,
"旅馆"
)
||
cs
(
名称
,
"宾馆"
)
)
{
旅馆
.
push
(
subList
);
}
else
if
(
cs
(
名称
,
"餐饮"
)
||
cs
(
名称
,
"食品"
)
||
cs
(
名称
,
"咖啡"
)
)
{
if
(
cs
(
国标大类
,
"零售"
))
店铺
.
push
(
subList
);
else
饭店
.
push
(
subList
);
}
else
{
店铺
.
push
(
subList
);
}
return
;
}
//名字筛选
if
(
cs
(
名称
,
"发廊"
)
||
cs
(
名称
,
"美容"
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"五金"
)
&&
(
cs
(
国标大类
,
"零售"
)
||
cs
(
国标大类
,
"批发"
))
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"药房"
)
||
cs
(
名称
,
"药店"
))
{
药房
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"棋牌"
)
)
{
棋牌
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"旅馆"
)
||
cs
(
名称
,
"宾馆"
)
)
{
旅馆
.
push
(
subList
);
return
;
}
if
(
cs
(
名称
,
"幼儿园"
)
||
cs
(
名称
,
"中学"
)
||
cs
(
名称
,
"小学"
)
||
cs
(
名称
,
"高中"
)
||
cs
(
名称
,
"学校"
)
)
{
学校
.
push
(
subList
);
return
;
}
//行业类别
if
(
多字段判断
(
"零售"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"摄影"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
)
)
{
店铺
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"餐饮"
,
国标二类
,
企查查二类
)
)
{
饭店
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"住宿"
,
国标二类
,
企查查二类
))
{
if
(
cs
(
名称
,
"养老"
))
养老院
.
push
(
subList
);
else
旅馆
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"人力"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
))
{
人力资源
.
push
(
subList
);
return
;
}
if
(
多字段判断
(
"房地"
,
国标大类
,
国标一类
,
国标二类
,
企查查大类
,
企查查一类
,
企查查二类
))
{
if
(
多字段判断
(
"物业"
,
国标二类
,
企查查二类
))
物业管理
.
push
(
subList
);
else
房地产开发租赁销售
.
push
(
subList
);
return
;
}
matchList
.
push
(
subList
);
});
let
第二轮筛选
=
[];
let
国标去重
=
{};
let
国标二类去重
=
{};
let
企查查去重
=
{};
let
企查查二类去重
=
{};
matchList
.
forEach
(
subList
=>
{
let
国标大类
=
subList
[
23
];
let
国标一类
=
subList
[
24
];
let
国标二类
=
subList
[
25
];
let
企查查大类
=
subList
[
27
];
let
企查查一类
=
subList
[
28
];
let
企查查二类
=
subList
[
29
];
国标去重
[
国标一类
]
=
1
;
if
(
国标一类
==
"医药制造业"
||
企查查大类
==
"医药生物"
)
{
第二轮筛选
.
push
(
subList
);
}
企查查去重
[
企查查大类
]
=
1
;
});
let
data
=
[
{
name
:
"sheet1"
,
data
:
第二轮筛选
}
];
let
buff
=
xlsx
.
build
(
data
);
fs
.
writeFileSync
(
path
.
join
(
__dirname
.
substring
(
0
,
__dirname
.
indexOf
(
"out"
)),
"res"
,
'生物医药.xlsx'
),
buff
);
console
.
log
();
}
export
async
function
test111
()
{
let
excelInfo
=
onceSheetBecomeOfblockData
(
"目标名单.xlsx"
,
"Sheet1"
);
let
dataList
=
excelInfo
[
0
][
"blockData"
];
...
...
src/biz/dataSync/newDataInit.ts
View file @
4b78d84c
...
...
@@ -779,7 +779,9 @@ export async function getAddressLatAndLng(address, city, uscc) {
output
:
"json"
,
city
,
// ak:'yvr5gS5rGO6tFfq3gERdRfzTRsguXG9T',
ak
:
'prPZXEPcmpfYKeq5pzfPD1yvYx4QyoNB'
// ak:'prPZXEPcmpfYKeq5pzfPD1yvYx4QyoNB'
// ak:'1ufIlzwAoxm8nrkcsDSUVYRnzP9ohGCv'
ak
:
'OeKeu9eEoI45YVrM6lhdE6FYCiUPv43k'
}
let
reuslt
:
any
=
await
get
(
"https://api.map.baidu.com/geocoding/v3/"
,
param
);
if
(
reuslt
.
status
==
0
)
{
...
...
@@ -959,217 +961,8 @@ export async function test111222() {
export
async
function
test33333
()
{
let
list
=
[
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区中科路1600号一层T-L120"
,
"中国(上海)自由贸易试验区祖冲之路2305号B幢914室(房产登记证为8层)"
,
"中国(上海)自由贸易试验区祥科路111号3号楼711室"
,
"中国(上海)自由贸易试验区张衡路1077号2幢2层A2204室"
,
"中国(上海)自由贸易试验区中科路1717弄1-5号地下一层M-LG52b"
,
"中国(上海)自由贸易试验区蔡伦路85弄79号2幢2楼202室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区建中路242弄248号"
,
"中国(上海)自由贸易试验区中科路1819号第5层(名义楼层,实际楼层第4层)516单元"
,
"中国(上海)自由贸易试验区晨晖路88号1幢3层312室"
,
"中国(上海)自由贸易试验区金科路2966号1幢205单元"
,
"中国(上海)自由贸易试验区中科路1839号1幢36层(产证楼层为31层)3603室"
,
"中国(上海)自由贸易试验区中科路1819号第27层(名义楼层,实际楼层第23层)2708单元"
,
"中国(上海)自由贸易试验区盛荣路88弄6号201C室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区盛荣路88弄14-16号11室07单元"
,
"中国(上海)自由贸易试验区碧波路572弄116号7幢2层"
,
"中国(上海)自由贸易试验区金科路2966号2幢215单元"
,
"中国(上海)自由贸易试验区祖冲之路2288弄2号1419室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"上海市浦东新区卓远路200弄1号西侧1-9层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区张衡路666弄1号2层205-2室"
,
"中国(上海)自由贸易试验区盛荣路88弄2号1层108-01室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区晨晖路88号2幢405室"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区祖冲之路2288弄2号1418室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"上海市浦东新区盛夏路1097号1层101室"
,
"中国(上海)自由贸易试验区蔡伦路1690号2幢507室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区百业路167弄11号四楼"
,
"中国(上海)自由贸易试验区海趣路218号1424室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区高斯路1104号"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区张东路1661号、祖冲之路2585号11幢A区2层2-45座"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区祖冲之路2288弄2号111室"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区龙东大道3158弄6号3幢6层602单元"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区海趣路218号1223室"
,
"中国(上海)自由贸易试验区祖冲之路2277弄1号610室"
,
"中国(上海)自由贸易试验区孙桥路312号101室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区盛荣路88弄1号409室"
,
"中国(上海)自由贸易试验区环科路1155号三层J-L310-311单元"
,
"中国(上海)自由贸易试验区金科路3057号、亮景路55号三层Q3-4A、Q3-1B室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区金科路3057号、亮景路55号地下一层B1-2室"
,
"中国(上海)自由贸易试验区金科路3057号、亮景路55号一层L1-42室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区睿明路199弄4号107室"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区祥科路298号1幢4层405-B27室"
,
"中国(上海)自由贸易试验区博云路2号10层1001B室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区哈雷路998号2幢4层B区"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区李冰路151号5幢二层2209室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区祖冲之路1253号1层161室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区申江路5709号、秋月路26号1幢5层N室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区海趣路218号1709室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区申江路5005弄2号9层(产权登记楼层8层)05B、06B室"
,
"中国(上海)自由贸易试验区盛夏路169号、张东路1658号1幢6层605A室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区蔡伦路159号1幢1层南区101室"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区盛荣路88弄2号304C室"
,
"中国(上海)自由贸易试验区中科路1819号第43层(名义楼层,实际楼层第38层)4303单元"
,
"中国(上海)自由贸易试验区金科路2966号1幢5层501A单元"
,
"中国(上海)自由贸易试验区祖冲之路1239弄7号地下一层15-7室"
,
"中国(上海)自由贸易试验区盛夏路500弄7号2楼201-A-4室"
,
"中国(上海)自由贸易试验区中科路1819号第43层(名义楼层,实际楼层第38层)4308单元"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区郭守敬路498号6幢3层11306室"
,
"中国(上海)自由贸易试验区三灶路71号4幢2层207室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区盛夏路666号、银冬路122号5幢10层07单元"
,
"中国(上海)自由贸易试验区张衡路666弄1号508A-B室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区中科路1358号.环科路999弄12号101室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区祖冲之路2290弄1号19层1909单元(名义楼层19层,实际楼层16层)"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区张东路1661号、祖冲之路2585号11幢1层A区117室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区碧波路912弄10-11号502-4室"
,
"中国(上海)自由贸易试验区碧波路912弄10-11号502-2室"
,
"中国(上海)自由贸易试验区祖冲之路2288弄3号216室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区碧波路912弄10-11号502-3室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区碧波路912弄10-11号502-5室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区中科路1817号地下一层S-LG15"
,
"中国(上海)自由贸易试验区环科路1155号三层J-L313"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区盛夏路570号1幢401室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区中科路820号104商铺"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区中科路1819号第27层(名义楼层,实际楼层第23层)2701单元"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区祖冲之路887弄71-72号303室"
,
"中国(上海)自由贸易试验区法拉第路56号、李冰路576号3幢1层1106室"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"上海市浦东新区博宇路56弄1号楼808室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区中科路1819号第28层(名义楼层,实际楼层第24层)2807单元"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区盛荣路333号1幢4层411室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区盛夏路666号、银冬路122号5幢10层03单元"
,
"中国(上海)自由贸易试验区盛夏路608号3幢304室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区碧波路912弄10-11号402-3室"
,
"中国(上海)自由贸易试验区张衡路200号2幢3层"
,
"中国(上海)自由贸易试验区孙桥路140号二层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区博宇路56弄1号1608室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区盛荣路188弄5号203A室"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路665号三层"
,
"中国(上海)自由贸易试验区郭守敬路498号1幢106室"
,
"中国(上海)自由贸易试验区环科路555弄4号105、106、107室,201-202室"
,
"中国(上海)自由贸易试验区张东路1661号、祖冲之路2585号11幢1层A区119室"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区张江路625号北二层A区"
,
"中国(上海)自由贸易试验区高斯路1240号1层-1室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区芳春路400号1幢3层"
,
"中国(上海)自由贸易试验区环科路999弄1号3层"
,
"中国(上海)自由贸易试验区盛荣路388弄3号2层201室"
,
"中国(上海)自由贸易试验区郭守敬路498号8幢19号楼3层"
,
"中国(上海)自由贸易试验区蔡伦路85弄95号1幢2层C区202-2室"
,
"中国(上海)自由贸易试验区龙东大道3158弄6号3幢6层602单元"
];
...
...
@@ -1184,7 +977,7 @@ export async function test33333() {
list2
.
push
(
inZJ
);
}
console
.
log
();
console
.
log
(
list2
);
}
\ No newline at end of file
src/biz/space.ts
View file @
4b78d84c
...
...
@@ -33,8 +33,8 @@ export async function spaceList(name:string, page:number) {
spaceId
:
info
.
spaceId
,
name
:
info
.
name
,
// 物业名称
address
:
info
.
address
||
"-"
,
// 地址
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
totalArea
:
info
.
totalArea
?
info
.
totalArea
+
"㎡"
:
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
?
info
.
leasingRate
+
"%"
:
"-"
,
// 出租率(0-100之间的数字)%
vacantAreas
:
info
.
vacantAreas
||
[],
// 空置区域(如:183.6m²4楼)
supportPolicies
:
info
.
supportPolicies
||
[],
// 支持政策:孵化器补贴、青创15条等
description
:
info
.
description
||
"-"
,
// 简介或项目描述
...
...
@@ -43,13 +43,13 @@ export async function spaceList(name:string, page:number) {
environmentalAssessment
:
info
.
environmentalAssessment
||
"-"
,
// 环评
deliveryStandard
:
changeEnumValue
(
DELIVERYSTANDARD
,
info
.
deliveryStandard
),
// 交付标准
deliveryRemark
:
info
.
deliveryRemark
||
"-"
,
// 交付备注说明
floorHeight
:
info
.
floorHeight
||
"-"
,
// 层高(m)
floorLoad
:
info
.
floorLoad
||
"-"
,
// 承重(KN/m²)
standardFloorArea
:
info
.
standardFloorArea
||
"-"
,
// 标准层面积(m²)
minLeasableArea
:
info
.
minLeasableAre
a
||
"-"
,
// 最小可租面积(m²)
powerSupply
:
info
.
powerSupply
||
"-"
,
// 电量(w/㎡)
parkingSpaces
:
info
.
parkingSpaces
||
"-"
,
// 停车位数量
parkingFee
:
info
.
parkingFee
||
"-"
,
// 停车费
floorHeight
:
info
.
floorHeight
?
info
.
floorHeight
+
"m"
:
"-"
,
// 层高(m)
floorLoad
:
info
.
floorLoad
?
info
.
floorLoad
+
"KN/m²"
:
"-"
,
// 承重(KN/m²)
standardFloorArea
:
info
.
standardFloorArea
?
info
.
standardFloorArea
+
"m²"
:
"-"
,
// 标准层面积(m²)
minLeasableArea
:
info
.
minLeasableAre
?
info
.
minLeasableAre
+
"m²"
:
"-"
,
// 最小可租面积(m²)
powerSupply
:
info
.
powerSupply
?
info
.
powerSupply
+
"w/㎡"
:
"-"
,
// 电量(w/㎡)
parkingSpaces
:
info
.
parkingSpaces
?
info
.
parkingSpaces
+
"个"
:
"-"
,
// 停车位数量
parkingFee
:
info
.
parkingFee
+
"元/个"
||
"-"
,
// 停车费
deliveryTime
:
moment
(
info
.
deliveryTime
).
format
(
"YYYY-MM-DD"
)
||
"-"
,
// 交付时间 时间戳
contactPerson
:
info
.
contactPerson
||
"-"
,
// 项目联系人
surroundingFacilities
:
info
.
surroundingFacilities
||
"-"
,
// 周边配套
...
...
@@ -75,14 +75,25 @@ export async function addSpace(param) {
let
spaceInfo
=
await
spaceData
.
findSpaceByName
(
param
.
name
);
if
(
spaceInfo
.
name
)
throw
new
BizError
(
ERRORENUM
.
空间已存在
);
param
.
spaceId
=
getInformationId
();
param
.
createdAt
=
Date
.
now
();;
param
.
updatedAt
=
Date
.
now
();
param
.
vacantAreas
=
param
.
vacantAreas
;
param
.
supportPolicies
=
param
.
supportPolicies
;
await
spaceData
.
addSpace
(
param
);
let
addInfo
:
any
=
{};
for
(
let
key
in
param
)
{
addInfo
[
key
]
=
param
[
key
]
}
addInfo
.
spaceId
=
getInformationId
();
addInfo
.
createdAt
=
Date
.
now
();;
addInfo
.
updatedAt
=
Date
.
now
();
let
attachments
=
[];
if
(
param
.
attachments
)
{
param
.
attachments
.
forEach
(
info
=>
{
attachments
.
push
(
info
.
url
);
})
}
addInfo
.
attachments
=
attachments
;
await
spaceData
.
addSpace
(
addInfo
);
return
successResult
();
}
...
...
@@ -191,7 +202,7 @@ export async function spaceXCXList(name:string) {
attachments
:
convertFilesToObjectArray
(
info
.
attachments
),
//附件信息
name
:
info
.
name
,
// 物业名称
address
:
info
.
address
||
"-"
,
// 地址
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
totalArea
:
info
.
totalArea
||
"-"
,
// 总面积(平方米)
leasingRate
:
info
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
};
dataList
.
push
(
item
);
...
...
@@ -216,7 +227,7 @@ export async function getSpaceXCXInfo(spaceId:string) {
spaceId
:
spaceInfo
.
spaceId
,
name
:
spaceInfo
.
name
,
// 物业名称
address
:
spaceInfo
.
address
||
"-"
,
// 地址
totalArea
:
spaceInfo
.
totalArea
||
"-"
,
// 总面积(平方米)
totalArea
:
spaceInfo
.
totalArea
?
spaceInfo
.
totalArea
+
"㎡"
:
"-"
,
// 总面积(平方米)
leasingRate
:
spaceInfo
.
leasingRate
||
"-"
,
// 出租率(0-100之间的数字)%
vacantAreas
:
spaceInfo
.
vacantAreas
||
[],
// 空置区域(如:183.6m²4楼)
supportPolicies
:
spaceInfo
.
supportPolicies
||
[],
// 支持政策:孵化器补贴、青创15条等
...
...
@@ -226,13 +237,13 @@ export async function getSpaceXCXInfo(spaceId:string) {
environmentalAssessment
:
spaceInfo
.
environmentalAssessment
||
"-"
,
// 环评
deliveryStandard
:
spaceInfo
.
deliveryStandard
,
// 交付标准
deliveryRemark
:
spaceInfo
.
deliveryRemark
||
"-"
,
// 交付备注说明
floorHeight
:
spaceInfo
.
floorHeight
||
"-"
,
// 层高(m)
floorLoad
:
spaceInfo
.
floorLoad
||
"-"
,
// 承重(KN/m²)
standardFloorArea
:
spaceInfo
.
standardFloorArea
||
"-"
,
// 标准层面积(m²)
minLeasableArea
:
spaceInfo
.
minLeasableArea
||
"-"
,
// 最小可租面积(m²)
powerSupply
:
spaceInfo
.
powerSupply
||
"-"
,
// 电量(w/㎡)
parkingSpaces
:
spaceInfo
.
parkingSpaces
||
"-"
,
// 停车位数量
parkingFee
:
spaceInfo
.
parkingFee
||
"-"
,
// 停车费
floorHeight
:
spaceInfo
.
floorHeight
?
spaceInfo
.
floorHeight
+
"m"
:
"-"
,
// 层高(m)
floorLoad
:
spaceInfo
.
floorLoad
?
spaceInfo
.
floorLoad
+
"KN/m²"
:
"-"
,
// 承重(KN/m²)
standardFloorArea
:
spaceInfo
.
standardFloorArea
?
spaceInfo
.
standardFloorArea
+
"㎡"
:
"-"
,
// 标准层面积(m²)
minLeasableArea
:
spaceInfo
.
minLeasableArea
?
spaceInfo
.
minLeasableArea
+
"㎡"
:
"-"
,
// 最小可租面积(m²)
powerSupply
:
spaceInfo
.
powerSupply
?
spaceInfo
.
powerSupply
+
"w/㎡"
:
"-"
,
// 电量(w/㎡)
parkingSpaces
:
spaceInfo
.
parkingSpaces
?
spaceInfo
.
parkingSpaces
+
"个"
:
"-"
,
// 停车位数量
parkingFee
:
spaceInfo
.
parkingFee
?
spaceInfo
.
parkingFee
+
"元/个"
:
"-"
,
// 停车费
deliveryTime
:
spaceInfo
.
deliveryTime
||
"-"
,
// 交付时间 时间戳
contactPerson
:
spaceInfo
.
contactPerson
||
"-"
,
// 项目联系人
surroundingFacilities
:
spaceInfo
.
surroundingFacilities
||
"-"
,
// 周边配套
...
...
src/config/paramConfig.ts
View file @
4b78d84c
...
...
@@ -70,7 +70,7 @@ export const AddVisitConfig = {
uscc
:{
type
:
"String"
},
//关联企业
researchTime
:{
type
:
"Number"
},
//调研时间
leaderName
:{
type
:
"String"
},
//出席领导
// accompany:{type:"[String]"
},//陪同人员
accompany
:{
type
:
"[String]"
,
notMustHave
:
true
},
//陪同人员
// contacts:{type:"String"},//联系人
// contactsPhone:{type:"String"},//联系人电话
// content:{type:"String"},//洽谈内容
...
...
src/config/serverConfig.ts
View file @
4b78d84c
...
...
@@ -16,8 +16,9 @@ export async function initConfig() {
if
(
!
configInfo
||
!
configInfo
.
config
)
throw
new
BizError
(
'xml中无配置'
);
else
{
let
{
port
,
mongodb
,
secret
,
getOpenIdUrl
,
appId
,
qcc
}
=
configInfo
.
config
;
let
{
port
,
img
,
mongodb
,
secret
,
getOpenIdUrl
,
appId
,
qcc
}
=
configInfo
.
config
;
systemConfig
.
port
=
parseInt
(
port
[
0
]);
systemConfig
.
img
=
img
[
0
];
systemConfig
.
secret
=
secret
[
0
];
systemConfig
.
getOpenIdUrl
=
getOpenIdUrl
[
0
];
...
...
src/config/systemClass.ts
View file @
4b78d84c
...
...
@@ -6,6 +6,7 @@
export
class
ServerConfig
{
/**系统配置 */
port
:
number
;
img
:
string
;
mongodbStr
:
string
;
secret
:
string
;
/**小程序相关配置 */
...
...
src/main.ts
View file @
4b78d84c
...
...
@@ -11,7 +11,6 @@ import { httpServer } from "./net/http_server";
async
function
lanuch
()
{
/**初始化配置解析 */
await
initConfig
();
...
...
@@ -21,11 +20,11 @@ async function lanuch() {
/**创建http服务 */
httpServer
.
createServer
(
systemConfig
.
port
);
console
.
log
(
'This indicates that the server is started successfully.'
);
await
initEnterpriseData
();
// await initEnterpriseData(); //初始化户管企业
// await out20251031();
// await dataOut();
// await test111222();
await
test33333
();
//
await test33333();
}
...
...
src/net/http_server.ts
View file @
4b78d84c
...
...
@@ -5,7 +5,7 @@ import compression = require('compression');
import
{
watch
}
from
'../middleware/watch'
;
import
{
httpErrorHandler
}
from
'../middleware/httpErrorHandler'
;
import
*
as
path
from
"path"
;
import
*
as
fallback
from
'express-history-api-fallback'
;
import
fallback
from
'express-history-api-fallback'
;
export
class
httpServer
{
static
createServer
(
port
:
number
)
{
...
...
src/tools/system.ts
View file @
4b78d84c
...
...
@@ -5,6 +5,7 @@
*/
import
moment
=
require
(
"moment"
);
import
{
systemConfig
}
from
"../config/serverConfig"
;
const
md5
=
require
(
"md5"
);
...
...
@@ -280,7 +281,7 @@ export function convertFilesToObjectArray(fileInput: any) {
if
(
!
extension
)
{
return
{
name
:
originalFileName
,
url
:
url
url
:
`
${
systemConfig
.
img
}${
url
}
`
};
}
...
...
@@ -368,7 +369,7 @@ export function convertFilesToObjectArray(fileInput: any) {
return
{
name
:
finalFileName
,
url
:
url
url
:
`
${
systemConfig
.
img
}${
url
}
`
};
});
...
...
tsconfig.json
View file @
4b78d84c
...
...
@@ -4,7 +4,13 @@
"target"
:
"es2017"
,
"sourceMap"
:
true
,
"rootDir"
:
"./src"
,
"outDir"
:
"./out"
"outDir"
:
"./out"
,
"esModuleInterop"
:
true
,
"allowSyntheticDefaultImports"
:
true
,
"strict"
:
false
,
"noImplicitAny"
:
false
,
"strictNullChecks"
:
false
,
"types"
:
[
"node"
]
},
"exclude"
:
[
"node_modules"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment