Commit 5519de88 by lixinming

优化工具层

parent 327bde65
......@@ -10,11 +10,14 @@ import { EnterpriseFinancingInfoConfig } from "../../config/ojbectResultKeyConfi
import * as financingData from "../../data/enterprise/financing";
import { FinancingListConfig } from "../../config/ojbectResultKeyConfig";
import { BizError } from "../../util/bizError";
import * as tool from "../../util/tools";
import * as sysTools from "../../tools/system";
import * as enterpriseData from "../../data/enterprise/enterprise";
import * as fuhuaqiData from "../../data/fuHuaQi/fuhuaqi";
import moment = require("moment");
import * as configEnum from "../../config/enum";
import { eccFormParam } from "../../util/verificationParam";
import { changeEnumValue } from "../../util/verificationEnum";
import { checkChange, extractData } from "../../util/piecemeal";
/**
......@@ -25,7 +28,7 @@ import * as configEnum from "../../config/enum";
* @returns {isSuccess:true/false}
*/
export async function createFinancingInfo(uscc:string, param) {
tool.checkParamater("录入企业融资信息", FinancingParamConfig, param, ["fuHuaQiInvestment", "fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle"]);
eccFormParam("录入企业融资信息", FinancingParamConfig, param, ["fuHuaQiInvestment", "fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle"]);
if (param.fuHuaQiInvestment) {
let subCheckName = "录入企业融资信息_孵化器是否参与";
......@@ -33,7 +36,7 @@ export async function createFinancingInfo(uscc:string, param) {
fuHuaQiInvestmentAmount:param.fuHuaQiInvestmentAmount,
fuHuaQiInvestmentStyle:param.fuHuaQiInvestmentStyle,
};
tool.checkParamater(subCheckName, {fuHuaQiInvestmentAmount:"Number", fuHuaQiInvestmentStyle:"Number"}, subCheckData);
eccFormParam(subCheckName, {fuHuaQiInvestmentAmount:"Number", fuHuaQiInvestmentStyle:"Number"}, subCheckData);
} else {
param.fuHuaQiInvestmentAmount = 0;
param.fuHuaQiInvestmentStyle = 0;
......@@ -44,7 +47,7 @@ export async function createFinancingInfo(uscc:string, param) {
param.uscc = enterpriseInfo.uscc;//前端无需传入企业的uscc 库中需要企业的uscc
const TaskId = tool.getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
/**一个企业一个月只能填报一次融资信息 */
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
......@@ -65,7 +68,7 @@ export async function createFinancingInfo(uscc:string, param) {
* @returns {isSuccess:true/false}
*/
export async function updateFinancingInfo(uscc:string, param) {
tool.checkParamater("更新融资企业信息", FinancingParamUpdateConfig, param, ["fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle"]);
eccFormParam("更新融资企业信息", FinancingParamUpdateConfig, param, ["fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle"]);
if (param.fuHuaQiInvestment) {
let subCheckName = "录入企业融资信息_孵化器是否参与";
......@@ -73,17 +76,17 @@ export async function updateFinancingInfo(uscc:string, param) {
fuHuaQiInvestmentAmount:param.fuHuaQiInvestmentAmount,
fuHuaQiInvestmentStyle:param.fuHuaQiInvestmentStyle,
};
tool.checkParamater(subCheckName, {fuHuaQiInvestmentAmount:"Number", fuHuaQiInvestmentStyle:"Number"}, subCheckData);
eccFormParam(subCheckName, {fuHuaQiInvestmentAmount:"Number", fuHuaQiInvestmentStyle:"Number"}, subCheckData);
} else {
param.fuHuaQiInvestmentAmount = 0;
param.fuHuaQiInvestmentStyle = 0;
}
const TaskId = tool.getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${TaskId}的任务`);
let changeList = tool.checkChange(param, dataBaseInfo);
let changeList = checkChange(param, dataBaseInfo);
if ( !changeList.length ) throw new BizError(ERRORENUM.数据无更新, `${param.uscc}数据无更新`);
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
......@@ -103,12 +106,12 @@ export async function updateFinancingInfo(uscc:string, param) {
* @returns {data:{}} 表单
*/
export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:string) {
const TaskId = tool.getTaskId(fuHuaQiUscc);
const TaskId = sysTools.getTaskId(fuHuaQiUscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业的本次融资数据`);
let data = tool.extractData(EnterpriseFinancingInfoConfig, dataBaseInfo, false);
let data = extractData(EnterpriseFinancingInfoConfig, dataBaseInfo, false);
return {data};
}
......@@ -122,7 +125,7 @@ export async function getEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:stri
* @returns {isSuccess:true/false}
*/
export async function deleteEnterpriseFinancingByUscc(fuHuaQiUscc:string, uscc:string) {
const TaskId = tool.getTaskId(fuHuaQiUscc);
const TaskId = sysTools.getTaskId(fuHuaQiUscc);
let dataBaseInfo = await financingData.findFinancingInfoByTaskIdAndSucc(TaskId, uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业`);
......@@ -194,12 +197,12 @@ export async function financingList(monthData:string, fuHuaQiName:string, indust
let dataList = [];
dataBaseList.forEach( info => {
let changeData:any = tool.extractData(FinancingListConfig, info, true);
let changeData:any = extractData(FinancingListConfig, info, true);
changeData.fuhuaqiUscc = usccMap[info.fuHuaQiUscc] || "";
changeData.industry = tool.changeEnumValue(configEnum.INDUSTRY, info.industry);
changeData.financingRounds = tool.changeEnumValue(configEnum.FINANCINGROUNDS, info.financingRounds);
changeData.fuHuaQiInvestmentStyle = tool.changeEnumValue(configEnum.FUHUAQILNVESTMENTSTYLE, info.fuHuaQiInvestmentStyle);
changeData.industry = changeEnumValue(configEnum.INDUSTRY, info.industry);
changeData.financingRounds = changeEnumValue(configEnum.FINANCINGROUNDS, info.financingRounds);
changeData.fuHuaQiInvestmentStyle = changeEnumValue(configEnum.FUHUAQILNVESTMENTSTYLE, info.fuHuaQiInvestmentStyle);
dataList.push(changeData);
});
......@@ -228,7 +231,6 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
if(fuHuaQiInfo) fuHuaQiUscc = fuHuaQiInfo.uscc;
}
if ( monthData.length > 0 ) {
let startT = moment(monthData).startOf('month').valueOf();
let endT = moment(monthData).endOf('month').valueOf();
......@@ -239,7 +241,6 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
if (fuHuaQiInvestment == 2 || fuHuaQiInvestment == 3) {
selectParam.fuHuaQiInvestment = fuHuaQiInvestment == 2 ? true : false;
}
}
let dataBaseList = await financingData.findFinancingList(selectParam );
......@@ -247,11 +248,28 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
let usccMap = await fuhuaqiData.findAllFuHuaQiOperationNameMap();
dataBaseList.forEach( info => {
let changeData:any = tool.extractData(FinancingListConfig, info, true);
let changeData:any = extractData(FinancingListConfig, info, true);
changeData.fuhuaqiUscc = usccMap[info.fuHuaQiUscc] || "";
changeData.industry = tool.changeEnumValue(configEnum.INDUSTRY, info.industry);
changeData.industry = changeEnumValue(configEnum.INDUSTRY, info.industry);
dataList.push(changeData);
});
return dataList;
let keyList = [
"name", "logonAdd", "operatingAdd", "financingAmount","investmentInstitutionsName",
"timeToObtainInvestment", "fuHuaQiInvestment", "fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle", "createTime"
];
let titleList = [
"企业名称","注册地址","经营地址","融资金额(万元)","投资机构名称","获得投资时间",
"孵化器是否投资","孵化器投资金额(万元)","孵化器投资方式","录入时间",
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
return result;
}
\ No newline at end of file
......@@ -7,7 +7,8 @@
import { ERRORENUM } from "../../config/errorEnum";
import { BizError } from "../../util/bizError";
import * as monthData from "../../data/fuHuaQi/monthTable";
import { extractData, getTaskId } from "../../util/tools";
import { extractData } from "../../util/piecemeal";
import * as sysTools from "../../tools/system";
import { findAllFuHuaQiOperationNameMap } from "../../data/fuHuaQi/fuhuaqi";
import { MonthConfig } from "../../config/ojbectResultKeyConfig";
import { OUTPUTTYPE } from "../../config/enum";
......@@ -22,7 +23,7 @@ import { OUTPUTTYPE } from "../../config/enum";
* @returns {isSuccess:true/false}
*/
export async function createReport(uscc:string, occupancyRate:number) {
const TaskId = getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if ( dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.该孵化器月度填报已存在, `${uscc}重复提交了月度填报值为${occupancyRate}`);
......@@ -44,7 +45,7 @@ export async function createReport(uscc:string, occupancyRate:number) {
* @returns {isSuccess:true/false}
*/
export async function updateReport(uscc:string, occupancyRate:number) {
const TaskId = getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if (!dataBaseInfo || !dataBaseInfo.taskId) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` );
......@@ -62,7 +63,7 @@ export async function updateReport(uscc:string, occupancyRate:number) {
* @returns {isSuccess:true/false}
*/
export async function deleteReport(uscc:string) {
const TaskId = getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if (!dataBaseInfo.isUpdate) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表`);
......@@ -81,7 +82,7 @@ export async function deleteReport(uscc:string) {
* @returns {occupancyRate:0} occupancyRate 本月出租率
*/
export async function getMonthByUscc(uscc:string) {
const TaskId = getTaskId(uscc);
const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if ( !dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` );
......@@ -164,5 +165,24 @@ export async function outPutMonthTableList(state:number, year:number, month:numb
dataList.push(onceInfo);
});
return dataList;
let keyList = [
"operationName",
"state",
"time",
"occupancyRate",
];
let titleList = [
"运营机构名称","填报状态","数据月份","出租率(%)"
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
return result;
}
\ No newline at end of file
......@@ -15,7 +15,7 @@ import * as monthTableData from "../../data/fuHuaQi/monthTable";
import * as taskData from "../../data/fuHuaQi/task";
import { BizError } from "../../util/bizError";
import { logHandle } from "../../util/log";
import { getTaskId, getTimeKey } from "../../util/tools";
import { getTaskId, getTimeKey } from "../../tools/system";
/**
......
......@@ -9,7 +9,9 @@ import { ERRORENUM } from "../../config/errorEnum";
import { FuHuaQiListConfig } from "../../config/ojbectResultKeyConfig";
import * as fuhuaqiData from "../../data/fuHuaQi/fuhuaqi"
import { BizError } from "../../util/bizError";
import * as tools from "../../util/tools";
import * as sysTools from "../../tools/system";
import { eccFormParam } from "../../util/verificationParam";
import { extractData } from "../../util/piecemeal";
/**
......@@ -23,10 +25,10 @@ export async function login(uscc:string, pwd:string) {
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
if(!fuhuaqiInfo) throw new BizError(ERRORENUM.账号不存在);
let checkPwd = tools.getPwdMd5(fuhuaqiInfo.uscc, pwd);
let checkPwd = sysTools.getPwdMd5(fuhuaqiInfo.uscc, pwd);
if (fuhuaqiInfo.pwd != checkPwd) throw new BizError(ERRORENUM.密码错误);
const Token = tools.getToken(uscc);
const Token = sysTools.getToken(uscc);
let fuhuaqiUserInfo = {
uscc: fuhuaqiInfo.uscc,
......@@ -56,7 +58,7 @@ export async function firstLoginChangePwd(uscc:string, pwd:string, confirmPwd:st
let dataBaseInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
if (dataBaseInfo.firstLoginIsChangePwd) throw new BizError(ERRORENUM.不能重复修改密码, `重复调用了首次登录之后的修改密码接口${uscc}`);
//todo 校验密码
dataBaseInfo.pwd = tools.getPwdMd5(uscc, pwd);
dataBaseInfo.pwd = sysTools.getPwdMd5(uscc, pwd);
dataBaseInfo.firstLoginIsChangePwd = true;
await dataBaseInfo.save();
......@@ -82,9 +84,9 @@ export async function changePassword(uscc:string, pwd:string, newPwd:string) {
}
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(uscc);
if (!fuhuaqiInfo) throw new BizError(ERRORENUM.未找到数据);
let checkPwd = tools.getPwdMd5(fuhuaqiInfo.uscc, pwd);
let checkPwd = sysTools.getPwdMd5(fuhuaqiInfo.uscc, pwd);
if (fuhuaqiInfo.pwd != checkPwd) throw new BizError(ERRORENUM.密码错误);
fuhuaqiInfo.pwd = tools.getPwdMd5(uscc, newPwd);
fuhuaqiInfo.pwd = sysTools.getPwdMd5(uscc, newPwd);
await fuhuaqiInfo.save();
return {isSuccess:true};
......@@ -127,7 +129,7 @@ export async function logout(uscc:string){
let count = await fuhuaqiData.findFuHuaQiUserCount(selectParam);
let dataList = [];
dataBaseList.forEach( info => {
let changeData = tools.extractData(FuHuaQiListConfig, info, true);
let changeData = extractData(FuHuaQiListConfig, info, true);
const Count = enterpriseMap[info.uscc] || 0;
dataList.push(changeData);
});
......@@ -161,7 +163,7 @@ export async function updateState(uscc:string, userState:boolean) {
* @returns
*/
export async function addUser(param) {
tools.checkParamater("新增孵化器账号信息", FuHuaQiUserConfig, param);//校验表单参数
eccFormParam("新增孵化器账号信息", FuHuaQiUserConfig, param);//校验表单参数
let fuhuaqiInfo = await fuhuaqiData.findFuHuaQiByUSCC(param.uscc);
......
......@@ -8,7 +8,7 @@
import { ERRORENUM } from "../../config/errorEnum";
import { findGuanWeiHuiUserInfoByLoginId } from "../../data/guanWeiHui/guanweihui";
import { BizError } from "../../util/bizError";
import { getPwdMd5, getToken } from "../../util/tools";
import { getPwdMd5, getToken } from "../../tools/system";
/**
......
......@@ -7,7 +7,7 @@
*/
import { findTaskCountByKey } from "../data/fuHuaQi/task";
import { getTimeKey } from "../util/tools";
import { getTimeKey } from "../tools/system";
import { provideTask } from "./fuHuqQi/task";
export function initSystemTask() {
......
import { fuHuaQiTaskList } from "./biz/fuHuqQi/task";
import { initSystemTask } from "./biz/systemTask";
import { initConfig, systemConfig} from "./config/serverConfig";
import { initDB } from "./db/mongo/dbInit";
import { httpServer } from "./net/http_server";
import { initBasicData } from "./util/dataInit";
import { initBasicData } from "./tools/dataInit";
async function lanuch() {
await initConfig();//初始化配置解析
......
......@@ -7,8 +7,9 @@
import * as asyncHandler from 'express-async-handler';
import * as enterpriseBiz from '../../biz/enterprise/enterprise';
import * as financingBiz from '../../biz/enterprise/financing';
import { checkParamaterType, getTimeKey } from '../../util/tools';
import { getTimeKey } from '../../tools/system';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import { eccReqNotMustHaveParam } from '../../util/verificationParam';
export function setRouter(httpServer) {
......@@ -27,7 +28,7 @@ export function setRouter(httpServer) {
*/
async function getEnterpriseList(req, res) {
let reqConf = {createType: 'Number', fuHuaQiUscc: 'String', industry: '[Number]', isNaturalPersonHolding: 'Number', page: 'Number' };
let { createType, fuHuaQiUscc, industry, isNaturalPersonHolding, page } = checkParamaterType(reqConf, req.body);
let { createType, fuHuaQiUscc, industry, isNaturalPersonHolding, page } = eccReqNotMustHaveParam(reqConf, req.body);
let result = await enterpriseBiz.enterpriseList(createType, fuHuaQiUscc, industry, isNaturalPersonHolding, page);
res.success(result);
......@@ -41,7 +42,7 @@ async function getEnterpriseList(req, res) {
*/
async function getFinancingList(req, res) {
let reqConf = {monthData: 'String', fuHuaQiName: 'String', fuHuaQiInvestment: 'Number', industry: '[Number]', page: 'Number' };
let {monthData, fuHuaQiName, industry, fuHuaQiInvestment, page} = checkParamaterType(reqConf, req.body);
let {monthData, fuHuaQiName, industry, fuHuaQiInvestment, page} = eccReqNotMustHaveParam(reqConf, req.body);
let result = await financingBiz.financingList(monthData, fuHuaQiName, industry, fuHuaQiInvestment, page);
res.success(result);
......@@ -67,32 +68,13 @@ async function affiliationFuHuaQi(req, res) {
*/
async function outPutEnterpriseData(req, res) {
let reqConf = {createType: 'Number', fuHuaQiUscc: 'String', industry: '[Number]', isNaturalPersonHolding: 'Number', type:'Number' };
let { createType, fuHuaQiUscc, industry, isNaturalPersonHolding, page, type } = checkParamaterType(reqConf, req.body);
let { createType, fuHuaQiUscc, industry, isNaturalPersonHolding, type } = eccReqNotMustHaveParam(reqConf, req.body);
let dataList = await enterpriseBiz.outPutEnterpriseData(createType, fuHuaQiUscc, industry, isNaturalPersonHolding, type);
let keyList = [
"name", "createTime", "fuhuaqiUscc", "uscc", "industry", "logonTime",
"firstIncubationTime", "timeOfImmigration", "isNaturalPersonHolding", "oldLogonAdd",
"logonAdd", "operatingAdd", "leasedArea"
];
let titleList = [
"企业名称", "入库时间", "所属孵化器", "统一信用代码", "行业领域",
"注册时间", "首次入孵时间", "迁入时间", "是否自然人控股", "迁入前注册地址",
"注册地址", "经营地址", "租赁面积(平方米)"
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
let name = `在孵企业${getTimeKey()}.xlsx`;
res.success({name, data:result});
res.success({name, data:dataList});
}
......@@ -103,28 +85,11 @@ async function outPutEnterpriseData(req, res) {
*/
async function outPutFinancingData(req, res) {
let reqConf = {monthData: 'String', fuHuaQiName: 'String', fuHuaQiInvestment: 'Number', industry: '[Number]', type:'Number' };
let {monthData, fuHuaQiName, industry, fuHuaQiInvestment, type} = checkParamaterType(reqConf, req.body);
let {monthData, fuHuaQiName, industry, fuHuaQiInvestment, type} = eccReqNotMustHaveParam(reqConf, req.body);
let dataList = await financingBiz.outPutFinancingList(monthData, fuHuaQiName, industry, fuHuaQiInvestment, type);
let keyList = [
"name", "logonAdd", "operatingAdd", "financingAmount","investmentInstitutionsName",
"timeToObtainInvestment", "fuHuaQiInvestment", "fuHuaQiInvestmentAmount", "fuHuaQiInvestmentStyle", "createTime"
];
let titleList = [
"企业名称","注册地址","经营地址","融资金额(万元)","投资机构名称","获得投资时间",
"孵化器是否投资","孵化器投资金额(万元)","孵化器投资方式","录入时间",
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
let name = `融资企业${getTimeKey()}.xlsx`;
res.success({name, data:result});
res.success({name, data:dataList});
}
/**
* 管理后台端 孵化器信息
* 管理后台端 孵化器相关
*/
import * as asyncHandler from 'express-async-handler';
import * as userBiz from '../../biz/fuHuqQi/user';
import * as baseBiz from '../../biz/fuHuqQi/base';
import { checkParamaterType, checkReqParam, getTimeKey } from '../../util/tools';
import { getTimeKey } from '../../tools/system';
import { monthTableList } from '../../biz/fuHuqQi/month';
import { checkGuanWeiHuiToken } from '../../middleware/user';
import * as monthBiz from '../../biz/fuHuqQi/month';
import { eccReqNotMustHaveParam, eccReqMustHaveParam } from '../../util/verificationParam';
export function setRouter(httpServer) {
......@@ -36,7 +37,7 @@ async function fuHuaQiBaseList(req, res) {
industry: 'Number',
page: 'Number'
};
let {lv, institutionalNature, industry, operationModel, foundingTeam, page} = checkParamaterType(reqConf, req.body);
let {lv, institutionalNature, industry, operationModel, foundingTeam, page} = eccReqNotMustHaveParam(reqConf, req.body);
let result = await baseBiz.fuHuaQiBaseList(lv, institutionalNature, industry, operationModel, foundingTeam, page);
......@@ -51,7 +52,7 @@ async function fuHuaQiBaseList(req, res) {
*/
async function getMonthList(req, res) {
let reqConf = {state: 'Number', year: 'Number', month: 'Number', page: 'Number'};
let { state, year, month, page } = checkParamaterType(reqConf, req.body);
let { state, year, month, page } = eccReqNotMustHaveParam(reqConf, req.body);
let result = await monthTableList(state, year, month, page);
res.success(result);
......@@ -65,7 +66,7 @@ async function getMonthList(req, res) {
*/
async function getFuHuaQiUserList(req, res) {
let reqConf = {operationName: 'String', page: 'Number' };
let { operationName, page } = checkParamaterType(reqConf, req.body);
let { operationName, page } = eccReqNotMustHaveParam(reqConf, req.body);
let result = await userBiz.fuHuaQiUserList(operationName, page);
res.success(result);
......@@ -79,7 +80,7 @@ async function getMonthList(req, res) {
*/
async function updateState(req, res) {
let reqConf = {userState: 'Boolean', uscc: 'String' };
let { userState, uscc } = checkReqParam(reqConf, req.body);
let { userState, uscc } = eccReqMustHaveParam(reqConf, req.body);
let result = await userBiz.updateState(uscc, userState);
res.success(result);
......@@ -93,7 +94,7 @@ async function getMonthList(req, res) {
*/
async function addUser(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
let result = await userBiz.addUser(form);
res.success(result);
......@@ -103,33 +104,13 @@ async function addUser(req, res) {
async function outPutFuHuaQiData(req, res) {
let reqConf = {lv: 'Number', institutionalNature: 'Number', industry: 'Number', dataType:'Number', type:'Number'};
let { lv, institutionalNature, industry, type } = checkParamaterType(reqConf, req.body);
let { lv, institutionalNature, industry, type } = eccReqNotMustHaveParam(reqConf, req.body);
let dataList = await baseBiz.outPutFuHuaQiBaseData(lv, institutionalNature, industry, type);
let keyList = [
"name","operationName","uscc","virtualEnterpriseNum","logonTime",
"incubatedAcreage", "acreageTotal", "acreagePersonalUse", "lv", "identificationTime",
"industry", "institutionalNature", "liaison", "liaisonPhone", "personInCharge",
"personInChargePhone", "personInChargeAdd", "siteAcreage", "leasePrice"
];
let titleList = [
"名称", "运营机构名称", "统一信用代码", "虚拟企业数量", "注册时间",
"在孵面积", "孵化器总面积", "孵化器自用面积", "孵化器级别", "认定时间",
"领域", "机构性质", "联系人", "联系电话", "负责人",
"负责人联系电话", "孵化场地地址", "孵化场地面积", "孵化场地出租单价"
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
let name = `孵化器列表${getTimeKey()}.xlsx`;
res.success({name, data:result});
res.success({name, data:dataList});
}
......@@ -137,29 +118,12 @@ async function outPutFuHuaQiData(req, res) {
async function outPutMonthData(req, res) {
let reqConf = {state: 'Number', year: 'Number', month: 'Number', type:'Number'};
let { state, year, month, type } = checkParamaterType(reqConf, req.body);
let { state, year, month, type } = eccReqNotMustHaveParam(reqConf, req.body);
let dataList = await monthBiz.outPutMonthTableList(state, year, month, type);
let keyList = [
"operationName",
"state",
"time",
"occupancyRate",
];
let titleList = [
"运营机构名称","填报状态","数据月份","出租率(%)"
];
let result = [titleList];
dataList.forEach(info => {
let subList = [];
keyList.forEach(subInfo => {
subList.push(info[subInfo] || '');
});
result.push(subList);
});
let name = `月度任务${getTimeKey()}.xlsx`;
res.success({name, data:result});
res.success({name, data:dataList});
}
\ No newline at end of file
/**
* 管理后台端 管委会相关
*/
import * as guanWeiHuiBiz from '../../biz/guanWeiHui/user';
import { checkReqParam } from '../../util/tools';
import * as asyncHandler from 'express-async-handler';
import { eccReqMustHaveParam } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/admin/login', asyncHandler(login));
......@@ -14,7 +18,7 @@ export function setRouter(httpServer) {
*/
async function login(req, res) {
let reqConf = {loginId:'String', pwd:'String'};
let {loginId, pwd} = checkReqParam(reqConf, req.body);
let {loginId, pwd} = eccReqMustHaveParam(reqConf, req.body);
let userInfo = await guanWeiHuiBiz.login(loginId, pwd);
res.success(userInfo);
......
......@@ -4,8 +4,8 @@
import * as asyncHandler from 'express-async-handler';
import * as enterpriseBiz from '../../biz/enterprise/enterprise';
import { checkReqParam } from '../../util/tools';
import { checkFuHuaQiToken } from '../../middleware/user';
import { eccReqMustHaveParam } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/enterprise/register', checkFuHuaQiToken, asyncHandler(registerEnterprise));
......@@ -24,7 +24,7 @@ export function setRouter(httpServer) {
*/
async function registerEnterprise(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await enterpriseBiz.registerEnterprise(Uscc, form);
......@@ -39,7 +39,7 @@ async function registerEnterprise(req, res) {
*/
async function updateRegisterEnterprise(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await enterpriseBiz.updateRegisterEnterprise(Uscc, form);
......@@ -54,7 +54,7 @@ async function updateRegisterEnterprise(req, res) {
*/
async function moveInEnterprise(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await enterpriseBiz.moveInEnterprise(Uscc, form);
......@@ -69,7 +69,7 @@ async function updateRegisterEnterprise(req, res) {
*/
async function updateMoveInEnterprise(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await enterpriseBiz.updateMoveInEnterprise(Uscc, form);
......@@ -86,7 +86,7 @@ async function updateMoveInEnterprise(req, res) {
async function selectEnterpriseInfo(req, res) {
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let { uscc } = eccReqMustHaveParam(reqConf, req.body);
let result = await enterpriseBiz.getEnterpriseByDraftId(uscc);
res.success(result);
......@@ -101,7 +101,7 @@ async function updateMoveInEnterprise(req, res) {
async function delEnterpriseInfo(req, res) {
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let { uscc } = eccReqMustHaveParam(reqConf, req.body);
let result = await enterpriseBiz.deleteEnterpriseByDraftId(uscc);
res.success(result);
......
......@@ -4,8 +4,8 @@
import * as asyncHandler from 'express-async-handler';
import * as financingBiz from '../../biz/enterprise/financing';
import { checkReqParam } from '../../util/tools';
import { checkFuHuaQiToken } from '../../middleware/user';
import { eccReqMustHaveParam } from '../../util/verificationParam';
export function setRouter(httpServer) {
httpServer.post('/fuhuaqi/financing/create', checkFuHuaQiToken, asyncHandler(createFinancingInfo));
......@@ -23,7 +23,7 @@ export function setRouter(httpServer) {
*/
async function createFinancingInfo(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await financingBiz.createFinancingInfo(Uscc, form);
......@@ -38,7 +38,7 @@ async function createFinancingInfo(req, res) {
*/
async function updateFinancingInfo(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await financingBiz.updateFinancingInfo(Uscc, form);
......@@ -54,7 +54,7 @@ async function createFinancingInfo(req, res) {
*/
async function selectEnterpriseFinancingInfo(req, res) {
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let { uscc } = eccReqMustHaveParam(reqConf, req.body);
const FHQUscc = req.headers.uscc;
let result = await financingBiz.getEnterpriseFinancingByUscc(FHQUscc, uscc);
......@@ -69,7 +69,7 @@ async function selectEnterpriseFinancingInfo(req, res) {
*/
async function delEnterpriseFinancingInfo(req, res) {
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let { uscc } = eccReqMustHaveParam(reqConf, req.body);
const FHQUscc = req.headers.uscc;
let result = await financingBiz.deleteEnterpriseFinancingByUscc(FHQUscc, uscc);
......
......@@ -7,7 +7,7 @@
import * as asyncHandler from 'express-async-handler';
import * as baseBiz from '../../biz/fuHuqQi/base';
import * as taskBiz from '../../biz/fuHuqQi/task';
import { checkReqParam } from '../../util/tools';
import { eccReqMustHaveParam } from '../../util/verificationParam';
import { checkFuHuaQiToken } from '../../middleware/user';
export function setRouter(httpServer) {
......@@ -55,7 +55,7 @@ async function myDataInfo(req, res) {
*/
async function updateMyDataInfo(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await baseBiz.updateFuHuaQiBaseData(Uscc, form);
......@@ -78,7 +78,7 @@ async function organizationInfo(req, res) {
*/
async function updateOrganizationInfo(req, res) {
let reqConf = {form: 'Object' };
let { form } = checkReqParam(reqConf, req.body);
let { form } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await baseBiz.updateOrganizationData(Uscc, form);
......@@ -105,12 +105,9 @@ async function taskList(req, res) {
*/
async function submitTask(req, res) {
let reqConf = {taskType:'Number'};
let { taskType } = checkReqParam(reqConf, req.body);
let { taskType } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let result = await taskBiz.checkTask(Uscc, taskType);
res.success(result);
}
\ No newline at end of file
......@@ -4,7 +4,7 @@
import * as asyncHandler from 'express-async-handler';
import * as monthBiz from '../../biz/fuHuqQi/month';
import { checkReqParam } from '../../util/tools';
import { eccReqMustHaveParam } from '../../util/verificationParam';
import { checkFuHuaQiToken } from '../../middleware/user';
export function setRouter(httpServer) {
......@@ -22,7 +22,7 @@ export function setRouter(httpServer) {
*/
async function addReport(req, res) {
let reqConf = {occupancyRate: 'Number' };
let { occupancyRate } = checkReqParam(reqConf, req.body);
let { occupancyRate } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = monthBiz.createReport(Uscc, occupancyRate);
......@@ -63,7 +63,7 @@ async function deleteReport(req, res) {
*/
async function updateReport(req, res) {
let reqConf = {occupancyRate: 'Number' };
let { occupancyRate } = checkReqParam(reqConf, req.body);
let { occupancyRate } = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
let monthInfo = monthBiz.updateReport(Uscc, occupancyRate);
......
......@@ -4,7 +4,7 @@
import * as asyncHandler from 'express-async-handler';
import * as userBiz from '../../biz/fuHuqQi/user';
import { checkReqParam } from '../../util/tools';
import { eccReqMustHaveParam } from '../../util/verificationParam';
import { checkFuHuaQiToken } from '../../middleware/user';
export function setRouter(httpServer) {
......@@ -21,7 +21,7 @@ export function setRouter(httpServer) {
*/
async function login(req, res) {
let reqConf = {uscc:'String', pwd:'String'};
let {uscc, pwd} = checkReqParam(reqConf, req.body);
let {uscc, pwd} = eccReqMustHaveParam(reqConf, req.body);
let result = await userBiz.login(uscc, pwd);
......@@ -48,7 +48,7 @@ async function logout(req, res) {
*/
async function firstUpdatePwd(req, res) {
let reqConf = {confirmPwd:'String', pwd:'String', };
let {confirmPwd, pwd} = checkReqParam(reqConf, req.body);
let {confirmPwd, pwd} = eccReqMustHaveParam(reqConf, req.body);
const Uscc = req.headers.uscc;
......
......@@ -4,7 +4,6 @@
import * as asyncHandler from 'express-async-handler';
import { FUHUAQILV, INSTITUTIONALNATURE, FUHUAINDUSTRY, INDUSTRY, FUHUAQILNVESTMENTSTYLE, OPERATIONMODEL, TEAM, DEGREE, FINANCINGROUNDS } from '../config/enum';
import { checkFuHuaQiToken } from '../middleware/user';
export function setRouter(httpServer) {
httpServer.post('/public/fuhuaqilv', asyncHandler(getFuHuaQiLv));
......
import { FUHUAINDUSTRY, FUHUAQILV, INDUSTRY, INSTITUTIONALNATURE } from "../config/enum";
import { createEnterpriseToList, findEnterpriseCount } from "../data/enterprise/enterprise";
import { createFuHuaQiToList, findAllFuHuaQiOperationUsccMap, findFuHuaQiUserCount } from "../data/fuHuaQi/fuhuaqi";
import { getPwdMd5, getTaskId } from "./tools";
import { getPwdMd5, getTaskId } from "./system";
const fs = require('fs');
const xlsx = require('node-xlsx');
const path = require('path');
......
const md5 = require("md5");
/**
* 生成任务id
* @param uscc 企业标识
* @returns
*/
export function getTaskId(uscc:string) {
return `${uscc}${getTimeKey()}`
}
/**
* 获取当前日期的key
* @returns
*/
export function getTimeKey() {
return `${new Date().getFullYear()}${new Date().getMonth() + 1 }`
}
/**
* 生成草稿箱Id
* @param uscc
* @returns
*/
export function getDraftId(uscc:string) {
return md5(`${uscc}${new Date().valueOf()}${Math.ceil(Math.random()*1000)}`);
}
/**
* 密码加密
* @param uscc 信用代码
* @param pwd 密码
* @returns md5后的密码
*/
export function getPwdMd5(uscc:string, pwd:string) {
return md5(uscc+pwd);
}
/**
* 获取token
* @param uscc 统一信用代码
*/
export function getToken(uscc:string) {
return md5(`${uscc}${new Date().valueOf()}${Math.ceil(Math.random() *100)}`);
}
\ No newline at end of file
......@@ -21,7 +21,7 @@ let config = {
"errorLogger": {
"type": "dateFile", // 日志类型
"filename": errFile, // 输出文件名
"pattern": "-yyyy-MM-dd.log", // 后缀
"pattern": "yyyy-MM-dd.log", // 后缀
"alwaysIncludePattern": true, // 上面两个参数是否合并
"encoding": "utf-8", // 编码格式
"maxLogSize": 1000, // 最大存储内容
......@@ -31,7 +31,7 @@ let config = {
"handleLogger": {
"type": "dateFile",
"filename": handFile,
"pattern": "-yyyy-MM-dd.log",
"pattern": "yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"encoding": "utf-8",
"maxLogSize": 1000,
......
import moment = require("moment");
/**
* 匹配新旧对象变化
* 将newObj 与 oldObj 比对,将newObj中发生变化的key返回
* 使用前需要校验对象中的内容
* @param newObj 新对象
* @param oldObj 旧对象
* @returns [key] 发生变化的key
*/
export function checkChange(newObj, oldObj) {
let changeKeyList = [];
for (let newKey in newObj) {
if (`${newObj[newKey]}` != `${oldObj[newKey]}`) changeKeyList.push(newKey);
}
return changeKeyList;
}
/**
* 根据conf截取data中的数据
* @param conf
* @param data
* @returns
*/
export function extractData(conf, data, isAdmin) {
let result = {};
for (let key in conf) {
let confInfo = conf[key];
if (confInfo.changeDate) {
if (isAdmin) result[key] = data[key] ? moment(data[key]).format("YYYY-MM-DD") : '-';
else result[key] = data[key] || 0;
}else {
result[key] = data[key];
if (typeof result[key] == 'string' && !result[key]) result[key] = '';
}
}
return result;
}
/**
* 校验value是否符合传入的枚举
* @param enumConf 目标枚举
* @param value 目标值
* @returns true/false 是否通过校验
*/
export function checkEnumValue(enumConf, value:any) {
if ( typeof value == 'number' ) {
return enumConf[value] ? true : false;
}
let checkSuccess = true;
value.forEach(item => {
if ( !enumConf[item] ) checkSuccess = false;
});
return checkSuccess;
}
/**
* 将枚举值转换成对应的枚举名(key)
* @param enumConf 目标枚举
* @param value 目标值
* @returns string 返回字符串 如果传入多个枚举值,就拼接字符串
*/
export function changeEnumValue(enumConf, value:any) {
if (!value) return '';
if ( typeof value == 'number' ) {
return enumConf[value];
}
let str = "";
value.forEach((item, index) => {
str += enumConf[item];
if (index == value.length-1) str+="";
else str += ","
});
return str;
}
\ No newline at end of file
import moment = require("moment");
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "./bizError";
const md5 = require("md5");
/**
* 生成任务id
* @param uscc 企业标识
* @returns
* 校验参数工具
*
*/
export function getTaskId(uscc:string) {
return `${uscc}${getTimeKey()}`
}
/**
* 获取当前日期的key
* @returns
*/
export function getTimeKey() {
return `${new Date().getFullYear()}${new Date().getMonth() + 1 }`
}
import { ERRORENUM } from "../config/errorEnum";
import { BizError } from "./bizError";
/**
* 生成草稿箱Id
* @param uscc
* @returns
*/
export function getDraftId(uscc:string) {
return md5(`${uscc}${new Date().valueOf()}${Math.ceil(Math.random()*1000)}`);
}
/**
* 通过config校验参数param
* 包括类型 String, Number, Boolean, [Number]
* 通过config校验表单参数param
* 包括类型 String, Number, Boolean, [Number], [Object]
* 参数是必填
* 方法会校验表单中存在的多余字段
* todo 后续优化配置
* @param name 被调用的方法名
* @param config 校验配置
* @param param 需要校验的参数
* @param skipKeys 跳过验证的字段
* @returns true 无需关注返回
*/
export function checkParamater(name:string, keyTypeConf:object, param:object, skipKeys?) {
export function eccFormParam(name:string, keyTypeConf:object, param:object, skipKeys?) {
for (let key in keyTypeConf ) {
if ( skipKeys && skipKeys.indexOf(key) > -1 && !param[key]) {
continue;
......@@ -78,41 +61,15 @@ export function checkParamater(name:string, keyTypeConf:object, param:object, sk
return true;
}
/**
* 匹配新旧对象变化
* 将newObj 与 oldObj 比对,将newObj中发生变化的key返回
* 使用前需要校验对象中的内容
* @param newObj 新对象
* @param oldObj 旧对象
* @returns [key] 发生变化的key
*/
export function checkChange(newObj, oldObj) {
let changeKeyList = [];
for (let newKey in newObj) {
if (`${newObj[newKey]}` != `${oldObj[newKey]}`) changeKeyList.push(newKey);
}
return changeKeyList;
}
/**
* 密码加密
* @param uscc 信用代码
* @param pwd 密码
* @returns md5后的密码
* 根据conf配置校验请求参数
* 参数为必填
* @param conf 配置
* @param param 待校验对象
* @returns 原有表单数据
*/
export function getPwdMd5(uscc:string, pwd:string) {
return md5(uscc+pwd);
}
/**
* 校验请求参数
* 判断参数为必填
* @param conf
* @param param
* @returns
*/
export function checkReqParam(conf, param) {
export function eccReqMustHaveParam(conf:object, param) {
for (let key in conf ) {
if ( typeof param[key] != 'boolean' && !param[key] ) throw new BizError(ERRORENUM.参数错误, `缺失${key}字段`);
let type = typeof param[key];
......@@ -155,12 +112,12 @@ export function checkReqParam(conf, param) {
/**
* 校验请求参数
* 判断参数可以不
* @param conf
* @param param
* @returns
* 参数为非必
* @param conf 配置
* @param param 待校验对象
* @returns 原有表单数据
*/
export function checkParamaterType(conf, param) {
export function eccReqNotMustHaveParam(conf, param) {
for (let key in conf ) {
if (!param[key]) continue;
let type = typeof param[key];
......@@ -200,82 +157,3 @@ export function checkParamaterType(conf, param) {
}
return param;
}
/**
* 获取token
* @param uscc 统一信用代码
*/
export function getToken(uscc:string) {
return md5(`${uscc}${new Date().valueOf()}${Math.ceil(Math.random() *100)}`);
}
/**
* 根据conf截取data中的数据
* @param conf
* @param data
* @returns
*/
export function extractData(conf, data, isAdmin) {
let result = {};
for (let key in conf) {
let confInfo = conf[key];
if (confInfo.changeDate) {
if (isAdmin) result[key] = data[key] ? moment(data[key]).format("YYYY-MM-DD") : '-';
else result[key] = data[key] || 0;
}else {
result[key] = data[key];
if (typeof result[key] == 'string' && !result[key]) result[key] = '';
}
}
return result;
}
/**
* 校验value是否符合传入的枚举
* @param enumConf 目标枚举
* @param value 目标值
* @returns true/false 是否通过校验
*/
export function checkEnumValue(enumConf, value:any) {
if ( typeof value == 'number' ) {
return enumConf[value] ? true : false;
}
let checkSuccess = true;
value.forEach(item => {
if ( !enumConf[item] ) checkSuccess = false;
});
return checkSuccess;
}
/**
* 将枚举值转换成对应的枚举名(key)
* @param enumConf 目标枚举
* @param value 目标值
* @returns string 返回字符串 如果传入多个枚举值,就拼接字符串
*/
export function changeEnumValue(enumConf, value:any) {
if (!value) return '';
if ( typeof value == 'number' ) {
return enumConf[value];
}
let str = "";
value.forEach((item, index) => {
str += enumConf[item];
if (index == value.length-1) str+="";
else str += ","
});
return str;
}
export function checkPhone(phoneNumber:string) {
}
export function checkUscc() {
}
\ 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