Commit 342957fb by chenjinjing

no message

parent eb85f2cf
import { OPERATIONALDATATYPE, TABLENAME } from "../config/enum/dbEnum";
import { MAILTYPE } from "../config/enum/enum";
import { ERRORENUM } from "../config/enum/errorEnum";
import { selectData } from "../data/operationalData";
import { successResult } from "../tools/system";
import { BizError } from "../util/bizError";
const nodemailer = require('nodemailer');
// 创建发送邮件的传输对象
let transporter = nodemailer.createTransport({
host: 'smtp.qq.com', // SMTP 服务器地址
port: 465, // SMTP 服务器端口(通常是 465 或 587)
secure: true, // 使用 SSL
auth: {
user: '1685675085@qq.com', // 你的邮箱地址
pass: 'hppnsfvnzzhlbdfh' // 你的邮箱密码或应用专用密码
}
});
async function send(toMail, name, type, code?) {
let {title, mailStr} = getModel(name, type, code);
// 设置邮件选项
let mailOptions = {
from: '羽翼 <1685675085@qq.com>', // 发送者地址
to: toMail,
subject: `羽翼的${title}通知`, // 邮件主题
// text: 'Hello world?', // 邮件正文(纯文本)
html: mailStr // 邮件正文(HTML 格式)
};
// new promises
return new Promise((resolve, reject) => {
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
throw new BizError(ERRORENUM.邮件发送失败);
}
resolve(info);
});
});
}
function getModel(name, type, code?) {
let str = "";
let title = "";
switch (type) {
case MAILTYPE.通过入孵材料审核:
str = "您提交的企业材料审核成功,欢迎入驻羽翼孵化器。";
title = "审核通过";
break;
}
let mailStr = ""
mailStr +=`<p>尊敬的${name}:</p>`;
mailStr +=`<p>您好!</p>`;
mailStr +=`<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${str}</p>`;
return {mailStr, title};
}
/**
* 系统发送邮件
* @param userId
* @param type
*/
export async function systemSendMail(eId, type) {
let userInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.企业基础信息表, {eId}, ["eId", "enterpriseName", "uscc", "mail"]);
if (!userInfo || !userInfo.eId) throw new BizError(ERRORENUM.企业不存在);
if (!userInfo.mail) {
new BizError(ERRORENUM.该用户邮箱为空, eId, eId.enterpriseName);
} else {
let result = await send(userInfo.mail, userInfo.enterpriseName, type);
}
return successResult();
}
...@@ -15,6 +15,7 @@ import { changeAdd, extractData } from "../util/piecemeal"; ...@@ -15,6 +15,7 @@ import { changeAdd, extractData } from "../util/piecemeal";
import { EnterpriseApplyForConfig } from "../config/splitResult/enterprise"; import { EnterpriseApplyForConfig } from "../config/splitResult/enterprise";
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
import { systemConfig } from "../config/serverConfig"; import { systemConfig } from "../config/serverConfig";
import { systemSendMail } from "./mail";
//=======================================================新入孵企业 //=======================================================新入孵企业
...@@ -484,6 +485,9 @@ export async function enterpriseRegisterExaminePass(eId:string) { ...@@ -484,6 +485,9 @@ export async function enterpriseRegisterExaminePass(eId:string) {
}) })
let yuyiList = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.羽翼孵化器信息, {}, []); let yuyiList = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.羽翼孵化器信息, {}, []);
if (在孵面积 != yuyiList.zaifuArea) await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.羽翼孵化器信息, {zaifuArea:在孵面积}, {yId:yuyiList.yId}); if (在孵面积 != yuyiList.zaifuArea) await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.羽翼孵化器信息, {zaifuArea:在孵面积}, {yId:yuyiList.yId});
//发送邮件
await systemSendMail(eId, enumConfig.MAILTYPE.通过入孵材料审核 );
return {isSuccess:true}; return {isSuccess:true};
} }
......
...@@ -18,14 +18,14 @@ import { BUILDING } from "../config/enum/enum"; ...@@ -18,14 +18,14 @@ import { BUILDING } from "../config/enum/enum";
* 在孵企业列表 * 在孵企业列表
* @param enterpriseName * @param enterpriseName
* @param page * @param page
* @param logonStartTime * @param logonStartTime 注册开始时间
* @param logonEndTime * @param logonEndTime 注册结束时间
* @param startTime * @param startTime 租赁开始时间
* @param endTime * @param endTime 租赁结束时间
* @param building * @param building 园区楼号
* @returns * @returns
*/ */
export async function enterpriseList(enterpriseName:string, page:number, logonStartTime:string, logonEndTime:string, startTime: number,endTime: number, building: number ) { export async function enterpriseList(enterpriseName:string, page:number, logonStartTime:string, logonEndTime:string, building: number ) {
let selectParam: any = { state: enumConfig.CHANGESTATE.已通过}; let selectParam: any = { state: enumConfig.CHANGESTATE.已通过};
if (enterpriseName) { if (enterpriseName) {
selectParam.enterpriseName = { "%like%": enterpriseName }; selectParam.enterpriseName = { "%like%": enterpriseName };
...@@ -38,39 +38,15 @@ export async function enterpriseList(enterpriseName:string, page:number, logonSt ...@@ -38,39 +38,15 @@ export async function enterpriseList(enterpriseName:string, page:number, logonSt
let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "logonAddress", "qiYeGuiMo"]; let filesList = ["eId", "enterpriseName", "uscc", "logonTime", "logonAddress", "qiYeGuiMo"];
// 子表配置:租赁信息 // 子表配置:租赁信息
let leaseWhere:any = {}; let leaseWhere:any = {};
if (building) leaseWhere.building = building;
// if (startTime && endTime) { // if (startTime && endTime) {
// if (!leaseWhere["%literal%"]) { // leaseWhere["%literal%"] = `(enterprise_lease.startTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}'
// leaseWhere["%literal%"] = `(enterprise_lease.startTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}' // or enterprise_lease.endTime BETWEEN '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
// or enterprise_lease.endTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
// }
// // leaseWhere["%or%"] = [
// // {startTime: { "%between%":[getMySqlMs(startTime), getMySqlMs(endTime)] }},
// // {endTime: { "%between%":[getMySqlMs(startTime), getMySqlMs(endTime)] }}
// // ]
// }
// if (building) {
// if (!leaseWhere["%literal%"]) {
// leaseWhere["%literal%"] = `enterprise_lease.building = '${building}'`;
// } else {
// leaseWhere["%literal%"] += ` and enterprise_lease.building = '${building}'`;
// }
// } // }
// leaseWhere.building = building;
let manyTableInfo: any = {}; let manyTableInfo: any = {};
manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime", "building", "roomNumber"], where: leaseWhere }; manyTableInfo[TABLENAME.租赁信息] = { column: ["area", "startTime", "endTime", "building", "roomNumber"], where: leaseWhere };
// manyTableInfo[TABLENAME.企业孵化信息] = {
// column: ["moveOutTime", "moveOutType", "startTime", "endTime"],
// where:
// // {"state": {"%ne%":enumConfig.FUHUASTATE.迁出}}
// {"%literal%": `enterprise_fuhuas.state <> ${enumConfig.FUHUASTATE.迁出}`}
// }
// 查询分页数据
let resInfo = await selectManyTableData( OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo, page ); let resInfo = await selectManyTableData( OPERATIONALDATATYPE.多表分页, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo, page );
// 查询总数
let dataCount = await selectManyTableData( OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo ); let dataCount = await selectManyTableData( OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, selectParam, filesList, manyTableInfo );
let dataList = []; let dataList = [];
...@@ -157,6 +133,7 @@ export async function enterpriseMoveOut(eId: string, moveOutType: number) { ...@@ -157,6 +133,7 @@ export async function enterpriseMoveOut(eId: string, moveOutType: number) {
return { isSuccess: true }; return { isSuccess: true };
} }
/** /**
* 迁出企业列表 * 迁出企业列表
* @param enterpriseName * @param enterpriseName
...@@ -403,54 +380,6 @@ export async function enterpriseFinancingById(eId:string) { ...@@ -403,54 +380,6 @@ export async function enterpriseFinancingById(eId:string) {
let filesList = ["enterpriseName", "uscc"]; let filesList = ["enterpriseName", "uscc"];
let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {eId}, filesList, manyTableInfo); let resInfo = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.企业基础信息表, {eId}, filesList, manyTableInfo);
// let resData = [];
// resInfo.forEach( info => {
// let {enterpriseName, uscc, enterprise_financings} = info;
// resData.push({enterpriseName, uscc, enterprise_financings, investmentDate:new Date(enterprise_financings[0].investmentDate).valueOf()});
// })
// resData.sort( (a, b) => {
// return b.investmentDate - a.investmentDate;
// })
// let dataList = [];
// resData.forEach(info => {
// let {enterpriseName, uscc, enterprise_financings} = info;
// if (enterprise_financings.length != 0) {
// enterprise_financings.forEach( item => {
// let dataInfo = [
// {
// key:"企业名称",
// value:enterpriseName
// },
// {
// key:"统一信用代码",
// value:uscc
// },
// {
// key:"融资金额(万元)",
// value:item.financingAmount
// },
// {
// key:"融资轮次",
// value:changeEnumValue(enumConfig.FINANCINGROUNDS, item.financingRounds)
// },
// {
// key:"获得投资时间",
// value:moment(item.investmentDate).format("YYYY-MM-DD")
// },
// {
// key:"投资机构名称",
// value:item.investmentInstitutionsName
// },
// ]
// dataList.push(dataInfo);
// })
// }
// });
let resData = []; let resData = [];
resInfo.forEach( info => { resInfo.forEach( info => {
let {enterpriseName, uscc, enterprise_financings} = info; let {enterpriseName, uscc, enterprise_financings} = info;
...@@ -718,7 +647,7 @@ export async function enterpriseServiceById(eId:string) { ...@@ -718,7 +647,7 @@ export async function enterpriseServiceById(eId:string) {
/** /**
* 加了注册时间,租赁时间,园区楼号筛选的 * 加了注册时间,租赁时间,园区楼号筛选的
*/ */
export async function dwEnterpriseTable(enterpriseName:string, type:number, logonStartTime:string, logonEndTime:string, startTime: number, endTime: number, building: number ) { export async function dwEnterpriseTable(enterpriseName:string, type:number, logonStartTime:string, logonEndTime:string, building: number ) {
let files = [{key:"企业名称",value:"enterpriseName"}, let files = [{key:"企业名称",value:"enterpriseName"},
{key:"统一信用代码",value:"uscc"}, {key:"统一信用代码",value:"uscc"},
{key:"注册时间",value:"logonTime"}, {key:"注册时间",value:"logonTime"},
...@@ -748,16 +677,14 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo ...@@ -748,16 +677,14 @@ export async function dwEnterpriseTable(enterpriseName:string, type:number, logo
// 租赁信息表配置 // 租赁信息表配置
let leaseWhere:any = {}; let leaseWhere:any = {};
if (startTime && endTime) { // if (startTime && endTime) {
if (!leaseWhere["%literal%"]) { // if (!leaseWhere["%literal%"]) {
leaseWhere["%literal%"] = `(startTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}' // leaseWhere["%literal%"] = `(startTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}'
or endTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `; // or endTime between '${getMySqlMs(startTime)}' and '${getMySqlMs(endTime)}') `;
} // }
} // }
if (building) { if (building) leaseWhere.building = building;
leaseWhere.building = building;
}
// 租赁信息表配置 // 租赁信息表配置
manyTableInfo[TABLENAME.租赁信息] = { manyTableInfo[TABLENAME.租赁信息] = {
......
...@@ -370,3 +370,14 @@ export enum RISKTYPE { ...@@ -370,3 +370,14 @@ export enum RISKTYPE {
破产重整 = 2520, 破产重整 = 2520,
监管处罚 = 5050 监管处罚 = 5050
} }
/**
* 邮件类型
*/
export enum MAILTYPE {
通过入孵材料审核 = 1,
}
...@@ -36,7 +36,10 @@ export enum ERRORENUM { ...@@ -36,7 +36,10 @@ export enum ERRORENUM {
该企业已迁出, 该企业已迁出,
账号不存在, 账号不存在,
密码只能由618位字符和数字组成, 密码只能由618位字符和数字组成,
请上传所有入孵材料 请上传所有入孵材料,
企业不存在,
该用户邮箱为空,
邮件发送失败
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
...@@ -337,8 +337,8 @@ async function outPutTalentList(req, res) { ...@@ -337,8 +337,8 @@ async function outPutTalentList(req, res) {
*/ */
async function enterpriseList(req, res) { async function enterpriseList(req, res) {
const UserInfo = req.userInfo; const UserInfo = req.userInfo;
let {enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building } = req.body let {enterpriseName, page, logonStartTime, logonEndTime, building } = req.body
let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, startTime, endTime, building); let result = await zaiFuBiz.enterpriseList(enterpriseName, page, logonStartTime, logonEndTime, building);
res.success(result); res.success(result);
} }
...@@ -430,8 +430,8 @@ async function enterpriseDetails(req, res) { ...@@ -430,8 +430,8 @@ async function enterpriseDetails(req, res) {
* @param res * @param res
*/ */
async function dwEnterpriseList(req, res) { async function dwEnterpriseList(req, res) {
let {enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building } = req.body let {enterpriseName, type, logonStartTime, logonEndTime, building } = req.body
let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, startTime, endTime, building ); let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, logonStartTime, logonEndTime, building );
// let {enterpriseName, type, files} = req.body // let {enterpriseName, type, files} = req.body
// let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, files); // let result = await zaiFuBiz.dwEnterpriseTable(enterpriseName, type, files);
......
...@@ -8,6 +8,15 @@ import moment = require("moment"); ...@@ -8,6 +8,15 @@ import moment = require("moment");
import pinyin from 'pinyin'; import pinyin from 'pinyin';
const md5 = require("md5"); const md5 = require("md5");
/**
* 返回编辑正确的结果
* @returns
*/
export function successResult() {
return {success:true}
}
/** /**
* 生成任务草稿箱Id * 生成任务草稿箱Id
......
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