Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wenHuaBu_adminServer
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
wenHuaBu_adminServer
Commits
c24b76f7
Commit
c24b76f7
authored
Mar 14, 2024
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
待审核
parent
8d7b9664
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
388 additions
and
99 deletions
+388
-99
examine.ts
src/biz/member/examine.ts
+149
-7
member.ts
src/biz/member/member.ts
+97
-55
enum.ts
src/config/enum.ts
+35
-0
errorEnum.ts
src/config/errorEnum.ts
+2
-1
model.ts
src/data/models/model.ts
+24
-12
main.ts
src/main.ts
+2
-2
router.ts
src/routers/member/router.ts
+79
-22
No files found.
src/biz/member/examine.ts
View file @
c24b76f7
...
...
@@ -2,17 +2,22 @@
* 审批逻辑
*/
import
{
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
USERREGISTERSTATE
}
from
"../../config/enum"
;
import
{
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
OPERATIONREHAVIOR
,
PAYMENTSTATUS
,
REGISTERFLOW
,
USERREGISTERSTATE
}
from
"../../config/enum"
;
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
addManyData
}
from
"../../data/add"
;
import
{
TABLEENUM
}
from
"../../data/models/model"
;
import
{
findCount
,
findToPage
}
from
"../../data/select"
;
import
{
find
,
findCount
,
findOnce
,
findToPage
}
from
"../../data/select"
;
import
{
updateOneData
}
from
"../../data/update"
;
import
{
generateSystemId
,
successResult
}
from
"../../tools/system"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
extractData
}
from
"../../util/piecemeal"
;
import
{
changeEnumValue
}
from
"../../util/verificationEnum"
;
/**
* 待审核
* 待审核
列表
* @param param0
*/
export
async
function
audit
List
({
unitName
,
joinTime
,
memberType
,
sheng
,
shi
,
qu
,
pageNumber
})
{
export
async
function
pendingReview
List
({
unitName
,
joinTime
,
memberType
,
sheng
,
shi
,
qu
,
pageNumber
})
{
let
selectParam
:
any
=
{};
if
(
unitName
)
selectParam
.
unitName
=
unitName
;
if
(
joinTime
)
selectParam
.
joinTime
=
joinTime
;
...
...
@@ -29,9 +34,9 @@ export async function auditList({unitName, joinTime, memberType, sheng, shi, qu,
let
dataList
=
[];
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
selectConf
);
changeEnumValue
(
USERREGISTERSTATE
,
item
.
userRegisterState
)
;
if
(
!
item
.
memberLevel
)
item
.
memberLevel
=
"未选择"
;
else
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
if
(
!
item
.
userRegisterState
)
item
.
userRegisterState
=
"待审核"
;
else
changeEnumValue
(
USERREGISTERSTATE
,
item
.
userRegisterState
)
;
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
dataList
.
push
(
item
);
});
...
...
@@ -39,14 +44,119 @@ export async function auditList({unitName, joinTime, memberType, sheng, shi, qu,
}
/**
* 通过审核
* @param param0
* @returns
*/
export
async
function
adopt
({
userId
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
{
userRegisterState
:
USERREGISTERSTATE
.
通过
});
let
now
=
new
Date
().
valueOf
();
let
addApprovalHistory
=
{
id
:
generateSystemId
(
TABLEENUM
.
审批历史表
,
userId
),
userId
,
operationTime
:
now
,
operationBehavior
:
OPERATIONREHAVIOR
.
通过
,
remarks
:
""
};
await
addManyData
(
TABLEENUM
.
审批历史表
,
addApprovalHistory
);
return
successResult
();
}
/**
* 驳回
* @param param0
* @returns
*/
export
async
function
reject
({
userId
,
remarks
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
{
userRegisterState
:
USERREGISTERSTATE
.
驳回修改
});
let
selectParam
=
{};
if
(
oldInfo
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
selectParam
=
{
registerFlow
:
REGISTERFLOW
.
个人会员注册
2
}
}
else
{
selectParam
=
{
registerFlow
:
REGISTERFLOW
.
单位会员注册
2
}
}
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
selectParam
);
let
now
=
new
Date
().
valueOf
();
let
addApprovalHistory
=
{
id
:
generateSystemId
(
TABLEENUM
.
审批历史表
,
userId
),
userId
,
operationTime
:
now
,
operationBehavior
:
OPERATIONREHAVIOR
.
驳回修改
,
remarks
};
await
addManyData
(
TABLEENUM
.
审批历史表
,
addApprovalHistory
);
return
successResult
();
}
/**
* 审核历史
*/
export
async
function
approvalHistoryList
({
userId
})
{
let
oldInfo
=
await
find
(
TABLEENUM
.
审批历史表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
let
dataList
:
any
=
extractData
(
oldInfo
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
]);
changeEnumValue
(
OPERATIONREHAVIOR
,
dataList
.
operationBehavior
);
return
dataList
;
}
/**
* 待支付列表
*/
export
async
function
toBePaidList
({
unitName
,
joinTime
,
memberType
,
paymentStatus
,
pageNumber
})
{
let
selectParam
:
any
=
{};
if
(
unitName
)
selectParam
.
unitName
=
unitName
;
if
(
joinTime
)
selectParam
.
joinTime
=
joinTime
;
if
(
memberType
)
selectParam
.
memberType
=
memberType
;
if
(
paymentStatus
)
selectParam
.
paymentStatus
=
paymentStatus
;
let
selectConf
=
[
"userId"
,
"状态"
,
"unitName"
,
"loginId"
,
"phone"
,
"joinTime"
,
"memberType"
,
"lifespanStartTime"
,
"lifespanEndTime"
,
"paymentStatus"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
用户表
,
selectParam
,
selectConf
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
用户表
,
selectParam
);
let
dataList
=
[];
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
selectConf
);
changeEnumValue
(
MEMBERTYPE
,
item
.
memberType
);
changeEnumValue
(
PAYMENTSTATUS
,
item
.
paymentStatus
);
dataList
.
push
(
item
);
});
return
{
dataList
,
dataCount
};;
}
/**
* 待支付通过
* @param param0
* @returns
*/
export
async
function
passThroughPaid
({
userId
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
{
paymentStatus
:
PAYMENTSTATUS
.
已支付
});
return
successResult
();
}
...
...
@@ -62,6 +172,38 @@ export async function auditList({unitName, joinTime, memberType, sheng, shi, qu,
/**
* 获取届次
* @param year 入会年份
* @param month 入会月份
* @returns
*/
export
async
function
getEdition
(
year
,
month
)
{
//起始年份和月份
const
startYear
=
2018
;
const
startMonth
=
1
;
let
currentYear
=
new
Date
().
getFullYear
();
if
(
year
>
currentYear
)
throw
new
BizError
(
ERRORENUM
.
无法获取未来届次
);
//计算从起始时间给定时间的总月份数
let
totalMonth
=
(
year
-
startYear
)
*
12
+
month
;
//每届是6个月
let
sessions
=
Math
.
ceil
(
totalMonth
/
6
);
//每10届一次
let
times
=
Math
.
ceil
(
sessions
/
10
);
let
sessionNumber
=
sessions
-
(
times
-
1
)
*
10
//届次是从第一次第一届开始,所以需要减一
return
{
frequency
:
"第"
+
times
+
"次"
,
session
:
"第"
+
sessionNumber
+
"届"
};
}
...
...
src/biz/member/member.ts
View file @
c24b76f7
This diff is collapsed.
Click to expand it.
src/config/enum.ts
View file @
c24b76f7
...
...
@@ -434,3 +434,38 @@ export enum PAYMENTTYPE {
银行转账
,
线下支付
}
/**
* 院校办学类型 yuanXiaoBanXueLeiXing
*/
export
enum
BANXUELEIXING
{
中职
=
1
,
高职
,
本科
,
社会培训
,
非教学
}
/**
* 审批历史操作行为
*/
export
enum
OPERATIONREHAVIOR
{
待审核
=
1
,
重新提交
,
驳回修改
,
通过
,
用户提交
}
/**
* 支付状态
*/
export
enum
PAYMENTSTATUS
{
已支付
=
1
,
未支付
,
银行转账
,
}
src/config/errorEnum.ts
View file @
c24b76f7
...
...
@@ -24,7 +24,8 @@ export enum ERRORENUM {
发送验证码频率过快
,
验证码错误
,
验证码失效
,
验证码过期
验证码过期
,
无法获取未来届次
}
export
enum
ERRORCODEENUM
{
...
...
src/data/models/model.ts
View file @
c24b76f7
...
...
@@ -85,6 +85,7 @@ enum TABLEENUM {
订单表
=
'order'
,
单位所获得科研成果表
=
"scientificResearch"
,
验证码表
=
"code"
,
审批历史表
=
"approvalHistory"
,
}
const
ModelArray
=
[
...
...
@@ -367,37 +368,36 @@ const ModelArray = [
isGracePeriod
:{
type
:
'Number'
,
default
:
0
},
//是否宽限期 0:否, 1:是
gracePeriodEndTime
:
'Number'
,
//宽限期到期时间 时间戳
certificateType
:
'Number'
,
//证书类型 枚举
education
:
'Number'
,
//学历
applicationForm
:
'String'
,
//入会申请表
unitName
:
'String'
,
//单位名称
officialWebsite
:
'String'
,
//官网 单位网址
uscc
:
'String'
,
//统一信用代码
legalPerson
:
'String'
,
//法人
legalPersonMail
:
'String'
,
//法人邮箱
legalPersonPhone
:
'String'
,
//法人代表联系电话
gongZhongHao
:
'String'
,
//单位公众号
unitPhone
:
'Number'
,
//单位电话
contactPerson
:
'String'
,
//日常联系人
contactPersonDuties
:
'String'
,
//日常联系人职务
contactPersonPhone
:
'String'
,
//日常联系人手机
unitMail
:
'String'
,
//单位电子邮箱
uusinessLicenseUrl
:
'String'
,
//营业执照 图片地址
personInChargeDesc
:
'String'
,
//单位主要负责人或负责人集体描述
/**单位会员信息 */
unitInfoType
:
'Number'
,
//单位信息类型 枚举
yuanXiaoBanXueLeiXing
:
'
String'
,
//院校办学类型
yuanXiaoBanXueLeiXing
:
'
Number'
,
//院校办学类型 枚举
yuanXiaoZhuGuanBuMen
:
'String'
,
//院校主管部门
yuanXiaoFuZeRen
:
'String'
,
//院校主要负责人
yuanXiaoFuZeRenZhiWu
:
'String'
,
//院校主要负责人职务
yuanXiaoFuZeRenDianHua
:
'String'
,
//院校主要负责人电话
yuanXiaoBanGongFuZeRen
:
'String'
,
//院校办公负责人
yuanXiaoBanGongFuZeRenZhiWu
:
'String'
,
//院校办公负责人职务
yuanXiaoBanGongFuZeRenDianHua
:
'String'
,
//院校办公负责人电话
yuanXiaoKeYanFuZeRen
:
'String'
,
//院校办公负责人
yuanXiaoKeYanFuZeRenZhiWu
:
'String'
,
//院校办公负责人职务
yuanXiaoKeYanFuZeRenDianHua
:
'String'
,
//院校办公负责人电话
yuanXiaoKeYanFuZeRen
:
'String'
,
//院校科研负责人
yuanXiaoKeYanFuZeRenDianHua
:
'String'
,
//院校科研负责人电话
yuanXiaoXueShengZongRenShu
:
'String'
,
//学生总人数
yuanXiaoJiaoZhiGongZongRenShu
:
'String'
,
//教职工总人数
yuanXiaoJianZhuMianJi
:
'String'
,
//院校建筑面积
yuanXiaoGaoJiZhiCheng
:
'String'
,
// 院校职称
yuanXiaoKaiSheZhuanYe
:
'String'
,
//院校开设专业数
jiaoXueFuZeRenXinMing
:
'String'
,
//教学负责人姓名
jiaoXueFuZeRenDianHua
:
'String'
,
//教学负责人电话
ZhuYaoFuZeRenYouXiang
:
'String'
,
//主要负责人邮箱
/**个人会员信息 */
cardUrl
:{
type
:
'[String]'
,
default
:[]},
//身份证正反面图片地址
...
...
@@ -411,6 +411,7 @@ const ModelArray = [
otherEMP
:
'String'
,
//其他任职情况
otherPROF
:
'String'
,
//其他专业情况
paymentStatus
:
'Number'
,
//支付状态
}
},
{
...
...
@@ -459,6 +460,17 @@ const ModelArray = [
isUse
:{
type
:
'Boolean'
,
default
:
false
},
//是否使用 默认false
}
},
{
tableName
:
TABLEENUM
.
审批历史表
,
source
:
TABLESOURCEENUM
.
mongo
,
schema
:{
id
:{
type
:
'String'
,
index
:
true
},
userId
:
'String'
,
//用户id 外键
operationTime
:{
type
:
'Number'
,
index
:
true
},
//操作时间
operationBehavior
:{
type
:
'Number'
,
index
:
true
},
//操作行为 枚举
remarks
:{
type
:
'String'
,
index
:
true
},
//备注
}
}
];
...
...
src/main.ts
View file @
c24b76f7
import
{
getEdition
}
from
"./biz/member/examine"
;
import
{
initConfig
,
systemConfig
}
from
"./config/serverConfig"
;
import
{
initDataBaseModel
}
from
"./data/db/db"
;
import
{
httpServer
}
from
"./net/http_server"
;
...
...
@@ -14,4 +15,4 @@ async function lanuch() {
console
.
log
(
'This indicates that the server is started successfully.'
);
}
lanuch
();
\ No newline at end of file
lanuch
();
src/routers/member/router.ts
View file @
c24b76f7
This diff is collapsed.
Click to expand it.
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