From 92e555365c901b34b551164b1c8c651d64500130 Mon Sep 17 00:00:00 2001
From: Jeason0228 <44083849+Jeason0228@users.noreply.github.com>
Date: Thu, 31 Oct 2019 14:21:42 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20add=20=E3=80=90=E6=B7=B1=E5=9C=B3?=
=?UTF-8?q?=E8=AF=81=E5=88=B8=E4=BA=A4=E6=98=93=E6=89=80-=E9=97=AE?=
=?UTF-8?q?=E8=AF=A2=E5=87=BD=E4=BB=B6=E3=80=91Rss=20(#3351)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/other.md | 4 ++
lib/router.js | 1 +
lib/routes/szse/inquire.js | 89 ++++++++++++++++++++++++++++++++++++++
3 files changed, 94 insertions(+)
create mode 100644 lib/routes/szse/inquire.js
diff --git a/docs/other.md b/docs/other.md
index 9294505d6f..db3bfe63a1 100644
--- a/docs/other.md
+++ b/docs/other.md
@@ -311,6 +311,10 @@ type 为 all 时,category 参数不支持 cost 和 free
+### 问询函件(全部/主板/中小企业板/创业板)
+
+
+
## 搜狗
### 搜狗特色 LOGO
diff --git a/lib/router.js b/lib/router.js
index 358c53006e..9611b87db9 100644
--- a/lib/router.js
+++ b/lib/router.js
@@ -1756,6 +1756,7 @@ router.get('/sse/renewal/', require('./routes/sse/renewal'));
// 深圳证券交易所——上市公告
router.get('/szse/notice/', require('./routes/szse/notice'));
+router.get('/szse/inquire/:type', require('./routes/szse/inquire'));
// 前端艺术家每日整理&&飞冰早报
router.get('/jskou/:type?', require('./routes/jskou/index'));
diff --git a/lib/routes/szse/inquire.js b/lib/routes/szse/inquire.js
new file mode 100644
index 0000000000..1d616d84cb
--- /dev/null
+++ b/lib/routes/szse/inquire.js
@@ -0,0 +1,89 @@
+const got = require('@/utils/got');
+const cheerio = require('cheerio');
+
+module.exports = async (ctx) => {
+ const type = ctx.params.type;
+ const ptype = {
+ navall: { name: '主板+中小企业+创业板', tabkey: 'tab0', dataNum: 0, dataCategory: '全部', dataArr: [] },
+ nav1: { name: '主板', tabkey: 'tab1', dataNum: 0, dataCategory: '主板', dataArr: [] },
+ nav2: { name: '中小企业板', tabkey: 'tab2', dataNum: 1, dataCategory: '中小企业板', dataArr: [] },
+ nav3: { name: '创业板', tabkey: 'tab3', dataNum: 2, dataCategory: '创业板', dataArr: [] },
+ };
+ function getUrl(params) {
+ const $ = cheerio.load(params);
+ const url = $('a').attr('encode-open');
+ return url;
+ }
+ function restUrl(params) {
+ const $ = cheerio.load(params);
+ const getText = $('a').text();
+ const url = $('a').attr('encode-open');
+ const resthref = `http://reportdocs.static.szse.cn${url}`;
+ if (params !== '') {
+ params = `${getText}`;
+ } else {
+ params = '';
+ }
+ return params;
+ }
+ for (const key in ptype) {
+ if (key !== 'navall') {
+ const host = 'http://www.szse.cn/';
+ const link = `http://www.szse.cn/api/report/ShowReport/data?SHOWTYPE=JSON&CATALOGID=main_wxhj&TABKEY=${ptype[key].tabkey}&loading=first`;
+ // eslint-disable-next-line no-await-in-loop
+ const response = await got.get(link, {
+ Referer: host,
+ });
+ const datNum = ptype[key].dataNum;
+ const temp = response.data;
+ ptype[key].dataArr = temp[datNum].data;
+ for (let i = 0; i < ptype[key].dataArr.length; i++) {
+ ptype[key].dataArr[i].category = ptype[key].dataCategory;
+ }
+ } else {
+ console.log(key);
+ }
+ }
+
+ let outList;
+ switch (type) {
+ case 'nav1':
+ outList = ptype.navall.dataArr.concat(ptype.nav1.dataArr);
+ break;
+ case 'nav2':
+ outList = ptype.navall.dataArr.concat(ptype.nav2.dataArr);
+ break;
+ case 'nav3':
+ outList = ptype.navall.dataArr.concat(ptype.nav3.dataArr);
+ break;
+ default:
+ outList = ptype.navall.dataArr.concat(ptype.nav1.dataArr, ptype.nav2.dataArr, ptype.nav3.dataArr);
+ break;
+ }
+ ctx.state.data = {
+ title: `深圳证券交易所——【${ptype[type].name}】问询函件`,
+ link: `http://www.szse.cn/disclosure/supervision/inquire/index.html`,
+ description: `深圳证券交易所/信息披露/监管信息公开/问询函件`,
+ item: outList.map((item) => ({
+ title: `【${item.category}】` + item.gsjc,
+ category: item.category,
+ author: item.category,
+ description:
+ `
+
+ | 公司代码 : | ${item.gsdm} |
+ | 公司简称 : | ${item.gsjc} |
+ | 发函日期 : | ${item.fhrq} |
+ | 函件类别 : | ${item.hjlb} |
+ | 函件内容 : | ` +
+ restUrl(item.ck) +
+ ` |
+ | 公司回复 : | ` +
+ restUrl(item.hfck) +
+ ` |
+
`,
+ pubDate: new Date(item.fhrq).toUTCString(),
+ link: `http://reportdocs.static.szse.cn` + getUrl(`${item.ck}`),
+ })),
+ };
+};