Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zjxcxServer
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
zjxcxServer
Commits
889bcfb6
Commit
889bcfb6
authored
Oct 14, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
雨艺数据同步
parent
dfcb3dd9
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
158 additions
and
3 deletions
+158
-3
user.ts
src/biz/admin/user.ts
+1
-1
dataSynchronous.ts
src/biz/dataSynchronous.ts
+98
-0
main.ts
src/main.ts
+2
-2
user.ts
src/middleware/user.ts
+21
-0
dataSync.ts
src/routers/admin/dataSync.ts
+32
-0
router.ts
src/routers/router.ts
+4
-0
No files found.
src/biz/admin/user.ts
View file @
889bcfb6
...
@@ -29,7 +29,7 @@ export async function login(loginId:string, pwd:string) {
...
@@ -29,7 +29,7 @@ export async function login(loginId:string, pwd:string) {
isFuHuaQi
=
true
;
isFuHuaQi
=
true
;
pwd
=
md5
(
pwd
);
pwd
=
md5
(
pwd
);
}
}
if
(
userIsNull
)
throw
new
BizError
(
ERRORENUM
.
账号不存在
,
loginId
);
//
if (userIsNull) throw new BizError(ERRORENUM.账号不存在, loginId);
let
checkPwd
=
getPwdMd5
(
loginId
,
pwd
);
let
checkPwd
=
getPwdMd5
(
loginId
,
pwd
);
if
(
userInfo
.
pwd
!=
checkPwd
)
throw
new
BizError
(
ERRORENUM
.
密码错误
);
if
(
userInfo
.
pwd
!=
checkPwd
)
throw
new
BizError
(
ERRORENUM
.
密码错误
);
...
...
src/biz/dataSynchronous.ts
0 → 100644
View file @
889bcfb6
/**
* 数据同步
*/
import
{
TASKTYPEENUM
}
from
"../config/enum"
;
import
{
findEnterpriseByUscc
}
from
"../data/enterprise/enterprise"
;
import
{
eccFormParam
}
from
"../util/verificationParam"
;
import
{
registerEnterprise
}
from
"./mobileFuHuaQi/enterprise/enterprise"
;
import
{
createReport
,
updateReport
}
from
"./mobileFuHuaQi/fuHuaQi/month"
;
import
{
checkTask
}
from
"./mobileFuHuaQi/fuHuaQi/task/monthTask"
;
/**
* 同步新注册企业
*/
export
async
function
syncMonthTask
(
enterpriseList
,
rate
)
{
const
EnterpriseConfig
=
{
name
:{
type
:
"String"
},
//企业名称
uscc
:{
type
:
"String"
},
//统一信用代码
industry
:{
type
:
"[Number]"
},
//领域
logonTime
:{
type
:
"Number"
},
//注册时间
firstIncubationTime
:{
type
:
"Number"
},
//首次入孵时间
isNaturalPersonHolding
:{
type
:
"Boolean"
},
//是否自然人控股企业
logonAddress
:{
type
:
"Address"
},
//注册地址 2.1修改
operatingAddress
:{
type
:
"Address"
},
//经营地址 2.1修改
leasedArea
:{
type
:
"Number"
},
//租赁面积(平方米)
mainBusiness
:{
type
:
"String"
},
//主营业务
jiaSu
:{
type
:
"Number"
},
//加速企业 是=1 否 =2
jiaSuZiZhi
:{
type
:
"[Number]"
,
notMustHave
:
true
},
//加速资质
jiaSuZiZhiDesc
:{
type
:
"String"
,
notMustHave
:
true
},
//加速资质其他
leaseAddress
:{
type
:
"String"
},
//租赁地址
price
:{
type
:
"Number"
},
//单价
contractStartTime
:{
type
:
"Number"
},
//合同开始时间
contractEndTime
:{
type
:
"Number"
},
//合同结束时间
payStartTime
:{
type
:
"Number"
},
//租金缴纳时间
payLong
:{
type
:
"Number"
},
//缴纳时长
areaUnit
:{
type
:
"Number"
},
};
let
dataList
=
[];
//先校验数据
enterpriseList
.
forEach
(
info
=>
{
let
eccResult
=
eccFormParam
(
"校验同步数据时的新注册企业"
,
EnterpriseConfig
,
info
);
if
(
eccResult
)
{
dataList
.
push
(
info
);
}
});
for
(
let
i
=
0
;
i
<
dataList
.
length
;
i
++
)
{
let
item
=
dataList
[
i
];
let
info
=
await
findEnterpriseByUscc
(
item
.
uscc
);
if
(
!
info
||
!
info
.
uscc
)
{
await
registerEnterprise
(
"91310115069312504K"
,
item
);
}
}
await
createReport
(
"91310115069312504K"
,
rate
);
return
{
isSuccess
:
true
}
}
export
async
function
asyncCheckTask
()
{
await
checkTask
(
"91310115069312504K"
,
TASKTYPEENUM
.
孵化器月度填报
);
await
checkTask
(
"91310115069312504K"
,
TASKTYPEENUM
.
新注册或迁入企业登记
);
await
checkTask
(
"91310115069312504K"
,
TASKTYPEENUM
.
融资企业填报
);
console
.
log
(
"任务自动提交成功"
);
return
{
isSuccess
:
true
}
}
/**
* 同步迁入企业数据
*/
export
async
function
aysncMoveInEnterprsieData
()
{
}
/**
* 同步融资数据
*/
export
async
function
asyncFinancingData
()
{
}
/**
* 同步出租率
*/
export
async
function
asyncRateData
()
{
}
\ No newline at end of file
src/main.ts
View file @
889bcfb6
...
@@ -32,9 +32,9 @@ async function lanuch() {
...
@@ -32,9 +32,9 @@ async function lanuch() {
// await test();
// await test();
// await zhenDuanBaoGao();
// await zhenDuanBaoGao();
// updateQCCDataTask();
// updateQCCDataTask();
/**初始化孵化器上海张江药谷公共服务平台有限公司下所有企业密码 */
/**初始化孵化器上海张江药谷公共服务平台有限公司下所有企业密码 */
await
getFuHuaQiEnterprise
();
//
await getFuHuaQiEnterprise();
}
}
...
...
src/middleware/user.ts
View file @
889bcfb6
...
@@ -147,4 +147,24 @@ export async function checkInterior(req, res, next) {
...
@@ -147,4 +147,24 @@ export async function checkInterior(req, res, next) {
if
(
!
Sign
||
Sign
!=
sysSign
)
return
next
(
new
BizError
(
ERRORENUM
.
非法登录
,
`内部接口非法调用
${
Sign
}
`
));
if
(
!
Sign
||
Sign
!=
sysSign
)
return
next
(
new
BizError
(
ERRORENUM
.
非法登录
,
`内部接口非法调用
${
Sign
}
`
));
next
();
next
();
}
/**
* 中间件 数据同步接口
* @param req
* @param res
* @param next
* @returns
*/
export
async
function
checkDataAsyncInterior
(
req
,
res
,
next
)
{
if
(
!
req
.
headers
)
req
.
headers
=
{};
const
Sign
=
req
.
headers
.
sign
;
let
sysSign
=
'sadfjslakdfjlksadjffujisdaiofjsajl09092302ddd'
if
(
!
Sign
||
Sign
!=
sysSign
)
return
next
(
new
BizError
(
ERRORENUM
.
非法登录
,
`内部接口非法调用
${
Sign
}
`
));
next
();
}
}
\ No newline at end of file
src/routers/admin/dataSync.ts
0 → 100644
View file @
889bcfb6
/**
* 管理后台端 企业相关
* 包括 在孵企业页面
* 包括 企业融资页面
*/
import
*
as
asyncHandler
from
'express-async-handler'
;
import
{
checkDataAsyncInterior
}
from
'../../middleware/user'
;
import
{
eccReqParamater
}
from
'../../util/verificationParam'
;
import
{
syncMonthTask
,
asyncCheckTask
}
from
'../../biz/dataSynchronous'
;
export
function
setRouter
(
httpServer
)
{
httpServer
.
post
(
'/admin/dataasync/task'
,
checkDataAsyncInterior
,
asyncHandler
(
taskSync
));
httpServer
.
post
(
'/admin/dataasync/task/submit'
,
checkDataAsyncInterior
,
asyncHandler
(
submitTask
));
}
async
function
taskSync
(
req
,
res
)
{
let
reqConf
=
{
enterpriseList
:
'[Object]'
,
rate
:
'Number'
};
const
NotMustHaveKeys
=
[
];
let
{
rate
,
enterpriseList
}
=
eccReqParamater
(
reqConf
,
req
.
body
,
NotMustHaveKeys
);
let
result
=
await
syncMonthTask
(
enterpriseList
,
rate
);
res
.
success
(
result
);
}
async
function
submitTask
(
req
,
res
)
{
let
result
=
await
asyncCheckTask
();
res
.
success
(
result
);
}
\ No newline at end of file
src/routers/router.ts
View file @
889bcfb6
...
@@ -52,6 +52,7 @@ import * as activityRouter from './mobileClient/activity';
...
@@ -52,6 +52,7 @@ import * as activityRouter from './mobileClient/activity';
import
*
as
adminActivityRouter
from
'./admin/activity'
;
import
*
as
adminActivityRouter
from
'./admin/activity'
;
import
*
as
portraitRouter
from
'./admin/portrait'
;
import
*
as
portraitRouter
from
'./admin/portrait'
;
import
*
as
dataSyncRouter
from
'./admin/dataSync'
;
export
function
setRouter
(
httpServer
){
export
function
setRouter
(
httpServer
){
/**下拉框等公用 路由 */
/**下拉框等公用 路由 */
...
@@ -116,5 +117,7 @@ export function setRouter(httpServer){
...
@@ -116,5 +117,7 @@ export function setRouter(httpServer){
activityRouter
.
setRouter
(
httpServer
);
activityRouter
.
setRouter
(
httpServer
);
adminActivityRouter
.
setRouter
(
httpServer
);
adminActivityRouter
.
setRouter
(
httpServer
);
dataSyncRouter
.
setRouter
(
httpServer
);
portraitRouter
.
setRouter
(
httpServer
);
portraitRouter
.
setRouter
(
httpServer
);
}
}
\ No newline at end of file
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