Commit 565255b4 by lixinming

逻辑层

parent a5081157
No preview for this file type
import { mock柱状图数据模板, mock键值数据模板, mock地图数据模板} from "../util/mockData";
export async function getData(req, res) {
let ret:any = {};
ret["孵化载体"] = get孵化载体();
ret["孵化载体占比数据"] = get孵化载体占比数据();
ret["孵化载体数量趋势"] = get孵化载体数量趋势();
ret["孵化载体投资主体"] = get孵化载体投资主体();
ret["孵化载体行业分类"] = get孵化载体行业分类();
ret["孵化载体运营"] = get孵化载体运营();
ret["平均营收趋势"] = get平均营收趋势();
ret["重要评价指标"] = get重要评价指标();
ret["服务资源"] = get服务资源();
ret["政策服务"] = get政策服务();
ret["地图数据"] = get地图数据();
res.send(ret);
}
function get孵化载体() {
return mock键值数据模板(4, 4, 'c', 2, false);
}
function get孵化载体占比数据() {
return mock键值数据模板(2, 5, 'c', 1, true);
}
function get孵化载体数量趋势() {
return mock柱状图数据模板(11);
}
function get孵化载体投资主体() {
return mock键值数据模板(3, 2, 'c', 2, false);
}
function get孵化载体行业分类() {
return mock键值数据模板(5, 4, 'c', 2, false);
}
function get孵化载体运营() {
return mock键值数据模板(5, 2, 'c', 3, false);
}
function get平均营收趋势() {
return mock柱状图数据模板(7);
}
function get重要评价指标() {
return mock键值数据模板(4, 5, 'c', 3, false);
}
function get服务资源() {
return mock键值数据模板(8, 10, 'c', 3, false);
}
function get政策服务() {
return mock键值数据模板(2, 3, 'c', 4, false);
}
function get地图数据() {
return mock地图数据模板(100);
}
import { mock柱状图数据模板, mock键值数据模板, mock地图数据模板} from "../util/mockData";
export async function getData(req, res) {
let ret:any = {};
ret["上市企业板块分布"] = get上市企业板块分布();
ret["科创版企业"] = get科创版企业();
ret["挂牌企业"] = get挂牌企业();
ret["2020年企业融资情况"] = get2020年企业融资情况();
ret["2020年企业上市情况"] = get2020年企业上市情况();
ret["融资金额趋势"] = get融资金额趋势();
ret["上市企业行业分布"] = get上市企业行业分布();
ret["创投机构"] = get创投机构();
ret["融资企业行业分布"] = get融资企业行业分布();
ret["企业融资阶段分布"] = get企业融资阶段分布();
ret["金融产品担保方式占比"] = get金融产品担保方式占比();
ret["中央球展示数据"] = get中央球展示数据();
res.send(ret);
}
function get上市企业板块分布() {
return mock键值数据模板(8, 4, 'c', 3, true);
}
function get科创版企业() {
return mock键值数据模板(10, 6, 'c', 2, true);
}
function get挂牌企业() {
return mock键值数据模板(4, 4, 'c', 2, false);
}
function get2020年企业融资情况() {
return mock键值数据模板(3, 4, 'c', 2, false);
}
function get2020年企业上市情况() {
return mock键值数据模板(3, 5, 'c', 2, false);
}
function get融资金额趋势() {
return mock柱状图数据模板(17);
}
function get上市企业行业分布() {
return mock键值数据模板(5, 4, 'c', 2, false);
}
function get创投机构() {
return mock键值数据模板(4, 4, 'c', 2, true);
}
function get融资企业行业分布() {
return mock键值数据模板(8, 7, 'c', 2, true);
}
function get企业融资阶段分布() {
return mock键值数据模板(12, 6, 'c', 3, true);
}
function get金融产品担保方式占比() {
return mock键值数据模板(7, 6, 'c', 2, true);
}
function get中央球展示数据() {
return mock键值数据模板(5, 5, 'c', 3, true);
}
import { mock柱状图数据模板, mock键值数据模板, mock地图数据模板} from "../util/mockData";
export async function getData(req, res) {
let ret:any = {};
ret["企业特征"] = get企业特征();
ret["代表企业"] = get代表企业();
ret["海外项目"] = get海外项目();
ret["人才引进"] = get人才引进();
ret["营业收入TOP5"] = get营业收入TOP5();
ret["净利润TOP5"] = get净利润TOP5();
ret["研发投入TOP5"] = get研发投入TOP5();
ret["入孵企业数量趋势"] = get入孵企业数量趋势();
ret["孵化器2020入驻企业数量排名"] = get孵化器2020入驻企业数量排名();
ret["运营指标趋势"] = get运营指标趋势();
ret["企业运营情况"] = get企业运营情况();
ret["企业运营概况"] = get企业运营概况();
ret["科技创新"] = get科技创新();
ret["发明专利申请与授权数比例"] = get发明专利申请与授权数比例();
ret["高新技术企业数据概况"] = get高新技术企业数据概况();
ret["高新技术企业培育"] = get高新技术企业培育();
ret["企业融资"] = get企业融资();
ret["2020四季度重大融资事件"] = get2020四季度重大融资事件();
res.send(ret);
}
function get企业特征() {
return mock键值数据模板(5, 4, 'c', 3, false);
}
function get代表企业() {
return ;
}
function get海外项目() {
return mock键值数据模板(7, 4, 'c', 2, true);
}
function get人才引进() {
return mock键值数据模板(7, 6, 'c', 4, true);
}
function get营业收入TOP5() {
return mock键值数据模板(5, 12, 'c', 1, true);
}
function get净利润TOP5() {
return mock键值数据模板(5, 12, 'c', 1, true);
}
function get研发投入TOP5() {
return mock键值数据模板(5, 12, 'c', 1, true);
}
function get入孵企业数量趋势() {
return mock柱状图数据模板(11);
}
function get孵化器2020入驻企业数量排名() {
return mock键值数据模板(5, 10, 'c', 3, false);
}
function get运营指标趋势() {
return mock柱状图数据模板(17);
}
function get企业运营情况() {
return mock键值数据模板(5, 5, 'c', 3, true);
}
function get企业运营概况() {
return mock键值数据模板(5, 4, 'c', 5, true);
}
function get科技创新() {
return mock键值数据模板(5, 4, 'c', 5, false);
}
function get发明专利申请与授权数比例() {
return mock柱状图数据模板(6);
}
function get高新技术企业数据概况() {
return mock键值数据模板(3, 4, 'c', 3, true);
}
function get高新技术企业培育() {
return mock柱状图数据模板(5);
}
function get企业融资() {
return mock键值数据模板(4, 4, 'c', 3, false);
}
function get2020四季度重大融资事件() {
return mock键值数据模板(5, 8, 'c', 3, true);
}
import { mock柱状图数据模板, mock键值数据模板, mock地图数据模板} from "../util/mockData";
export async function getData(req, res) {
let ret:any = {};
ret["大中小企业融通发展联盟"] = get大中小企业融通发展联盟();
ret["主要成效"] = get主要成效();
ret["创业加速营"] = get创业加速营();
ret["大企业开放式创新平台"] = get大企业开放式创新平台();
ret["大企业服务和成果"] = get大企业服务和成果();
ret["地图数据"] = get地图数据();
res.send(ret);
}
function get大中小企业融通发展联盟() {
return mock键值数据模板(2, 4, 'c', 3, false);
}
function get主要成效() {
return mock键值数据模板(5, 10, 'c', 3, false);
}
function get创业加速营() {
return mock键值数据模板(1, 7, 'c', 1, false);
}
function get大企业开放式创新平台() {
return mock键值数据模板(3, 3, 'c', 1, false);
}
function get大企业服务和成果() {
return mock键值数据模板(4, 4, 'c', 2, false);
}
function get地图数据() {
return mock地图数据模板(22);
}
import { mock柱状图数据模板, mock键值数据模板, mock地图数据模板} from "../util/mockData";
export async function getData(req, res) {
let ret:any = {};
ret["双创集群"] = get双创集群();
ret["孵化器增长趋势"] = get孵化器增长趋势();
ret["企业培育"] = get企业培育();
ret["行业分布"] = get行业分布();
ret["张江大中小企业融通发展联盟"] = get张江大中小企业融通发展联盟();
ret["大企业开放式创新平台"] = get大企业开放式创新平台();
ret["科技金融"] = get科技金融();
ret["股权融资趋势"] = get股权融资趋势();
ret["地图数据"] = get地图数据();
res.send(ret);
}
function get双创集群() {
return mock键值数据模板(7, 8, 'c', 3, true);
}
function get孵化器增长趋势() {
return mock柱状图数据模板(6);
}
function get企业培育() {
return mock键值数据模板(3, 6, 'c', 3, true);
}
function get行业分布() {
return mock键值数据模板(5, 4, 'c', 3, true);
}
function get张江大中小企业融通发展联盟() {
return mock键值数据模板(2, 4, 'c', 2, false);
}
function get大企业开放式创新平台() {
return mock键值数据模板(3, 6, 'c', 1, true);
}
function get科技金融() {
return mock键值数据模板(3, 6, 'c', 3, true);
}
function get股权融资趋势() {
return mock柱状图数据模板(6);
}
function get地图数据() {
return mock地图数据模板(8);
}
import * as path from "path";
import * as fs from "fs";
import { BizError } from "../util/bizError";
import { limitEnteNameString } from "../util/tools";
import { getExcelDataBySheetName, analysisExcelDataOfObject } from "../util/analysisExcel";
export function getsheet1() {;
let bolckDataList = getExcelDataBySheetName('数据模板', 'sheet1');
let result = {};
for (let i = 0; i < bolckDataList.length; i++) {
let {blockData, blockTitle} = bolckDataList[i];
let analysisData = analysisExcelDataOfObject(blockData, true, true);
result[blockTitle] = analysisData;
}
return result;
}
export function getsheet2() {;
let bolckDataList = getExcelDataBySheetName('数据模板', 'sheet2');
let result = {};
for (let i = 0; i < bolckDataList.length; i++) {
let {blockData, blockTitle} = bolckDataList[i];
let analysisData = analysisExcelDataOfObject(blockData, true, true);
result[blockTitle] = analysisData;
}
return result;
}
\ No newline at end of file
...@@ -2,26 +2,34 @@ let fs = require('fs'); ...@@ -2,26 +2,34 @@ let fs = require('fs');
//excel的名字 //excel的名字
const excelName = "数据模板"; const excelName = "数据模板";
let sheetNameList = ["sheet1", "sheet2"]; let typeEnum = {
"键值数据" : 1,
let RoutersheetNameList=[ "图标数据" : 2,
{name:"api1",dataList:[ //name:名称,len:长度,type:类型,haveUnit:是否有单位 "列表数据" : 3
{name:"sheet1",len:7,type:"键值",haveUnit:true}, }
{name:"sheet2",len:3,type:"柱状",haveUnit:true},
{name:"sheet3",len:8,type:"键值",haveUnit:true},
{name:"sheet4",len:7,type:"键值",haveUnit:true}, const createBizAndDataConfigMap = {
{name:"sheet5",len:5,type:"地图",haveUnit:true} "page1": {
]}, sheetName:"页面1",
{name:"api2",dataList:[ apiList:[
{name:"sheet1",len:6,type:"键值",haveUnit:true}, { type:"键值数据", dataName:"模拟数据块", title:"教师学段人数", unit:"个", total:true, percent:false}
{name:"sheet2",len:1,type:"柱状",haveUnit:true}, ]
{name:"sheet3",len:3,type:"柱状",haveUnit:true}, },
]}, "page2": {
{name:"api3",dataList:[ sheetName:"页面2",
{name:"sheet1",len:5,type:"地图",haveUnit:true}, apiList:[
{name:"sheet2",len:6,type:"键值",haveUnit:true} {}
]} ]
] },
"page3": {
sheetName:"页面3",
apiList:[
{}
]
}
};
//创建data层 //创建data层
function createData() { function createData() {
...@@ -34,8 +42,9 @@ function createData() { ...@@ -34,8 +42,9 @@ function createData() {
for (let i = 0; i < sheetNameList.length; i++) { for (let pangeName in createBizAndDataConfigMap) {
let sheetName = sheetNameList[i]; let { sheetName } = createBizAndDataConfigMap[pangeName];
str += ` str += `
export function get${sheetName}() {; export function get${sheetName}() {;
...@@ -63,21 +72,64 @@ function createData() { ...@@ -63,21 +72,64 @@ function createData() {
}); });
} }
//创建Router层 //创建biz层
function createRouter() { function createBiz(){
let path = `./routers/router.ts`; for (let pageName in createBizAndDataConfigMap) {
fs.access(path, (err) => { let { apiList, sheetName } = createBizAndDataConfigMap[pageName];
if (!err) {
console.error(path, "文件已存在"); let thisBizData = getBizStr(apiList, sheetName);
return;
let path = `./biz/${pageName}.ts`;
fs.access(path, (err) => {
if (!err) {
console.error(path, "文件已存在");
return;
}
fs.writeFileSync(path, thisBizData);
console.log(path, "创建文件成功")
});
}
}
function getBizStr(apiList, sheetName) {
let str = `
import { get${sheetName} } from "../data/analysisExcelData";
`;
str += `
export function getData(req, res) {
let ret:any = {};
let excelData = analysisExcelData();
`;
apiList.forEach((info, index) => {
let {dataName, unit, total, percent, type} = info;
const apiName = `api${index+1}`;
let subStr = `
ret[${apiName}] = `;
switch(type) {
case "键值数据": subStr += `getKeyValue(${dataName}, excelData.${dataName},${unit}, ${total}, ${percent} )`; break;
//todo
} }
fs.writeFileSync(path, getRouterData(RoutersheetNameList));
console.log(path, "创建router文件成功")
}); });
str += `
res.send(ret);
}
`
return ``;
} }
function getRouterData(apiList){ //创建Router层
function createRouter() {
let importName=""; let importName="";
let routergetName=""; let routergetName="";
let routerpostName=""; let routerpostName="";
...@@ -103,25 +155,20 @@ function getRouterData(apiList){ ...@@ -103,25 +155,20 @@ function getRouterData(apiList){
${routergetName} ${routergetName}
${routerpostName} ${routerpostName}
}` }`
return str; let path = `./routers/router.ts`;
} fs.access(path, (err) => {
//创建biz层
function createBiz(){
RoutersheetNameList.forEach(apiInfo=>{
let path = `./biz/${apiInfo.name}.ts`;
fs.access(path, (err) => {
if (!err) { if (!err) {
console.error(path, "文件已存在"); console.error(path, "文件已存在");
return; return;
} }
fs.writeFileSync(path, getBizData(apiInfo.dataList)); fs.writeFileSync(path, str);
console.log(path, "创建biz文件成功") console.log(path, "创建router文件成功")
}); });
})
} }
function getBizData(dataList){ function getBizData(dataList){
let funStr=""; let funStr="";
let runFunStr=""; let runFunStr="";
...@@ -168,7 +215,7 @@ ${funStr} ...@@ -168,7 +215,7 @@ ${funStr}
} }
createData(); createData();
createRouter(); //createRouter();
createBiz(); createBiz();
//创建 biz层 //创建 biz层
......
import * as asyncHandler from 'express-async-handler'
import * as api1Biz from '../biz/api1';
import * as api2Biz from '../biz/api2';
export function srtRouter(httpServer){
httpServer.get('/api1', asyncHandler(api1Biz.getData));
httpServer.get('/api2', asyncHandler(api2Biz.getData));
httpServer.post('/api1', asyncHandler(api1Biz.getData));
httpServer.post('/api2', asyncHandler(api2Biz.getData));
}
\ No newline at end of file
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