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
1d9debb5
Commit
1d9debb5
authored
Jun 04, 2025
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
52ff4ada
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
31 additions
and
21 deletions
+31
-21
mail.ts
src/biz/mail.ts
+10
-10
ruFu.ts
src/biz/ruFu.ts
+11
-8
zaiFu.ts
src/biz/zaiFu.ts
+7
-2
errorEnum.ts
src/config/enum/errorEnum.ts
+3
-1
No files found.
src/biz/mail.ts
View file @
1d9debb5
...
@@ -34,10 +34,10 @@ async function send(toMail, name, type, otherStr?, code?) {
...
@@ -34,10 +34,10 @@ async function send(toMail, name, type, otherStr?, code?) {
let
{
title
,
mailStr
}
=
getModel
(
name
,
type
,
otherStr
,
code
);
let
{
title
,
mailStr
}
=
getModel
(
name
,
type
,
otherStr
,
code
);
// 设置邮件选项
// 设置邮件选项
let
mailOptions
=
{
let
mailOptions
=
{
from
:
'
羽翼
<zhaoyue@tninnopark.cn>'
,
// 发送者地址,需要同步发送邮箱的地址,否则发送邮箱会失败
from
:
'
雨艺
<zhaoyue@tninnopark.cn>'
,
// 发送者地址,需要同步发送邮箱的地址,否则发送邮箱会失败
// from: '
羽翼
<1685675085@qq.com>', // 发送者地址,需要同步发送邮箱的地址,否则发送邮箱会失败
// from: '
雨艺
<1685675085@qq.com>', // 发送者地址,需要同步发送邮箱的地址,否则发送邮箱会失败
to
:
toMail
,
to
:
toMail
,
subject
:
`【
羽翼
孵化器】
${
title
}
`
,
// 邮件主题
subject
:
`【
雨艺
孵化器】
${
title
}
`
,
// 邮件主题
// text: 'Hello world?', // 邮件正文(纯文本)
// text: 'Hello world?', // 邮件正文(纯文本)
html
:
mailStr
// 邮件正文(HTML 格式)
html
:
mailStr
// 邮件正文(HTML 格式)
};
};
...
@@ -59,7 +59,7 @@ function getModel(name, type, otherStr?, code?) {
...
@@ -59,7 +59,7 @@ function getModel(name, type, otherStr?, code?) {
let
title
=
""
;
let
title
=
""
;
switch
(
type
)
{
switch
(
type
)
{
case
MAILTYPE
.
通过入孵申请
:
case
MAILTYPE
.
通过入孵申请
:
str
=
"<p>感谢贵公司对【
羽翼
孵化器】的关注与信任。经我们初步审核,贵公司提交的入孵申请已通过<span style='font-weight: 700;'>初审</span>。为推进下一阶段工作,请贵方协助完成以下事项:</p>"
;
str
=
"<p>感谢贵公司对【
雨艺
孵化器】的关注与信任。经我们初步审核,贵公司提交的入孵申请已通过<span style='font-weight: 700;'>初审</span>。为推进下一阶段工作,请贵方协助完成以下事项:</p>"
;
str
+=
"<p><span style='font-weight: 700;'>*电脑端:</span>通过点击链接上传入孵材料:</p>"
;
str
+=
"<p><span style='font-weight: 700;'>*电脑端:</span>通过点击链接上传入孵材料:</p>"
;
str
+=
"<p>https://fh.tninnopark.cn/incubatorApply</p>"
;
str
+=
"<p>https://fh.tninnopark.cn/incubatorApply</p>"
;
str
+=
"<p><span style='font-weight: 700;'>*手机端:</span>通过扫码上传入孵材料:</p>"
;
str
+=
"<p><span style='font-weight: 700;'>*手机端:</span>通过扫码上传入孵材料:</p>"
;
...
@@ -69,38 +69,38 @@ function getModel(name, type, otherStr?, code?) {
...
@@ -69,38 +69,38 @@ function getModel(name, type, otherStr?, code?) {
str
+=
"<p>我们期待与贵公司的进一步合作,共同推动项目成长与落地</p>"
;
str
+=
"<p>我们期待与贵公司的进一步合作,共同推动项目成长与落地</p>"
;
str
+=
"<p>再次感谢您的积极参与!</p>"
;
str
+=
"<p>再次感谢您的积极参与!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>
羽翼
孵化器</p>"
;
str
+=
"<p style='text-align: right;'>
雨艺
孵化器</p>"
;
title
=
"贵公司入孵申请初审已通过"
;
title
=
"贵公司入孵申请初审已通过"
;
break
;
break
;
case
MAILTYPE
.
驳回入孵申请
:
case
MAILTYPE
.
驳回入孵申请
:
str
=
otherStr
;
str
=
otherStr
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>
羽翼
孵化器</p>"
;
str
+=
"<p style='text-align: right;'>
雨艺
孵化器</p>"
;
title
=
"贵公司入孵申请初审未通过通知"
;
title
=
"贵公司入孵申请初审未通过通知"
;
break
;
break
;
case
MAILTYPE
.
通过入孵材料审核
:
case
MAILTYPE
.
通过入孵材料审核
:
str
=
"<p>感谢贵公司积极配合入孵流程。经审核,贵公司提交的入孵材料<span style='font-weight: 700;'>已审核通过:</span></p>"
;
str
=
"<p>感谢贵公司积极配合入孵流程。经审核,贵公司提交的入孵材料<span style='font-weight: 700;'>已审核通过:</span></p>"
;
str
+=
"<p>我们诚挚欢迎贵公司正式入驻,与我们共同开启创新发展新篇章!</p>"
;
str
+=
"<p>我们诚挚欢迎贵公司正式入驻,与我们共同开启创新发展新篇章!</p>"
;
str
+=
"<p>请搜索小程序“
羽翼
孵化器”,更多政策动态/消息任务将通过该小程序平台推送,请留心关注。</p>"
;
str
+=
"<p>请搜索小程序“
雨艺
孵化器”,更多政策动态/消息任务将通过该小程序平台推送,请留心关注。</p>"
;
str
+=
"<p><img src='https://fh.tninnopark.cn/yuyi/files/小程序.jpg' /></p>"
;
str
+=
"<p><img src='https://fh.tninnopark.cn/yuyi/files/小程序.jpg' /></p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>
羽翼
孵化器</p>"
;
str
+=
"<p style='text-align: right;'>
雨艺
孵化器</p>"
;
title
=
"贵公司入孵材料审核已通过"
;
title
=
"贵公司入孵材料审核已通过"
;
break
;
break
;
case
MAILTYPE
.
驳回入孵材料申请
:
case
MAILTYPE
.
驳回入孵材料申请
:
str
=
otherStr
;
str
=
otherStr
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>
羽翼
孵化器</p>"
;
str
+=
"<p style='text-align: right;'>
雨艺
孵化器</p>"
;
title
=
"贵公司入孵材料审核未通过通知"
;
title
=
"贵公司入孵材料审核未通过通知"
;
break
;
break
;
case
MAILTYPE
.
结束企业服务
:
case
MAILTYPE
.
结束企业服务
:
str
=
otherStr
;
str
=
otherStr
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>祝 商祺!</p>"
;
str
+=
"<p style='text-align: right;'>
羽翼
孵化器</p>"
;
str
+=
"<p style='text-align: right;'>
雨艺
孵化器</p>"
;
title
=
"贵公司申请的企业服务已受理完毕"
;
title
=
"贵公司申请的企业服务已受理完毕"
;
break
;
break
;
...
...
src/biz/ruFu.ts
View file @
1d9debb5
...
@@ -72,10 +72,10 @@ import { systemSendMail } from "./mail";
...
@@ -72,10 +72,10 @@ import { systemSendMail } from "./mail";
let
leaseInfo
=
{
let
leaseInfo
=
{
eId
:
addEInfo
.
eId
,
eId
:
addEInfo
.
eId
,
leaseId
:
randomId
(
TABLEID
.
租赁信息
),
leaseId
:
randomId
(
TABLEID
.
租赁信息
),
area
:
param
.
area
,
area
:
param
.
area
||
null
,
unitPrice
:
param
.
unitPrice
,
unitPrice
:
param
.
unitPrice
||
null
,
building
:
param
.
building
||
null
,
// 楼号
building
:
param
.
building
||
null
,
// 楼号
roomNumber
:
param
.
roomNumber
,
roomNumber
:
param
.
roomNumber
||
null
,
// startTime:getMySqlMs(param.fuHuaTimeStart), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化开始时间
// startTime:getMySqlMs(param.fuHuaTimeStart), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化开始时间
// endTime:getMySqlMs(param.fuHuaTimeEndTime), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化结束时间
// endTime:getMySqlMs(param.fuHuaTimeEndTime), //小程序和管理后台没有填写租赁时间的位置,直接使用孵化结束时间
startTime
:
getMySqlMs
(
param
.
leaseStartTime
),
// 租赁开始时间
startTime
:
getMySqlMs
(
param
.
leaseStartTime
),
// 租赁开始时间
...
@@ -278,13 +278,13 @@ export async function settleInEnterpriseUpdate(eId:string, param) {
...
@@ -278,13 +278,13 @@ export async function settleInEnterpriseUpdate(eId:string, param) {
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
企业孵化信息
,
fuHuaInfo
,
{
eId
});
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
企业孵化信息
,
fuHuaInfo
,
{
eId
});
let
leaseInfo
=
{
let
leaseInfo
=
{
area
:
param
.
area
,
area
:
param
.
area
||
null
,
unitPrice
:
param
.
rent
&&
param
.
area
?
param
.
rent
/
param
.
area
:
param
.
unitPrice
,
unitPrice
:
param
.
rent
&&
param
.
area
?
param
.
rent
/
param
.
area
:
param
.
unitPrice
,
rent
:
param
.
rent
,
rent
:
param
.
rent
,
startTime
:
param
.
leaseStartTimeStart
,
startTime
:
param
.
leaseStartTimeStart
,
endTime
:
param
.
leaseEndTime
,
endTime
:
param
.
leaseEndTime
,
building
:
param
.
building
,
building
:
param
.
building
||
null
,
roomNumber
:
param
.
roomNumber
,
roomNumber
:
param
.
roomNumber
||
null
,
}
}
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
租赁信息
,
leaseInfo
,
{
eId
});
await
operationalData
(
OPERATIONALDATATYPE
.
修改
,
TABLENAME
.
租赁信息
,
leaseInfo
,
{
eId
});
...
@@ -340,7 +340,7 @@ export async function settleInEnterpriseOut(eId:string, descType, desc:string) {
...
@@ -340,7 +340,7 @@ export async function settleInEnterpriseOut(eId:string, descType, desc:string) {
/**发送邮件 */
/**发送邮件 */
let
mailStr
=
""
;
let
mailStr
=
""
;
mailStr
+=
"<p>感谢贵公司对【
羽翼
孵化器】的关注与信任。经我们初步审核,遗憾地通知您,贵公司此次入孵申请<span style='font-weight: 700;'>未通过初审</span>。主要原因为:</p>"
;
mailStr
+=
"<p>感谢贵公司对【
雨艺
孵化器】的关注与信任。经我们初步审核,遗憾地通知您,贵公司此次入孵申请<span style='font-weight: 700;'>未通过初审</span>。主要原因为:</p>"
;
mailStr
+=
`<ul>`
;
mailStr
+=
`<ul>`
;
mailStr
+=
`<li>
${
descStr
}
</li>`
;
mailStr
+=
`<li>
${
descStr
}
</li>`
;
mailStr
+=
`</ul>`
;
mailStr
+=
`</ul>`
;
...
@@ -527,10 +527,13 @@ export async function enterpriseRegisterExaminePass(eId:string) {
...
@@ -527,10 +527,13 @@ export async function enterpriseRegisterExaminePass(eId:string) {
*/
*/
export
async
function
enterpriseRegisterExamineOut
(
eId
:
string
,
descType
,
desc
:
string
)
{
export
async
function
enterpriseRegisterExamineOut
(
eId
:
string
,
descType
,
desc
:
string
)
{
if
(
!
eId
)
throw
new
BizError
(
ERRORENUM
.
参数错误
);
if
(
!
eId
)
throw
new
BizError
(
ERRORENUM
.
参数错误
);
if
(
!
descType
.
length
)
throw
new
BizError
(
ERRORENUM
.
请选择驳回原因
);
let
filesList
=
[
"eId"
,
"enterpriseName"
,
"uscc"
,
"logonTime"
,
"state"
];
let
filesList
=
[
"eId"
,
"enterpriseName"
,
"uscc"
,
"logonTime"
,
"state"
];
let
resInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
eId
},
filesList
);
let
resInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
企业基础信息表
,
{
eId
},
filesList
);
if
(
!
resInfo
||
!
resInfo
.
eId
)
throw
new
BizError
(
ERRORENUM
.
数据不存在
);
if
(
!
resInfo
||
!
resInfo
.
eId
)
throw
new
BizError
(
ERRORENUM
.
数据不存在
);
let
leaseInfo
=
await
selectData
(
OPERATIONALDATATYPE
.
查询单个
,
TABLENAME
.
租赁信息
,
{
eId
},
[]);
if
(
!
leaseInfo
.
leaseContract
||
!
leaseInfo
.
entryPlan
||
!
leaseInfo
.
businessLicense
||
!
leaseInfo
.
agreement
)
throw
new
BizError
(
ERRORENUM
.
该企业暂未提交入孵材料
);
// if (resInfo.state) throw new BizError(ERRORENUM.该企业已通过审核);
// if (resInfo.state) throw new BizError(ERRORENUM.该企业已通过审核);
let
updateLeaseInfo
=
{
let
updateLeaseInfo
=
{
...
...
src/biz/zaiFu.ts
View file @
1d9debb5
...
@@ -264,6 +264,9 @@ export async function enterpriseById(eId:string) {
...
@@ -264,6 +264,9 @@ export async function enterpriseById(eId:string) {
leasesTime
=
`
${
moment
(
enterprise_leases
[
0
].
startTime
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
enterprise_leases
[
0
].
endTime
).
format
(
"YYYY-MM-DD"
)}
`
;
leasesTime
=
`
${
moment
(
enterprise_leases
[
0
].
startTime
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
enterprise_leases
[
0
].
endTime
).
format
(
"YYYY-MM-DD"
)}
`
;
}
}
let
area
=
""
;
if
(
enterprise_leases
[
0
].
area
)
area
=
enterprise_leases
[
0
].
area
+
"㎡"
;
let
dataInfo
=
[
let
dataInfo
=
[
{
{
key
:
"企业名称"
,
key
:
"企业名称"
,
...
@@ -295,7 +298,7 @@ export async function enterpriseById(eId:string) {
...
@@ -295,7 +298,7 @@ export async function enterpriseById(eId:string) {
},
},
{
{
key
:
"租赁面积"
,
key
:
"租赁面积"
,
value
:
enterprise_leases
[
0
].
area
+
"㎡"
value
:
area
},
},
{
{
key
:
"园区楼号"
,
key
:
"园区楼号"
,
...
@@ -757,6 +760,8 @@ export async function dwBasicInformation(eId:string) {
...
@@ -757,6 +760,8 @@ export async function dwBasicInformation(eId:string) {
if
(
enterprise_fuhuas
[
0
].
startTime
){
if
(
enterprise_fuhuas
[
0
].
startTime
){
fuhuasTime
=
`
${
moment
(
enterprise_fuhuas
[
0
].
startTime
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
enterprise_fuhuas
[
0
].
endTime
).
format
(
"YYYY-MM-DD"
)}
`
;
fuhuasTime
=
`
${
moment
(
enterprise_fuhuas
[
0
].
startTime
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
enterprise_fuhuas
[
0
].
endTime
).
format
(
"YYYY-MM-DD"
)}
`
;
}
}
let
area
=
""
;
if
(
enterprise_leases
[
0
].
area
)
area
=
enterprise_leases
[
0
].
area
+
"㎡"
;
let
subList
=
[];
let
subList
=
[];
valueList
.
forEach
(
subInfo
=>
{
valueList
.
forEach
(
subInfo
=>
{
if
(
subInfo
==
"enterpriseName"
)
subList
.
push
(
enterpriseName
);
//企业名称
if
(
subInfo
==
"enterpriseName"
)
subList
.
push
(
enterpriseName
);
//企业名称
...
@@ -766,7 +771,7 @@ export async function dwBasicInformation(eId:string) {
...
@@ -766,7 +771,7 @@ export async function dwBasicInformation(eId:string) {
if
(
subInfo
==
"qiYeGuiMo"
)
subList
.
push
(
qiYeGuiMo
);
//企业规模
if
(
subInfo
==
"qiYeGuiMo"
)
subList
.
push
(
qiYeGuiMo
);
//企业规模
if
(
subInfo
==
"fuhuaStartTime"
)
subList
.
push
(
fuhuasTime
);
//孵化时间
if
(
subInfo
==
"fuhuaStartTime"
)
subList
.
push
(
fuhuasTime
);
//孵化时间
if
(
subInfo
==
"leaseStartTime"
)
subList
.
push
(
leasesTime
);
//租赁时间
if
(
subInfo
==
"leaseStartTime"
)
subList
.
push
(
leasesTime
);
//租赁时间
if
(
subInfo
==
"area"
)
subList
.
push
(
enterprise_leases
[
0
].
area
+
"㎡"
);
//租赁面积
if
(
subInfo
==
"area"
)
subList
.
push
(
area
);
//租赁面积
if
(
subInfo
==
"building"
)
subList
.
push
(
enterprise_leases
[
0
].
building
);
//楼号
if
(
subInfo
==
"building"
)
subList
.
push
(
enterprise_leases
[
0
].
building
);
//楼号
if
(
subInfo
==
"roomNumber"
)
subList
.
push
(
enterprise_leases
[
0
].
roomNumber
);
//室号
if
(
subInfo
==
"roomNumber"
)
subList
.
push
(
enterprise_leases
[
0
].
roomNumber
);
//室号
});
});
...
...
src/config/enum/errorEnum.ts
View file @
1d9debb5
...
@@ -39,7 +39,9 @@ export enum ERRORENUM {
...
@@ -39,7 +39,9 @@ export enum ERRORENUM {
请上传所有入孵材料
,
请上传所有入孵材料
,
企业不存在
,
企业不存在
,
该用户邮箱为空
,
该用户邮箱为空
,
邮件发送失败
邮件发送失败
,
该企业暂未提交入孵材料
,
请选择驳回原因
}
}
export
enum
ERRORCODEENUM
{
export
enum
ERRORCODEENUM
{
...
...
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