Commit 82da08e7 by lixinming

no message

parent 2a920fb0
/**
* 企业相关逻辑
* 作者: 李欣鸣
* 包括新注册企业,迁入企业
*
*/
import { ERRORENUM } from "../../config/errorEnum";
import { createEnterprise, findEnterpriseByUscc } from "../../data/enterprise/enterprise";
import { BizError } from "../../util/bizError";
import { getTaskId } from "../../util/tools"
/**
* 新注册企业
* @param uscc 孵化器统一信用代码
* @param param 表单参数
*/
export async function registerEnterprise(uscc:string, param) {
const TaskId = getTaskId(uscc);
const TypeConf = {
name:"String", //企业名称
uscc:"String", //统一信用代码
industry:"[Number]",//领域
logonTime:"Number",//注册时间
firstIncubationTime:"Number",//首次入孵时间
isNaturalPersonHolding:"Boolean",//是否自然人控股企业
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
leasedArea:"Number",//租赁面积(平方米)
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
await createEnterprise(uscc, TaskId, param);
return {isSuccess:true};
}
/**
* 新注册企业表单修改
* @param uscc 孵化器统一信用代码
* @param param 表单参数
*/
export async function updateRegisterEnterprise(uscc:string, param) {
const TypeConf = {
name:"String", //企业名称
uscc:"String", //统一信用代码
industry:"[Number]",//领域
logonTime:"Number",//注册时间
firstIncubationTime:"Number",//首次入孵时间
isNaturalPersonHolding:"Boolean",//是否自然人控股企业
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
leasedArea:"Number",//租赁面积(平方米)
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${param.uscc}这个企业`);
let changeList = checkChange(param, dataBaseInfo);
if ( !changeList.length ) throw new BizError(ERRORENUM.数据无更新, `${param.uscc}数据无更新`);
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
});
await dataBaseInfo.save();
return {isSuccess:true};
}
/**
* 迁入企业登记
* @param uscc
* @param param
*/
export async function moveInEnterprise(uscc:string, param) {
const TaskId = getTaskId(uscc);
const TypeConf = {
name:"String", //企业名称
uscc:"String", //统一信用代码
industry:"[Number]",//领域
logonTime:"Number",//注册时间
firstIncubationTime:"Number",//首次入孵时间
timeOfImmigration:"Number",//迁入时间
isNaturalPersonHolding:"Boolean",//是否自然人控股企业
oldLogonAdd:"String",//迁入前注册地址
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
leasedArea:"Number",//租赁面积(平方米)
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
await createEnterprise(uscc, TaskId, param);
return {isSuccess:true};
}
/**
* 修改迁入企业登记信息
* @param uscc
* @param param
*/
export async function updateMoveInEnterprise(uscc:string, param) {
const TypeConf = {
name:"String", //企业名称
uscc:"String", //统一信用代码
industry:"[Number]",//领域
logonTime:"Number",//注册时间
firstIncubationTime:"Number",//首次入孵时间
timeOfImmigration:"Number",//迁入时间
isNaturalPersonHolding:"Boolean",//是否自然人控股企业
oldLogonAdd:"String",//迁入前注册地址
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
leasedArea:"Number",//租赁面积(平方米)
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${param.uscc}这个企业`);
let changeList = checkChange(param, dataBaseInfo);
if ( !changeList.length ) throw new BizError(ERRORENUM.数据无更新, `${param.uscc}数据无更新`);
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
});
await dataBaseInfo.save();
return {isSuccess:true};
}
/**
* 校验参数
* @param param
*/
function checkParamater(param, keyTypeConf) {
for (let key in keyTypeConf ) {
if ( !param[key] ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `缺失${key}字段`);
let type = typeof param[key];
switch(keyTypeConf[key]) {
case 'Number':
if ( type != 'number' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型 而不是${type}`);
break;
case 'String':
if ( type != 'string' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是string型 而不是${type}`);
break;
case 'Boolean':
if ( type != 'boolean' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是boolean型 而不是${type}`);
break;
case '[Number]':
if ( !Array.isArray(param[key]) ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是数组型 而不是${type}`);
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'number' ) {
throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型数组其中下标${i}${typeof item}`);
}
}
break;
}
}
for (let key in param) {
if (!keyTypeConf[key]) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `多余${key}字段`);
}
}
function checkChange(newObj, oldObj) {
let changeKeyList = [];
for (let newKey in newObj) {
if (`${newObj[newKey]}` != `${oldObj[newKey]}`) changeKeyList.push(newKey);
}
return changeKeyList;
}
/**
* 企业融资相关逻辑
* 作者: 李欣鸣
* 包括新融资信息的增删改查
*
*/
import { ERRORENUM } from "../../config/errorEnum";
import { createFinancing, findFinancingInfoByTaskIdAndSucc } from "../../data/enterprise/financing";
import { BizError } from "../../util/bizError";
import { getTaskId } from "../../util/tools";
export async function createFinancingInfo(uscc, param) {
const TaskId = getTaskId(uscc);
const TypeConf = {
uscc:"String", //统一信用代码 冗余字段
name:"String",//企业名称
taskId:"String", //任务id
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
financingTime:"Number",//获得融资时间
financingAmount:"Number",//融资金额(万元)
investmentInstitutionsName:"String",//投资机构名称
timeToObtainInvestment:"Number",//获得投资时间
fuHuaQiInvestment:"Boolean", //孵化器是否投资
fuHuaQiInvestmentAmount:"Number",//孵化器投资金额(万元)
fuHuaQiInvestmentStyle:"Number",//孵化器投资方式
draftLock:"Boolean", //草稿锁,true为提交之后,false为草稿
createTime:"Number",//录入时间
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}的融资信息已经存在`);
await createFinancing(uscc, TaskId, param);
return {isSuccess:true};
}
export async function updateFinancingInfo(uscc, param) {
const TaskId = getTaskId(uscc);
const TypeConf = {
uscc:"String", //统一信用代码 冗余字段
name:"String",//企业名称
taskId:"String", //任务id
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
financingTime:"Number",//获得融资时间
financingAmount:"Number",//融资金额(万元)
investmentInstitutionsName:"String",//投资机构名称
timeToObtainInvestment:"Number",//获得投资时间
fuHuaQiInvestment:"Boolean", //孵化器是否投资
fuHuaQiInvestmentAmount:"Number",//孵化器投资金额(万元)
fuHuaQiInvestmentStyle:"Number",//孵化器投资方式
draftLock:"Boolean", //草稿锁,true为提交之后,false为草稿
createTime:"Number",//录入时间
};
checkParamater(param, TypeConf);
let dataBaseInfo = await findFinancingInfoByTaskIdAndSucc(TaskId, param.uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${TaskId}的任务`);
let changeList = checkChange(param, dataBaseInfo);
if ( !changeList.length ) throw new BizError(ERRORENUM.数据无更新, `${param.uscc}数据无更新`);
changeList.forEach(key => {
dataBaseInfo[key] = param[key];
});
await dataBaseInfo.save();
return {isSuccess:true};
}
/**
* 校验参数
* @param param
*/
function checkParamater(param, keyTypeConf) {
for (let key in keyTypeConf ) {
if ( !param[key] ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `缺失${key}字段`);
let type = typeof param[key];
switch(keyTypeConf[key]) {
case 'Number':
if ( type != 'number' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型 而不是${type}`);
break;
case 'String':
if ( type != 'string' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是string型 而不是${type}`);
break;
case 'Boolean':
if ( type != 'boolean' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是boolean型 而不是${type}`);
break;
case '[Number]':
if ( !Array.isArray(param[key]) ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是数组型 而不是${type}`);
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'number' ) {
throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型数组其中下标${i}${typeof item}`);
}
}
break;
}
}
for (let key in param) {
if (!keyTypeConf[key]) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `多余${key}字段`);
}
}
function checkChange(newObj, oldObj) {
let changeKeyList = [];
for (let newKey in newObj) {
if (`${newObj[newKey]}` != `${oldObj[newKey]}`) changeKeyList.push(newKey);
}
return changeKeyList;
}
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
* *
*/ */
import { ERRORENUM } from "../../config/errorEnum";
import { findFuHuaQiByUSCC } from "../../data/fuHuaQi/fuhuaqi"; import { findFuHuaQiByUSCC } from "../../data/fuHuaQi/fuhuaqi";
import { BizError } from "../../util/bizError";
...@@ -14,30 +16,26 @@ import { findFuHuaQiByUSCC } from "../../data/fuHuaQi/fuhuaqi"; ...@@ -14,30 +16,26 @@ import { findFuHuaQiByUSCC } from "../../data/fuHuaQi/fuhuaqi";
* 更新孵化器基础数据 * 更新孵化器基础数据
* @param uscc 孵化器统一信用代码 * @param uscc 孵化器统一信用代码
*/ */
export async function updateFuHuaQiBaseData(uscc:string, name:string, virtualEnterpriseNum:number, logonTime:number, incubatedAcreage:number, acreageTotal:number, /**
* name:string, virtualEnterpriseNum:number, logonTime:number, incubatedAcreage:number, acreageTotal:number,
acreagePersonalUse:number, lv:number, identificationTime:number, industry, institutionalNature:number, liaison:string, liaisonPhone:string, acreagePersonalUse:number, lv:number, identificationTime:number, industry, institutionalNature:number, liaison:string, liaisonPhone:string,
personInCharge:string, personInChargePhone:string, personInChargeAdd:string, siteAcreage:number, leasePrice:number) { personInCharge:string, personInChargePhone:string, personInChargeAdd:string, siteAcreage:number, leasePrice:number
*/
export async function updateFuHuaQiBaseData(uscc:string, param) {
let baseDataInfo = await findFuHuaQiByUSCC(uscc); let baseDataInfo = await findFuHuaQiByUSCC(uscc);
/**校验参数 */ /**校验参数 */
checkParamater(param);
let changeList = checkChange(param, baseDataInfo);
virtualEnterpriseNum for (let i = 0; i < changeList.length; i++) {
logonTime let key = changeList[i];
incubatedAcreage baseDataInfo[key] = param[key];
acreageTotal }
acreagePersonalUse
lv
identificationTime
industry
institutionalNature
liaison
liaisonPhone
personInCharge
personInChargePhone
personInChargeAdd
siteAcreage
leasePrice
await baseDataInfo.save();
return {isSuccess:true};
} }
/** /**
...@@ -46,28 +44,57 @@ export async function updateFuHuaQiBaseData(uscc:string, name:string, virtualEnt ...@@ -46,28 +44,57 @@ export async function updateFuHuaQiBaseData(uscc:string, name:string, virtualEnt
*/ */
function checkParamater(param) { function checkParamater(param) {
let keyTypeConf = { let keyTypeConf = {
name:String, name:"String",
virtualEnterpriseNum:Number, virtualEnterpriseNum:"Number",
logonTime:Number, logonTime:"Number",
incubatedAcreage:Number, incubatedAcreage:"Number",
acreageTotal:Number, acreageTotal:"Number",
acreagePersonalUse:Number, acreagePersonalUse:"Number",
lv:Number, lv:"Number",
identificationTime:Number, identificationTime:"Number",
industry:[Number], industry:"[Number]",
institutionalNature:Number, institutionalNature:"Number",
liaison:String, liaison:"String",
liaisonPhone:String, liaisonPhone:"String",
personInCharge:String, personInCharge:"String",
personInChargePhone:String, personInChargePhone:"String",
personInChargeAdd:String, personInChargeAdd:"String",
siteAcreage:Number, siteAcreage:"Number",
leasePrice:Number leasePrice:"Number"
}; };
for (let key in keyTypeConf ) {
if ( !param[key] ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `缺失${key}字段`);
let type = typeof param[key];
switch(keyTypeConf[key]) {
case 'Number':
if ( type != 'number' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型 而不是${type}`);
break;
case 'String':
if ( type != 'string' ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型 而不是${type}`);
break;
case '[Number]':
if ( !Array.isArray(param[key]) ) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是数组型 而不是${type}`);
for (let i =0; i < param[key].length; i++) {
let item = param[key][i];
if ( typeof item != 'number' ) {
throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `${key}应是number型数组其中下标${i}${typeof item}`);
}
}
break;
}
}
for (let key in param) {
if (!keyTypeConf[key]) throw new BizError(ERRORENUM.表单校验失败, '孵化器基础数据更新', `多余${key}字段`);
}
} }
function checkChange(newObj, oldObj) { function checkChange(newObj, oldObj) {
let changeKeyList = [];
for (let newKey in newObj) {
if (`${newObj[newKey]}` != `${oldObj[newKey]}`) changeKeyList.push(newKey);
}
return changeKeyList;
} }
...@@ -75,6 +102,18 @@ function checkChange(newObj, oldObj) { ...@@ -75,6 +102,18 @@ function checkChange(newObj, oldObj) {
* 查询孵化器基础数据 * 查询孵化器基础数据
* @param uscc 孵化器统一信用代码 * @param uscc 孵化器统一信用代码
*/ */
export function selectFuHuaQiBaseData(uscc:string) { export async function selectFuHuaQiBaseData(uscc:string) {
let dataBaseInfo = await findFuHuaQiByUSCC(uscc);
let keyList = [
"name", "operationName", "uscc", "virtualEnterpriseNum", "logonTime", "incubatedAcreage", "acreageTotal", "acreagePersonalUse",
"lv", "identificationTime","industry","institutionalNature","liaison","liaisonPhone","personInCharge","personInChargePhone",
"personInChargeAdd","siteAcreage","leasePrice"];
let data = {};
keyList.forEach( key => {
data[key] = dataBaseInfo[key];
});
return {data};
} }
\ No newline at end of file
...@@ -3,6 +3,9 @@ export enum ERRORENUM { ...@@ -3,6 +3,9 @@ export enum ERRORENUM {
未找到数据, 未找到数据,
参数错误, 参数错误,
不能重复提交任务, 不能重复提交任务,
表单校验失败,
该企业已存在,
数据无更新
} }
let bizErrorMsgMap = {}; let bizErrorMsgMap = {};
......
/**
* 企业信息表
*
*/
import {Schema} from 'mongoose'; import {Schema} from 'mongoose';
import { baseDB } from '../../db/dbInit'; import { baseDB } from '../../db/dbInit';
...@@ -10,37 +15,71 @@ const enterpriseSchema = new Schema({ ...@@ -10,37 +15,71 @@ const enterpriseSchema = new Schema({
logonTime:Number,//注册时间 logonTime:Number,//注册时间
firstIncubationTime:Number,//首次入孵时间 firstIncubationTime:Number,//首次入孵时间
timeOfImmigration:Number,//迁入时间 timeOfImmigration:Number,//迁入时间
isNaturalPersonHolding:{type:Boolean, false:true},//是否自然人控股企业 isNaturalPersonHolding:{type:Boolean, default:true},//是否自然人控股企业
oldLogonAdd:String,//迁入前注册地址 oldLogonAdd:String,//迁入前注册地址
logonAdd:String,//注册地址 logonAdd:String,//注册地址
operatingAdd:String,//经营地址 operatingAdd:String,//经营地址
// isPhysicalPresence:{type:Boolean, default:true},//是否实地孵化 // isPhysicalPresence:{type:Boolean, default:true},//是否实地孵化 暂时弃用
leasedArea:Number,//租赁面积(平方米) leasedArea:Number,//租赁面积(平方米)
draftLock:{type:Boolean, default:false},//草稿锁,true为提交之后,false为草稿 draftLock:{type:Boolean, default:false},//草稿锁,true为提交之后,false为草稿
createTime:Number,//录入时间
}); });
var enterpriseModel; var enterpriseModel;
export function initModel(){ export function initModel(){
enterpriseModel = baseDB.model('enterprise', enterpriseSchema); enterpriseModel = baseDB.model('enterprise', enterpriseSchema);
enterpriseModel.selectOnceData = async function (paramater:object) {
let selectInfo = await enterpriseModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
}
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
} }
/** /**
* 通过taskId 获取此次任务添加的企业列表 * 通过taskId 获取此次任务添加的企业列表
* @param taskId * @param taskId 任务id 格式遵循tool中getTaskId
* @returns * @returns [{}]
*/ */
export async function findEnterpriseListByTaskId(taskId:string) { export async function findEnterpriseListByTaskId(taskId:string) {
return await enterpriseModel.find({taskId}).exec(); return await enterpriseModel.find({taskId}).exec();
} }
/** /**
* 修改特定taskId的锁为true * 将taskId的所有数据的draftLock字段为true
* @param taskId 任务id * @param taskId 任务id 格式遵循tool中getTaskId
*/ */
export async function updateEnterpriseDraftLock(taskId:string) { export async function updateEnterpriseDraftLock(taskId:string) {
return await enterpriseModel.update({taskId}, {$set:{draftLock:true}}, {upsert:true}); return await enterpriseModel.update({taskId}, {$set:{draftLock:true}}, {upsert:true});
} }
export async function createEnterprise() { /**
* 通过企业统一信用代码获取企业信息
* @param uscc 企业统一信用代码
* @returns {}
*/
export async function findEnterpriseByUscc(uscc:string) {
return await enterpriseModel.selectOnceData({uscc}).exec();
}
/**
* 创建新的企业数据
* @param fuHuaQiUscc 企业所属孵化器的统一信用代码
* @param taskId 任务id 格式遵循tool中getTaskId
* @param param 添加的字段对象
*/
export async function createEnterprise(fuHuaQiUscc:string, taskId:string, param) {
let addInfo = Object.assign({fuHuaQiUscc, taskId, createTime:new Date().valueOf()}, param);
await enterpriseModel.create(addInfo);
} }
\ No newline at end of file
...@@ -2,10 +2,10 @@ import {Schema} from 'mongoose'; ...@@ -2,10 +2,10 @@ import {Schema} from 'mongoose';
import { baseDB } from '../../db/dbInit'; import { baseDB } from '../../db/dbInit';
const financingSchema = new Schema({ const financingSchema = new Schema({
uscc:{type:String, index:true},//统一信用代码 冗余字段 uscc:{type:String, index:true},//融资企业统一信用代码 冗余字段
fuHuaQiUscc:{type:String, index:true},//孵化器统一信用代码 冗余字段
name:String,//企业名称 name:String,//企业名称
taskId:{type:String, index:true},//任务id taskId:{type:String, index:true},//任务id
// createTime:Number,//入库时间
logonAdd:String,//注册地址 logonAdd:String,//注册地址
operatingAdd:String,//经营地址 operatingAdd:String,//经营地址
financingTime:Number,//获得融资时间 financingTime:Number,//获得融资时间
...@@ -16,12 +16,30 @@ const financingSchema = new Schema({ ...@@ -16,12 +16,30 @@ const financingSchema = new Schema({
fuHuaQiInvestmentAmount:Number,//孵化器投资金额(万元) fuHuaQiInvestmentAmount:Number,//孵化器投资金额(万元)
fuHuaQiInvestmentStyle:Number,//孵化器投资方式 fuHuaQiInvestmentStyle:Number,//孵化器投资方式
draftLock:{type:Boolean, default:false},//草稿锁,true为提交之后,false为草稿 draftLock:{type:Boolean, default:false},//草稿锁,true为提交之后,false为草稿
createTime:Number,//录入时间
}); });
var financingModel; var financingModel;
export function initModel(){ export function initModel(){
financingModel = baseDB.model('financing', financingSchema); financingModel = baseDB.model('financing', financingSchema);
financingModel.selectOnceData = async function (paramater:object) {
let selectInfo = await financingModel.findOne(paramater).exec();
if (selectInfo) {
if (!selectInfo.runSave) {
selectInfo.runSave = selectInfo.save;
selectInfo.save = save.bind(selectInfo)
}
}
return selectInfo;
}
} }
export async function save(throwError=false) {
if (!this.isModified()) return;
await this.runSave({validateBeforeSave:false}).catch(err=>{
console.log(err);
});
}
/** /**
* 通过taskId 获取此次任务添加的融资列表 * 通过taskId 获取此次任务添加的融资列表
...@@ -33,9 +51,28 @@ export async function findFinancingListByTaskId(taskId:string) { ...@@ -33,9 +51,28 @@ export async function findFinancingListByTaskId(taskId:string) {
} }
/** /**
* 通过taskId和uscc获取融资信息你
* @param taskId
* @returns
*/
export async function findFinancingInfoByTaskIdAndSucc(taskId:string, uscc:string) {
return await financingModel.selectOnceData({taskId, uscc}).exec();
}
/**
* 修改特定taskId的锁为true * 修改特定taskId的锁为true
* @param taskId 任务id * @param taskId 任务id
*/ */
export async function updateFinancingDraftLock(taskId:string) { export async function updateFinancingDraftLock(taskId:string) {
return await financingModel.update({taskId}, {$set:{draftLock:true}}, {upsert:true}); return await financingModel.update({taskId}, {$set:{draftLock:true}}, {upsert:true});
}
/**
* 创建新的融资数据
* @param param
*/
export async function createFinancing(fuHuaQiUscc:string, taskId:string, param) {
let addInfo = Object.assign({fuHuaQiUscc, taskId, createTime:new Date().valueOf()}, param);
await financingModel.create(addInfo);
} }
\ 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