Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yuyiAdminServer
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
yuyiAdminServer
Commits
ff053674
Commit
ff053674
authored
May 26, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
41a1ecc4
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
812 additions
and
228 deletions
+812
-228
dataInit.ts
src/biz/dataInit.ts
+442
-218
qccInit.ts
src/biz/qccInit.ts
+308
-0
tongZhi.ts
src/biz/tongZhi.ts
+10
-7
enterprise.ts
src/config/eccParam/enterprise.ts
+3
-1
enum.ts
src/config/enum/enum.ts
+2
-2
dataInterfaceWithCache.ts
src/data/dataInterfaceWithCache.ts
+43
-0
main.ts
src/main.ts
+4
-0
No files found.
src/biz/dataInit.ts
View file @
ff053674
...
...
@@ -7,7 +7,7 @@ import moment = require("moment");
import
{
getQcc
}
from
"../util/request"
;
import
{
OPERATIONALDATATYPE
,
TABLEID
,
TABLENAME
}
from
"../config/enum/dbEnum"
;
import
{
operationalData
,
selectData
}
from
"../data/operationalData"
;
import
{
getMySqlMs
,
randomId
}
from
"../tools/system"
;
import
{
getMySqlMs
,
getPinyinInitials
,
randomId
}
from
"../tools/system"
;
import
{
FINANCINGROUNDS
,
IPRALLTYPE
}
from
"../config/enum/enum"
;
import
{
table
}
from
"console"
;
import
{
changeEnumValue
}
from
"../util/verificationEnum"
;
...
...
@@ -85,7 +85,7 @@ export async function 统计() {
export
async
function
test
()
{
let
uscc
=
"91310115MADM8EA654"
;
await
工商信息
(
uscc
);
await
软件著作
(
uscc
);
await
软件著作
查询
(
uscc
);
await
国际专利
(
uscc
);
await
专利查询
(
uscc
);
await
融资信息核查
(
uscc
);
...
...
@@ -128,17 +128,40 @@ export async function qccData() {
* @param uscc
* @returns
*/
function
getReqParam
(
uscc
)
{
function
getReqParam
(
uscc
,
isKeyNo
?
)
{
const
TimeSpan
=
Math
.
round
(
new
Date
().
valueOf
()
/
1000
);
let
header
=
{
Token
:
md5
(
`
${
systemConfig
.
qccKey
}${
TimeSpan
}${
systemConfig
.
qccSecretKey
}
`
).
toUpperCase
(),
TimeSpan
};
let
query
=
{
let
query
=
{};
if
(
isKeyNo
==
"isKeyNo"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
keyNo
:
uscc
,
};
}
else
if
(
isKeyNo
==
"Id"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
id
:
uscc
,
};
}
else
if
(
isKeyNo
==
"certId"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
certId
:
uscc
,
};
}
else
if
(
isKeyNo
==
"企业名称"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
keyword
:
uscc
,
}
}
else
{
query
=
{
key
:
systemConfig
.
qccKey
,
searchKey
:
uscc
,
// keyNo:"云合智网(上海)技术有限公司"
};
}
return
{
header
,
query
};
}
...
...
@@ -153,150 +176,361 @@ async function addManyData(tableName, dataList) {
console
.
log
(
tableName
,
"写入成功"
);
}
async
function
awaitData
(
uscc
:
string
)
{
await
工商信息
(
uscc
);
await
软件著作
(
uscc
);
await
主要人员
(
uscc
);
await
分支机构
(
uscc
);
await
行政许可核查
(
uscc
);
await
空壳扫描
(
uscc
);
await
准入尽职调查
(
uscc
);
await
融资信息核查
(
uscc
);
await
国际专利
(
uscc
);
await
科创分
(
uscc
);
await
资质证书
(
uscc
);
await
专利查询
(
uscc
);
await
失信核查
(
uscc
);
await
严重违法核查
(
uscc
);
await
企业对外投资核查
(
uscc
);
export
async
function
awaitData
(
uscc
:
string
)
{
let
商标查询
Data
=
await
商标查询
(
uscc
);
let
专利查询
Data
=
await
专利查询
(
uscc
);
let
作品著作查询
Data
=
await
作品著作查询
(
uscc
);
let
软件著作
Data
=
await
软件著作查询
(
uscc
);
let
备案网站
Data
=
await
备案网站查询
(
uscc
);
let
资质证书
Data
=
await
资质证书查询
(
uscc
);
// let 工商信息Data = await 工商信息(uscc);
// let 软件著作Data = await 软件著作(uscc);
// let 主要人员Data = await 主要人员(uscc);
// let 分支机构Data = await 分支机构(uscc);
// let 行政许可核查Data = await 行政许可核查(uscc);
// let 空壳扫描Data = await 空壳扫描(uscc);
// let 准入尽职调查Data = await 准入尽职调查(uscc);
// let 融资信息核查Data = await 融资信息核查(uscc);
// let 国际专利Data = await 国际专利(uscc);
// let 科创分Data = await 科创分(uscc);
// let 资质证书Data = await 资质证书(uscc);
// let 失信核查Data = await 失信核查(uscc);
// let 严重违法核查Data = await 严重违法核查(uscc);
// let 企业对外投资核查Data = await 企业对外投资核查(uscc);
// let 企业年报信息Data = await 企业年报信息(uscc);
let
initData
=
{
// 工商信息Data,
// 软件著作Data,
// 主要人员Data,
// 分支机构Data,
// 行政许可核查Data,
// 空壳扫描Data,
// 准入尽职调查Data,
// 融资信息核查Data,
// 国际专利Data,
// 科创分Data,
// 资质证书Data,
商标查询
Data
,
专利查询
Data
,
作品著作查询
Data
,
软件著作
Data
,
备案网站
Data
,
资质证书
Data
,
// 失信核查Data,
// 严重违法核查Data,
// 企业对外投资核查Data,
// 企业年报信息Data,
}
console
.
log
(
"企查查数据同步成功"
);
return
initData
;
}
function
领域补充
()
{
let
企业名单
=
onceSheetBecomeOfblockData
(
'科学城在孵企业.xlsx'
,
"Sheet1"
);
let
dataList
=
企业名单
[
0
].
blockData
;
async
function
商标查询
(
uscc
)
{
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
,
"enterpriseName"
]);
let
enterpriseName
=
enterpriseInfo
.
enterpriseName
;
let
{
header
,
query
}
=
getReqParam
(
enterpriseName
,
"企业名称"
);
let
map
=
{};
dataList
.
forEach
((
sub
,
index
)
=>
{
if
(
!
index
)
return
;
map
[
sub
[
6
]]
=
sub
[
7
];
});
let
商标查询
:
any
=
await
getQcc
(
'https://api.qichacha.com/tm/SearchByApplicant'
,
query
,
header
);
if
(
Array
.
isArray
(
商标查询
))
{
for
(
let
i
=
0
;
i
<
商标查询
.
length
;
i
++
)
{
let
Id
=
商标查询
[
i
].
ID
;
let
qcc
商标详情
=
await
商标详情查询
(
uscc
,
Id
);
商标查询
[
i
][
"qcc商标详情"
]
=
qcc
商标详情
;
}
}
return
map
;
return
商标查询
;
}
async
function
工商信息
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
工商信息
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECIInfoVerify/GetInfo'
,
query
,
header
);
//获取工商信息
async
function
商标详情查询
(
uscc
,
id
)
{
let
{
header
,
query
}
=
getReqParam
(
id
,
"Id"
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/tm/GetDetails'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
])
;
let
eId
=
enterpriseInfo
.
eId
;
return
qccselectdata
;
}
//股权结构
if
(
工商信息
.
Partners
)
{
let
ownershipList
=
[];
工商信息
.
Partners
.
forEach
(
info
=>
{
let
addInfo
:
any
=
{
owId
:
randomId
(
TABLEID
.
股权结构
),
eId
,
name
:
info
.
StockName
,
finalBenefitPercent
:
info
.
FinalBenefitPercent
,
stockPercent
:
info
.
StockPercent
,
stockType
:
info
.
StockType
,
realCapi
:
info
.
RealCapi
,
paidUpCapitalUnit
:
info
.
PaidUpCapitalUnit
,
subscribedCapital
:
info
.
SubscribedCapital
,
subscribedCapitalUnit
:
info
.
SubscribedCapitalUnit
,
};
if
(
info
.
CapiDate
)
addInfo
.
capiDate
=
getMySqlMs
(
info
.
CapiDate
);
if
(
info
.
ShoudDate
)
addInfo
.
shoudDate
=
getMySqlMs
(
info
.
ShoudDate
);
async
function
专利查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/PatentV4/SearchMultiPatents'
,
query
,
header
);
if
(
Array
.
isArray
(
qccselectdata
))
{
let
addList
=
[];
for
(
let
i
=
0
;
i
<
qccselectdata
.
length
;
i
++
)
{
let
qcc
专利详情
=
{};
let
info
=
qccselectdata
[
i
];
let
qcc
专利
Id
=
info
.
Id
;
qccselectdata
[
i
][
"qcc专利详情"
]
=
await
专利详情查询
(
qcc
专利
Id
);
ownershipList
.
push
(
addInfo
);
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
});
}
await
addManyData
(
TABLENAME
.
股权结构
,
ownershipList
);
}
if
(
工商信息
.
TagList
)
{
let
enterpriseLabelList
=
[];
return
qccselectdata
;
}
工商信息
.
TagList
.
forEach
(
info
=>
{
enterpriseLabelList
.
push
({
elId
:
randomId
(
TABLEID
.
企业标签表
),
eId
,
type
:
info
.
Type
,
labelName
:
info
.
Name
,
});
});
await
addManyData
(
TABLENAME
.
企业标签表
,
enterpriseLabelList
);
}
async
function
专利详情查询
(
id
)
{
let
{
header
,
query
}
=
getReqParam
(
id
,
"Id"
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/PatentV4/GetDetails'
,
query
,
header
);
if
(
工商信息
.
Industry
)
{
let
industryInfo
=
{
eiId
:
randomId
(
TABLEID
.
行业信息分类
),
eId
,
industryCode
:
工商信息
.
Industry
.
IndustryCode
,
//行业门类code
industry
:
工商信息
.
Industry
.
Industry
,
//行业门类描述
subIndustryCode
:
工商信息
.
Industry
.
SubIndustryCode
,
//行业大类code
subIndustry
:
工商信息
.
Industry
.
SubIndustry
,
//行业大类描述
middleCategoryCode
:
工商信息
.
Industry
.
MiddleCategoryCode
,
//行业中类code
middleCategory
:
工商信息
.
Industry
.
MiddleCategory
,
//行业中类描述
smallCategoryCode
:
工商信息
.
Industry
.
SmallCategoryCode
,
//行业小类code
smallCategory
:
工商信息
.
Industry
.
SmallCategory
,
//行业小类描述
};
return
qccselectdata
;
}
async
function
作品著作查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
作品著作查询
:
any
=
await
getQcc
(
'https://api.qichacha.com/CopyRight/SearchCopyRight'
,
query
,
header
);
if
(
Array
.
isArray
(
作品著作查询
))
{
let
addList
=
[];
await
addManyData
(
TABLENAME
.
行业信息分类
,
[
industryInfo
]);
}
if
(
工商信息
.
ChangeRecords
)
{
let
infoupdateList
=
[];
return
作品著作查询
;
}
工商信息
.
ChangeRecords
.
forEach
(
info
=>
{
infoupdateList
.
push
({
updateId
:
randomId
(
TABLEID
.
变更信息表
),
eId
,
afterContent
:
info
.
AfterContent
,
//变更前
beforeContent
:
info
.
BeforeContent
,
//变更后
changeDate
:
getMySqlMs
(
info
.
ChangeDate
),
//变更时间
projectName
:
info
.
ProjectName
,
//变更类型
});
});
await
addManyData
(
TABLENAME
.
变更信息表
,
infoupdateList
);
async
function
软件著作查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
软件著作查询
:
any
=
await
getQcc
(
'https://api.qichacha.com/CopyRight/SearchSoftwareCr'
,
query
,
header
);
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
if
(
Array
.
isArray
(
软件著作查询
))
{
let
addList
=
[];
// 著作权软著.forEach(info => {
// addList.push({
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs(info.RegisterDate),
// number:1,
// iprType:IPRALLTYPE.软件著作权,
// iprName:info.Name,
// category:info.Category,
// });
// });
// await addManyData(TABLENAME.知识产权, addList);
}
return
return
软件著作查询
;
}
async
function
软件著作
(
uscc
)
{
async
function
备案网站查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
著作权软著
:
any
=
await
getQcc
(
'https://api.qichacha.com/CopyRight/SearchCopyRight'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
let
备案网站查询
:
any
=
await
getQcc
(
'https://api.qichacha.com/WebSiteV4/GetCompanyWebSite'
,
query
,
header
);
if
(
Array
.
isArray
(
备案网站查询
))
{
let
addList
=
[];
}
return
备案网站查询
;
}
if
(
Array
.
isArray
(
著作权软著
))
{
async
function
资质证书查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECICertification/SearchCertification'
,
query
,
header
);
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
if
(
Array
.
isArray
(
qccselectdata
))
{
let
addList
=
[];
著作权软著
.
forEach
(
info
=>
{
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
eId
,
year
:
getMySqlMs
(
info
.
RegisterDate
),
number
:
1
,
iprType
:
IPRALLTYPE
.
软件著作权
,
iprName
:
info
.
Name
,
category
:
info
.
Category
,
});
});
for
(
let
i
=
0
;
i
<
qccselectdata
.
length
;
i
++
)
{
let
qcc
资质证书详情
=
{};
let
info
=
qccselectdata
[
i
];
let
qcc
资质证书
Id
=
info
.
Id
;
qccselectdata
[
i
][
"qcc资质证书详情"
]
=
await
资质证书详情查询
(
qcc
资质证书
Id
);
await
addManyData
(
TABLENAME
.
知识产权
,
addList
);
}
console
.
log
();
// qccselectdata.forEach(info => {
// let addInfo:any = {
// cerId:randomId(TABLEID.资质证书),
// eId,
// name:info.Name,
// type:info.Type,
// no:info.No,
// typeDesc:info.TypeDesc,
// institutionList:info.InstitutionList ? info.InstitutionList[0] :"",
// status:info.Status,
// };
// if (info.StartDate) addInfo.startDate = getMySqlMs(info.StartDate)
// if (info.EndDate) addInfo.endDate = getMySqlMs(info.EndDate)
// addList.push(addInfo);
// });
// await addManyData(TABLENAME.资质证书, addList);
}
return
qccselectdata
;
}
async
function
资质证书详情查询
(
id
)
{
let
{
header
,
query
}
=
getReqParam
(
id
,
"certId"
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECICertification/GetCertificationDetailById'
,
query
,
header
);
return
qccselectdata
;
}
function
领域补充
()
{
let
企业名单
=
onceSheetBecomeOfblockData
(
'科学城在孵企业.xlsx'
,
"Sheet1"
);
let
dataList
=
企业名单
[
0
].
blockData
;
let
map
=
{};
dataList
.
forEach
((
sub
,
index
)
=>
{
if
(
!
index
)
return
;
map
[
sub
[
6
]]
=
sub
[
7
];
});
return
map
;
}
async
function
工商信息
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
工商信息
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECIInfoVerify/GetInfo'
,
query
,
header
);
//获取工商信息
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
let
pinyinName
=
getPinyinInitials
(
工商信息
.
Name
);
let
industryList
=
[];
//Industry
let
TermStart
=
moment
(
工商信息
.
TermStart
).
format
(
"YYYY-MM-DD"
);
let
TermEnd
=
"无固定期限"
;
if
(
工商信息
.
TermEnd
)
TermEnd
=
moment
(
工商信息
.
TermEnd
).
format
(
"YYYY-MM-DD"
);
//企业基础信息
let
baseInfo
=
{
enterpriseName
:
工商信息
.
Name
,
pinyinName
,
uscc
:
工商信息
.
CreditCode
,
zhuCeHao
:
工商信息
.
No
,
//EntType = 0/1/4/6/7/9/10/11/-1 中国境内企业时:该字段返回工商注册号;EntType = 3 中国香港企业时:该字段返回企业编号;EntType = 5 中国台湾企业时:该字段返回企业编号
zuZhiJiGouDaiMa
:
工商信息
.
OrgNo
,
// gengDuoDianHua: 工商信息., //更多电话
// mainBusiness: 工商信息., //主营业务
logonTime
:
getMySqlMs
(
工商信息
.
StartDate
),
//成立日期
// mail: 工商信息., //邮箱
// isNaturalPersonHolding: 工商信息., //是否自然人控股
// industry: 工商信息., //领域
// moreMail: 工商信息., //更多邮箱
logonAddress
:
工商信息
.
Address
,
//注册地址
// tongXinDiZhi: 工商信息., //通信地址
// liaison: 工商信息., //联系人
// liaisonPhone: 工商信息., //联系电话
dengJiJiGuan
:
工商信息
.
BelongOrg
,
//登机机关
// qiYeGuiMo: 工商信息., //企业规模 TagList
RAS
:
工商信息
.
Status
,
//登记状态
// guanWang: 工商信息., //官网地址
yingYeQiXian
:
`
${
TermStart
}
至
${
TermEnd
}
`
,
//营业期限 TermStart至TermEnd
logOffMS
:
工商信息
.
EndDate
||
null
,
//注销时间
shijiaoziben
:
工商信息
.
RecCap
,
//实缴资本
// enterpriseType: 工商信息., //企业机构类型
// jianJie: 工商信息., //简介
zhuceziben
:
工商信息
.
RegistCapi
,
//注册资本
// naShuiRenZiZhi: 工商信息., //纳税人资质
// operatingAddress: 工商信息., //经营地址
// oldLogonAddress: 工商信息., //迁入前注册地址
// shuiHao: 工商信息., //税号
// shuiWuJu: 工商信息., //税务员
jingYingFanWei
:
工商信息
.
Scope
,
//经营范围
};
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
企业基础信息表
,
baseInfo
,
{
uscc
});
// //股权结构
// if (工商信息.Partners) {
// let ownershipList = [];
// 工商信息.Partners.forEach(info => {
// let addInfo:any = {
// owId:randomId(TABLEID.股权结构),
// eId,
// name:info.StockName,
// finalBenefitPercent:info.FinalBenefitPercent,
// stockPercent:info.StockPercent,
// stockType:info.StockType,
// realCapi:info.RealCapi,
// paidUpCapitalUnit:info.PaidUpCapitalUnit,
// subscribedCapital:info.SubscribedCapital,
// subscribedCapitalUnit:info.SubscribedCapitalUnit,
// };
// if (info.CapiDate) addInfo.capiDate = getMySqlMs(info.CapiDate);
// if (info.ShoudDate) addInfo.shoudDate = getMySqlMs(info.ShoudDate);
// ownershipList.push(addInfo);
// });
// await addManyData(TABLENAME.股权结构, ownershipList);
// }
// if (工商信息.TagList) {
// let enterpriseLabelList = [];
// 工商信息.TagList.forEach(info => {
// enterpriseLabelList.push({
// elId:randomId(TABLEID.企业标签表),
// eId,
// type:info.Type,
// labelName:info.Name,
// });
// });
// await addManyData(TABLENAME.企业标签表, enterpriseLabelList);
// }
// if (工商信息.Industry) {
// let industryInfo = {
// eiId:randomId(TABLEID.行业信息分类),
// eId,
// industryCode:工商信息.Industry.IndustryCode ,//行业门类code
// industry:工商信息.Industry.Industry ,//行业门类描述
// subIndustryCode:工商信息.Industry.SubIndustryCode ,//行业大类code
// subIndustry:工商信息.Industry.SubIndustry ,//行业大类描述
// middleCategoryCode:工商信息.Industry.MiddleCategoryCode ,//行业中类code
// middleCategory:工商信息.Industry.MiddleCategory ,//行业中类描述
// smallCategoryCode:工商信息.Industry.SmallCategoryCode ,//行业小类code
// smallCategory:工商信息.Industry.SmallCategory ,//行业小类描述
// };
// await addManyData(TABLENAME.行业信息分类, [industryInfo]);
// }
// if (工商信息.ChangeRecords) {
// let infoupdateList = [];
// 工商信息.ChangeRecords.forEach(info => {
// infoupdateList.push({
// updateId:randomId(TABLEID.变更信息表),
// eId,
// afterContent:info.AfterContent, //变更前
// beforeContent:info.BeforeContent, //变更后
// changeDate:getMySqlMs(info.ChangeDate),//变更时间
// projectName:info.ProjectName,//变更类型
// });
// });
// await addManyData(TABLENAME.变更信息表, infoupdateList);
// }
return
工商信息
;
}
async
function
主要人员
(
uscc
)
{
...
...
@@ -318,6 +552,7 @@ async function 主要人员(uscc) {
await
addManyData
(
TABLENAME
.
主要人员
,
addList
);
}
return
主要人员数据
;
}
...
...
@@ -340,6 +575,8 @@ async function 分支机构(uscc) {
});
await
addManyData
(
TABLENAME
.
分支机构
,
addList
);
}
return
分支机构数据
;
}
...
...
@@ -371,6 +608,8 @@ async function 行政许可核查(uscc) {
await
addManyData
(
TABLENAME
.
行政许可核查
,
addList
);
}
return
行政许可核查数据
;
}
async
function
空壳扫描
(
uscc
)
{
...
...
@@ -391,6 +630,8 @@ async function 空壳扫描(uscc) {
});
await
addManyData
(
TABLENAME
.
空壳扫描
,
addList
);
}
return
qccselectdata
;
}
async
function
准入尽职调查
(
uscc
)
{
...
...
@@ -414,8 +655,11 @@ async function 准入尽职调查(uscc) {
});
await
addManyData
(
TABLENAME
.
风险
,
addList
);
}
return
qccselectdata
;
}
function
getFinancingRounds
(
str
)
{
if
(
str
.
indexOf
(
"天使"
))
return
FINANCINGROUNDS
.
天使投资
;
if
(
str
.
indexOf
(
"种子"
))
return
FINANCINGROUNDS
.
种子轮
;
...
...
@@ -429,45 +673,49 @@ function getFinancingRounds(str) {
async
function
融资信息核查
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/CompanyFinancingSearch/GetList'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
if
(
qccselectdata
.
Data
)
{
let
addList
=
[];
qccselectdata
.
Data
.
forEach
(
info
=>
{
addList
.
push
({
rId
:
randomId
(
TABLEID
.
企业融资
),
eId
,
financingAmount
:
isNaN
(
info
.
Amoun
)
?
0
:
parseFloat
(
info
.
Amount
),
financingRounds
:
getFinancingRounds
(
info
.
Round
),
investmentDate
:
getMySqlMs
(
info
.
Date
),
investmentInstitutionsName
:
info
.
Investment
,
});
});
await
addManyData
(
TABLENAME
.
企业融资
,
addList
);
}
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
// if (qccselectdata.Data) {
// let addList = [];
// qccselectdata.Data.forEach(info => {
// addList.push({
// rId:randomId(TABLEID.企业融资),
// eId,
// financingAmount:isNaN(info.Amoun) ? 0 : parseFloat(info.Amount),
// financingRounds:getFinancingRounds(info.Round),
// investmentDate:getMySqlMs(info.Date),
// investmentInstitutionsName:info.Investment,
// });
// });
// await addManyData(TABLENAME.企业融资, addList);
// }
return
qccselectdata
;
}
async
function
国际专利
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/InternationalPatentCheck/GetList'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
if
(
qccselectdata
.
Data
)
{
let
addList
=
[];
qccselectdata
.
Data
.
forEach
(
info
=>
{
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
eId
,
year
:
getMySqlMs
(
info
.
PublicationDate
),
number
:
1
,
iprType
:
IPRALLTYPE
.
海外专利
,
iprName
:
info
.
Title
,
});
});
await
addManyData
(
TABLENAME
.
知识产权
,
addList
);
}
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
// if (qccselectdata.Data) {
// let addList = [];
// qccselectdata.Data.forEach(info => {
// addList.push({
// iprId:randomId(TABLEID.知识产权),
// eId,
// year:getMySqlMs(info.PublicationDate),
// number:1,
// iprType:IPRALLTYPE.海外专利,
// iprName:info.Title,
// });
// });
// await addManyData(TABLENAME.知识产权, addList);
// }
return
qccselectdata
;
}
...
...
@@ -488,61 +736,32 @@ async function 科创分(uscc) {
};
await
addManyData
(
TABLENAME
.
科创分
,
[
addInfo
]);
}
}
async
function
资质证书
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECICertification/SearchCertification'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
if
(
Array
.
isArray
(
qccselectdata
))
{
let
addList
=
[];
qccselectdata
.
forEach
(
info
=>
{
let
addInfo
:
any
=
{
cerId
:
randomId
(
TABLEID
.
资质证书
),
eId
,
name
:
info
.
Name
,
type
:
info
.
Type
,
no
:
info
.
No
,
typeDesc
:
info
.
TypeDesc
,
institutionList
:
info
.
InstitutionList
?
info
.
InstitutionList
[
0
]
:
""
,
status
:
info
.
Status
,
};
if
(
info
.
StartDate
)
addInfo
.
startDate
=
getMySqlMs
(
info
.
StartDate
)
if
(
info
.
EndDate
)
addInfo
.
endDate
=
getMySqlMs
(
info
.
EndDate
)
addList
.
push
(
addInfo
);
});
await
addManyData
(
TABLENAME
.
资质证书
,
addList
);
}
return
qccselectdata
;
}
async
function
专利查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/PatentV4/Search'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
//
async function 专利查询(uscc) {
//
let {header, query} = getReqParam(uscc);
//
let qccselectdata:any = await getQcc('https://api.qichacha.com/PatentV4/Search', query, header);
//
let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
//
let eId = enterpriseInfo.eId;
if
(
Array
.
isArray
(
qccselectdata
))
{
console
.
log
();
//todo 没有做
let
addList
=
[];
qccselectdata
.
forEach
(
info
=>
{
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
//
if (Array.isArray(qccselectdata)) {
//
console.log();
//
//todo 没有做
//
let addList = [];
//
qccselectdata.forEach(info => {
//
addList.push({
//
iprId:randomId(TABLEID.知识产权),
});
});
//
});
//
});
}
//
}
console
.
log
()
;
}
// return qccselectdata
;
//
}
async
function
失信核查
(
uscc
)
{
...
...
@@ -572,6 +791,8 @@ async function 失信核查(uscc) {
});
await
addManyData
(
TABLENAME
.
失信核查
,
addList
);
}
return
qccselectdata
;
}
...
...
@@ -600,6 +821,8 @@ async function 严重违法核查(uscc) {
});
await
addManyData
(
TABLENAME
.
严重违法犯罪
,
addList
);
}
return
qccselectdata
;
}
...
...
@@ -635,33 +858,34 @@ async function 企业对外投资核查(uscc) {
});
await
addManyData
(
TABLENAME
.
对外投资
,
addList
);
}
}
return
qccselectdata
;
}
// async function 企业年报信息(uscc, query, header) {
// let qccselectdata:any = await getQcc('https://api.qichacha.com/AR/GetAnnualReport', query, header);
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
// if (qccselectdata.Data) {
// let addList = [];
// qccselectdata.Data.forEach(info => {
// addList.push({
// stemId:randomId(TABLENAME.知识产权),
// eId,
// industry:info.Industry,
// subIndustry:info.SubIndustry,
// industryRanking:info.IndustryRanking,
// score:info.Score,
// });
// });
// }
// console.log();
// }
async
function
企业年报信息
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
,
"isKeyNo"
);
let
企业年报信息
:
any
=
await
getQcc
(
'https://api.qichacha.com/AR/GetAnnualReport'
,
query
,
header
);
// let enterpriseInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {uscc}, ["eId"]);
// let eId = enterpriseInfo.eId;
// if (企业年报信息.Data) {
// let addList = [];
// 企业年报信息.Data.forEach(info => {
// addList.push({
// stemId:randomId(TABLENAME.知识产权),
// eId,
// industry:info.Industry,
// subIndustry:info.SubIndustry,
// industryRanking:info.IndustryRanking,
// score:info.Score,
// });
// });
// }
return
企业年报信息
;
}
...
...
src/biz/qccInit.ts
0 → 100644
View file @
ff053674
import
{
OPERATIONALDATATYPE
,
TABLEID
,
TABLENAME
}
from
"../config/enum/dbEnum"
;
import
{
operationalData
,
selectData
}
from
"../data/operationalData"
;
import
{
systemConfig
}
from
"../config/serverConfig"
;
import
{
getQcc
}
from
"../util/request"
;
import
{
getMySqlMs
,
getPinyinInitials
,
randomId
}
from
"../tools/system"
;
import
moment
=
require
(
"moment"
);
const
md5
=
require
(
"md5"
);
/**
* 获取数据库所有企业uscc,进行企查查数据同步
*/
export
async
function
qccData
()
{
let
enterpriseList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业基础信息表
,
{},
[
"eId"
,
"uscc"
,
"enterpriseName"
]);
for
(
let
i
=
0
;
i
<
enterpriseList
.
length
;
i
++
)
{
let
info
=
enterpriseList
[
i
];
console
.
log
(
"开始同步企查查数据"
);
await
awaitData
(
info
.
uscc
,
info
.
eId
);
console
.
log
(
`
${
info
.
enterpriseName
}
同步成功, eId:
${
info
.
eId
}
,下标
${
i
}
`
);
}
}
async
function
awaitData
(
uscc
,
eId
)
{
await
工商信息
(
uscc
,
eId
);
await
专利查询
(
uscc
,
eId
);
// await 软件著作(uscc);
// await 主要人员(uscc);
// await 分支机构(uscc);
// await 行政许可核查(uscc);
// await 空壳扫描(uscc);
// await 准入尽职调查(uscc);
// await 融资信息核查(uscc);
// await 国际专利(uscc);
// await 科创分(uscc);
// await 资质证书(uscc);
// await 专利查询(uscc);
// await 失信核查(uscc);
// await 严重违法核查(uscc);
// await 企业对外投资核查(uscc);
console
.
log
(
"企查查数据同步成功"
);
}
/**
* 封装了一个请求方法
* @param uscc
* @returns
*/
function
getReqParam
(
uscc
,
isKeyNo
?)
{
const
TimeSpan
=
Math
.
round
(
new
Date
().
valueOf
()
/
1000
);
let
header
=
{
Token
:
md5
(
`
${
systemConfig
.
qccKey
}${
TimeSpan
}${
systemConfig
.
qccSecretKey
}
`
).
toUpperCase
(),
TimeSpan
};
let
query
=
{};
if
(
isKeyNo
==
"isKeyNo"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
keyNo
:
uscc
,
};
}
else
if
(
isKeyNo
==
"qcc专利Id"
)
{
query
=
{
key
:
systemConfig
.
qccKey
,
id
:
uscc
,
};
}
else
{
query
=
{
key
:
systemConfig
.
qccKey
,
searchKey
:
uscc
,
// keyNo:"云合智网(上海)技术有限公司"
};
}
return
{
header
,
query
};
}
async
function
工商信息
(
uscc
,
eId
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
工商信息
:
any
=
await
getQcc
(
'https://api.qichacha.com/ECIInfoVerify/GetInfo'
,
query
,
header
);
//获取工商信息
let
pinyinName
=
getPinyinInitials
(
工商信息
.
Name
);
let
industryList
=
[];
//Industry
let
TermStart
=
moment
(
工商信息
.
TermStart
).
format
(
"YYYY-MM-DD"
);
let
TermEnd
=
"无固定期限"
;
if
(
工商信息
.
TermEnd
)
TermEnd
=
moment
(
工商信息
.
TermEnd
).
format
(
"YYYY-MM-DD"
);
//企业基础信息
let
baseInfo
=
{
enterpriseName
:
工商信息
.
Name
,
pinyinName
,
uscc
:
工商信息
.
CreditCode
,
zhuCeHao
:
工商信息
.
No
,
//EntType = 0/1/4/6/7/9/10/11/-1 中国境内企业时:该字段返回工商注册号;EntType = 3 中国香港企业时:该字段返回企业编号;EntType = 5 中国台湾企业时:该字段返回企业编号
zuZhiJiGouDaiMa
:
工商信息
.
OrgNo
,
// gengDuoDianHua: 工商信息., //更多电话
// mainBusiness: 工商信息., //主营业务
logonTime
:
getMySqlMs
(
工商信息
.
StartDate
),
//成立日期
mail
:
工商信息
.
ContactInfo
.
Email
,
//邮箱
// isNaturalPersonHolding: 工商信息., //是否自然人控股
// industry: 工商信息., //领域
// moreMail: 工商信息., //更多邮箱
logonAddress
:
工商信息
.
Address
,
//注册地址
// tongXinDiZhi: 工商信息., //通信地址
// liaison: 工商信息., //联系人
liaisonPhone
:
工商信息
.
ContactInfo
.
PhoneNumber
,
//联系电话
dengJiJiGuan
:
工商信息
.
BelongOrg
,
//登机机关
qiYeGuiMo
:
工商信息
.
TagList
[
0
].
Name
,
//企业规模 TagList
RAS
:
工商信息
.
Status
,
//登记状态
guanWang
:
工商信息
.
ContactInfo
.
WebSite
[
0
].
Url
,
//官网地址
yingYeQiXian
:
`
${
TermStart
}
至
${
TermEnd
}
`
,
//营业期限 TermStart至TermEnd
logOffMS
:
工商信息
.
EndDate
||
null
,
//注销时间
shijiaoziben
:
工商信息
.
RecCap
,
//实缴资本
// enterpriseType: 工商信息., //企业机构类型
// jianJie: 工商信息., //简介
zhuceziben
:
工商信息
.
RegistCapi
,
//注册资本
// naShuiRenZiZhi: 工商信息., //纳税人资质
// operatingAddress: 工商信息., //经营地址
// oldLogonAddress: 工商信息., //迁入前注册地址
// shuiHao: 工商信息., //税号
// shuiWuJu: 工商信息., //税务员
jingYingFanWei
:
工商信息
.
Scope
,
//经营范围
};
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
企业基础信息表
,
baseInfo
,
{
uscc
,
eId
});
//股权结构
if
(
工商信息
.
Partners
)
{
//删除历史记录数据
await
operationalData
(
OPERATIONALDATATYPE
.
删除
,
TABLENAME
.
股权结构
,
null
,
{
eId
});
//同步最新记录
let
ownershipList
=
[];
工商信息
.
Partners
.
forEach
(
info
=>
{
let
addInfo
:
any
=
{
owId
:
randomId
(
TABLEID
.
股权结构
),
eId
,
name
:
info
.
StockName
,
finalBenefitPercent
:
info
.
FinalBenefitPercent
,
stockPercent
:
info
.
StockPercent
,
stockType
:
info
.
StockType
,
realCapi
:
info
.
RealCapi
,
paidUpCapitalUnit
:
info
.
PaidUpCapitalUnit
,
subscribedCapital
:
info
.
SubscribedCapital
,
subscribedCapitalUnit
:
info
.
SubscribedCapitalUnit
,
};
if
(
info
.
CapiDate
)
addInfo
.
capiDate
=
getMySqlMs
(
info
.
CapiDate
);
if
(
info
.
ShoudDate
)
addInfo
.
shoudDate
=
getMySqlMs
(
info
.
ShoudDate
);
ownershipList
.
push
(
addInfo
);
});
await
operationalData
(
OPERATIONALDATATYPE
.
增加
,
TABLENAME
.
股权结构
,
ownershipList
,
null
);
}
//企业标签表
if
(
工商信息
.
TagList
)
{
//删除历史记录数据
await
operationalData
(
OPERATIONALDATATYPE
.
删除
,
TABLENAME
.
企业标签表
,
null
,
{
eId
});
//同步最新记录
let
enterpriseLabelList
=
[];
工商信息
.
TagList
.
forEach
(
info
=>
{
enterpriseLabelList
.
push
({
elId
:
randomId
(
TABLEID
.
企业标签表
),
eId
,
type
:
info
.
Type
,
labelName
:
info
.
Name
,
});
});
await
operationalData
(
OPERATIONALDATATYPE
.
增加
,
TABLENAME
.
企业标签表
,
enterpriseLabelList
,
null
);
}
if
(
工商信息
.
Industry
)
{
//删除历史记录数据
await
operationalData
(
OPERATIONALDATATYPE
.
删除
,
TABLENAME
.
行业信息分类
,
null
,
{
eId
});
//同步最新记录
let
industryInfo
=
{
eiId
:
randomId
(
TABLEID
.
行业信息分类
),
eId
,
industryCode
:
工商信息
.
Industry
.
IndustryCode
,
//行业门类code
industry
:
工商信息
.
Industry
.
Industry
,
//行业门类描述
subIndustryCode
:
工商信息
.
Industry
.
SubIndustryCode
,
//行业大类code
subIndustry
:
工商信息
.
Industry
.
SubIndustry
,
//行业大类描述
middleCategoryCode
:
工商信息
.
Industry
.
MiddleCategoryCode
,
//行业中类code
middleCategory
:
工商信息
.
Industry
.
MiddleCategory
,
//行业中类描述
smallCategoryCode
:
工商信息
.
Industry
.
SmallCategoryCode
,
//行业小类code
smallCategory
:
工商信息
.
Industry
.
SmallCategory
,
//行业小类描述
};
await
operationalData
(
OPERATIONALDATATYPE
.
增加
,
TABLENAME
.
行业信息分类
,
[
industryInfo
],
null
);
}
if
(
工商信息
.
ChangeRecords
)
{
//删除历史记录数据
await
operationalData
(
OPERATIONALDATATYPE
.
删除
,
TABLENAME
.
变更信息表
,
null
,
{
eId
});
//同步最新记录
let
infoupdateList
=
[];
工商信息
.
ChangeRecords
.
forEach
(
info
=>
{
infoupdateList
.
push
({
updateId
:
randomId
(
TABLEID
.
变更信息表
),
eId
,
afterContent
:
info
.
AfterContent
,
//变更前
beforeContent
:
info
.
BeforeContent
,
//变更后
changeDate
:
getMySqlMs
(
info
.
ChangeDate
),
//变更时间
projectName
:
info
.
ProjectName
,
//变更类型
});
});
await
operationalData
(
OPERATIONALDATATYPE
.
增加
,
TABLENAME
.
变更信息表
,
infoupdateList
,
null
);
}
return
}
async
function
商标查询
(
uscc
)
{
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
,
"enterpriseName"
]);
let
enterpriseName
=
enterpriseInfo
.
enterpriseName
;
let
{
header
,
query
}
=
getReqParam
(
enterpriseName
,
"企业名称"
);
let
商标查询
:
any
=
await
getQcc
(
'https://api.qichacha.com/tm/SearchByApplicant'
,
query
,
header
);
if
(
Array
.
isArray
(
商标查询
))
{
for
(
let
i
=
0
;
i
<
商标查询
.
length
;
i
++
)
{
let
Id
=
商标查询
[
i
].
ID
;
let
qcc
商标详情
=
await
商标详情查询
(
uscc
,
Id
);
商标查询
[
i
][
"qcc商标详情"
]
=
qcc
商标详情
;
}
}
return
商标查询
;
}
async
function
商标详情查询
(
uscc
,
id
)
{
let
{
header
,
query
}
=
getReqParam
(
id
,
"Id"
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/tm/GetDetails'
,
query
,
header
);
return
qccselectdata
;
}
async
function
软件著作
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
著作权软著
:
any
=
await
getQcc
(
'https://api.qichacha.com/CopyRight/SearchCopyRight'
,
query
,
header
);
let
enterpriseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
uscc
},
[
"eId"
]);
let
eId
=
enterpriseInfo
.
eId
;
if
(
Array
.
isArray
(
著作权软著
))
{
let
addList
=
[];
著作权软著
.
forEach
(
info
=>
{
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
eId
,
year
:
getMySqlMs
(
info
.
RegisterDate
),
number
:
1
,
iprType
:
IPRALLTYPE
.
软件著作权
,
iprName
:
info
.
Name
,
category
:
info
.
Category
,
});
});
await
addManyData
(
TABLENAME
.
知识产权
,
addList
);
}
return
著作权软著
;
}
async
function
专利查询
(
uscc
)
{
let
{
header
,
query
}
=
getReqParam
(
uscc
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/PatentV4/SearchMultiPatents'
,
query
,
header
);
if
(
Array
.
isArray
(
qccselectdata
))
{
console
.
log
();
//todo 没有做
let
addList
=
[];
for
(
let
i
=
0
;
i
<
qccselectdata
.
length
;
i
++
)
{
let
info
=
qccselectdata
[
i
];
let
qcc
专利
Id
=
info
.
Id
;
let
专利详情
=
await
专利详情查询
(
uscc
,
qcc
专利
Id
);
addList
.
push
({
iprId
:
randomId
(
TABLEID
.
知识产权
),
});
}
}
return
qccselectdata
;
}
async
function
专利详情查询
(
uscc
,
id
)
{
let
{
header
,
query
}
=
getReqParam
(
id
,
"qcc专利Id"
);
let
qccselectdata
:
any
=
await
getQcc
(
'https://api.qichacha.com/PatentV4/GetDetails'
,
query
,
header
);
return
qccselectdata
;
}
src/biz/tongZhi.ts
View file @
ff053674
...
...
@@ -15,7 +15,7 @@ import { eccFormParam } from "../util/verificationParam";
export
async
function
gardenNoticeList
(
keywords
:
string
,
page
:
number
)
{
let
selectParam
:
any
=
{};
if
(
keywords
)
selectParam
.
content
=
{
"%like%"
:
keywords
};
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"publishTime"
,
"content"
];
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"publish
StartTime"
,
"publishEnd
Time"
,
"content"
];
// let resList = await selectData(OPERATIONALDATATYPE.分页查询, TABLENAME.园区通知表, {}, filesList, page);
let
resList
=
await
selectData
(
OPERATIONALDATATYPE
.
分页查询
,
TABLENAME
.
园区通知表
,
selectParam
,
filesList
,
page
);
...
...
@@ -27,7 +27,7 @@ export async function gardenNoticeList(keywords:string, page:number) {
title
:
info
.
title
,
content
:
info
.
content
,
isPublished
:
info
.
isPublished
,
publishTime
:
moment
(
info
.
publishTime
).
format
(
"YYYY-MM-DD"
)
publishTime
:
`
${
moment
(
info
.
publishStartTime
).
format
(
"YYYY-MM-DD"
)}
-
${
moment
(
info
.
publishEndTime
).
format
(
"YYYY-MM-DD"
)}
`
});
});
...
...
@@ -36,7 +36,7 @@ export async function gardenNoticeList(keywords:string, page:number) {
export
async
function
gardenNoticeInfo
(
gnId
:
string
)
{
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"content"
,
"publish
Time"
,
"relatedEnterprise"
];
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"content"
,
"publishStartTime"
,
"publishEnd
Time"
,
"relatedEnterprise"
];
let
resInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
园区通知表
,
{
gnId
},
filesList
);
let
dataInfo
=
{
...
...
@@ -44,7 +44,8 @@ export async function gardenNoticeInfo(gnId:string) {
title
:
resInfo
.
title
,
//标题
content
:
resInfo
.
content
,
//内容
isPublished
:
resInfo
.
isPublished
,
//是否发布(1:是,0:否)
publishTime
:
resInfo
.
publishTime
,
//发布时间
publishStartTime
:
resInfo
.
publishStartTime
,
//发布时间
publishEndTime
:
resInfo
.
publishEndTime
,
//发布时间
relatedEnterprise
:
JSON
.
parse
(
resInfo
.
relatedEnterprise
||
'[]'
),
//关联企业
};
return
{
dataInfo
}
...
...
@@ -54,12 +55,13 @@ export async function gardenNoticeInfo(gnId:string) {
export
async
function
gardenNoticeUpdate
(
gnId
:
string
,
param
)
{
const
FuncName
=
"修改园区通知"
eccFormParam
(
FuncName
,
GardenNoticeUpdateConfig
,
param
);
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"content"
,
"publishTime"
,
"relatedEnterprise"
];
let
filesList
=
[
"gnId"
,
"title"
,
"isPublished"
,
"content"
,
"publish
StartTime"
,
"publishEnd
Time"
,
"relatedEnterprise"
];
let
resInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
园区通知表
,
{
gnId
},
filesList
);
if
(
!
resInfo
.
gnId
)
throw
new
BizError
(
ERRORENUM
.
数据不存在
);
param
.
publishTime
=
getMySqlMs
(
param
.
publishTime
);
param
.
publishStartTime
=
getMySqlMs
(
param
.
publishStartTime
);
param
.
publishEndTime
=
getMySqlMs
(
param
.
publishEndTime
);
param
.
relatedEnterprise
=
JSON
.
stringify
(
param
.
relatedEnterprise
);
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
园区通知表
,
param
,
{
gnId
});
...
...
@@ -71,7 +73,8 @@ export async function gardenNoticeAdd(param) {
eccFormParam
(
FuncName
,
GardenNoticeUpdateConfig
,
param
);
param
.
gnId
=
randomId
(
TABLEID
.
园区通知表
);
param
.
publishTime
=
getMySqlMs
(
param
.
publishTime
);
param
.
publishStartTime
=
getMySqlMs
(
param
.
publishStartTime
);
param
.
publishEndTime
=
getMySqlMs
(
param
.
publishEndTime
);
param
.
relatedEnterprise
=
JSON
.
stringify
(
param
.
relatedEnterprise
);
await
operationalData
(
OPERATIONALDATATYPE
.
增加
,
TABLENAME
.
园区通知表
,
param
,
{});
...
...
src/config/eccParam/enterprise.ts
View file @
ff053674
...
...
@@ -10,7 +10,9 @@ export const GardenNoticeUpdateConfig = {
title
:{
type
:
"String"
},
// 标题
content
:{
type
:
"String"
},
// 内容
isPublished
:{
type
:
"Number"
},
// 是否发布(1:是,0:否)
publishTime
:{
type
:
"Number"
},
// 发布时间
// publishTime:{type:"Number"},// 发布时间
publishStartTime
:{
type
:
"Number"
},
//发布开始时间
publishEndTime
:{
type
:
"Number"
},
//发布结束时间
relatedEnterprise
:{
type
:
"[String]"
},
// 关联企业
}
...
...
src/config/enum/enum.ts
View file @
ff053674
...
...
@@ -130,8 +130,8 @@ export enum FOLLOWUPSTATUS {
*/
export
enum
NEEDCATEGORY
{
// 物业服务 = 1,
工商税务
=
2
,
代理记账
,
//
工商税务 = 2,
代理记账
=
3
,
贷款服务
,
法律服务
,
知识产权
,
...
...
src/data/dataInterfaceWithCache.ts
0 → 100644
View file @
ff053674
import
{
awaitData
}
from
"../biz/dataInit"
;
import
{
OPERATIONALDATATYPE
,
TABLENAME
}
from
"../config/enum/dbEnum"
;
import
{
selectData
}
from
"./operationalData"
;
// 初始化数据文件结构
async
function
initDataFile
()
{
let
enterpriseList
=
await
selectData
(
OPERATIONALDATATYPE
.
查询多个
,
TABLENAME
.
企业基础信息表
,
{},
[
"eId"
,
"uscc"
,
"enterpriseName"
]);
let
currentData
=
{};
let
usccData
=
await
awaitData
(
"91310115MADM8EA654"
);
currentData
[
"91310115MADM8EA654"
]
=
usccData
;
for
(
let
i
=
0
;
i
<
enterpriseList
.
length
;
i
++
)
{
let
info
=
enterpriseList
[
i
];
console
.
log
(
"开始同步企查查数据"
);
let
usccData
=
await
awaitData
(
info
.
uscc
);
currentData
[
info
.
uscc
]
=
usccData
;
console
.
log
(
`
${
info
.
enterpriseName
}
同步成功, eId:
${
info
.
eId
}
,下标
${
i
}
`
);
}
console
.
log
(
"刷新缓存数据结束"
)
}
/**
* 接口更新
* 设置定时器,每天刷新一次数据
*/
export
async
function
initApiDataStorage
()
{
await
initDataFile
();
setInterval
(
async
function
()
{
await
initDataFile
();
},
3600
*
1000
*
24
);
}
src/main.ts
View file @
ff053674
import
{
awaitData
}
from
"./biz/dataInit"
;
import
{
initConfig
,
systemConfig
}
from
"./config/serverConfig"
;
import
{
initApiDataStorage
}
from
"./data/dataInterfaceWithCache"
;
import
{
httpServer
}
from
"./net/http_server"
;
async
function
lanuch
()
{
await
initConfig
();
httpServer
.
createServer
(
systemConfig
.
port
);
console
.
log
(
'This indicates that the server is started successfully.'
);
// await initApiDataStorage();
}
...
...
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