Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yuyiAdminServer
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
node_server
yuyiAdminServer
Commits
342957fb
Commit
342957fb
authored
May 17, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
eb85f2cf
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
131 additions
and
96 deletions
+131
-96
fuhua.ts
src/biz/fuhua.ts
+0
-0
mail.ts
src/biz/mail.ts
+81
-0
ruFu.ts
src/biz/ruFu.ts
+4
-0
zaiFu.ts
src/biz/zaiFu.ts
+18
-91
enum.ts
src/config/enum/enum.ts
+11
-0
errorEnum.ts
src/config/enum/errorEnum.ts
+4
-1
admin.ts
src/routers/admin.ts
+4
-4
system.ts
src/tools/system.ts
+9
-0
No files found.
src/biz/fuhua.ts
View file @
342957fb
This diff is collapsed.
Click to expand it.
src/biz/mail.ts
0 → 100644
View file @
342957fb
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>
${
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
();
}
src/biz/ruFu.ts
View file @
342957fb
...
@@ -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
};
}
}
...
...
src/biz/zaiFu.ts
View file @
342957fb
...
@@ -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
.
租赁信息
]
=
{
...
...
src/config/enum/enum.ts
View file @
342957fb
...
@@ -370,3 +370,14 @@ export enum RISKTYPE {
...
@@ -370,3 +370,14 @@ export enum RISKTYPE {
破产重整
=
2520
,
破产重整
=
2520
,
监管处罚
=
5050
监管处罚
=
5050
}
}
/**
* 邮件类型
*/
export
enum
MAILTYPE
{
通过入孵材料审核
=
1
,
}
src/config/enum/errorEnum.ts
View file @
342957fb
...
@@ -36,7 +36,10 @@ export enum ERRORENUM {
...
@@ -36,7 +36,10 @@ export enum ERRORENUM {
该企业已迁出
,
该企业已迁出
,
账号不存在
,
账号不存在
,
密码只能由
6
至
18
位字符和数字组成
,
密码只能由
6
至
18
位字符和数字组成
,
请上传所有入孵材料
请上传所有入孵材料
,
企业不存在
,
该用户邮箱为空
,
邮件发送失败
}
}
export
enum
ERRORCODEENUM
{
export
enum
ERRORCODEENUM
{
...
...
src/routers/admin.ts
View file @
342957fb
...
@@ -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);
...
...
src/tools/system.ts
View file @
342957fb
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment