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
0a77e0ce
Commit
0a77e0ce
authored
Mar 19, 2024
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
cbd95e61
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
88 additions
and
24 deletions
+88
-24
authority.ts
src/biz/member/authority.ts
+28
-2
examine.ts
src/biz/member/examine.ts
+2
-2
homePage.ts
src/biz/member/homePage.ts
+32
-12
member.ts
src/biz/member/member.ts
+12
-2
memberFees.ts
src/biz/member/memberFees.ts
+2
-2
register.ts
src/biz/register.ts
+4
-3
model.ts
src/data/models/model.ts
+1
-1
router.ts
src/routers/member/router.ts
+0
-0
router.ts
src/routers/public/router.ts
+7
-0
No files found.
src/biz/member/authority.ts
View file @
0a77e0ce
...
...
@@ -18,10 +18,10 @@ import { changeEnumValue, eccEnumValue } from "../../util/verificationEnum";
* 会员权限列表 success
* @param unitName 单位名称
* @param memberLevel 会员等级、职务 MEMBERLEVEL
* @param memberCategory 会员类别、会员级别 UNITMEMBERTYPE、INDIVIDUALMEMBERTYPE
* @param memberCategory 会员类别、会员级别 UNITMEMBERTYPE、INDIVIDUALMEMBERTYPE
前端用MEMBERTYPEECCENUM
* @param pageNumber 当前页
*/
export
async
function
getAuthority
({
unitName
,
memberLevel
,
memberCategory
,
pageNumber
})
{
export
async
function
getAuthority
({
unitName
,
memberLevel
,
memberCategory
,
pageNumber
})
{
/**查询条件 */
let
selectParam
:
any
=
{};
if
(
unitName
)
selectParam
.
unitName
=
unitName
;
...
...
@@ -96,8 +96,34 @@ export async function freeze({userId}) {
}
/**
* 变更权限回显
* @param id 列表返回的userId
* @returns
*/
export
async
function
authorityEcho
({
id
})
{
const
SelectFiles
=
[
"unitName"
,
"name"
,
"memberLevel"
,
"memberType"
,
"individualMemberType"
,
"unitMemberType"
];
let
dbList
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
SelectFiles
);
const
ResultFiles
=
[
"unitName"
,
"memberLevel"
,
"memberType"
];
let
dataList
=
[];
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
ResultFiles
);
if
(
info
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
item
.
unitName
=
info
.
name
;
item
.
memberCategory
=
changeEnumValue
(
INDIVIDUALMEMBERTYPE
,
item
.
individualMemberType
);
//会员类别/级别
}
else
{
item
.
unitName
=
info
.
unitName
;
item
.
memberCategory
=
changeEnumValue
(
UNITMEMBERTYPE
,
item
.
unitMemberType
);
//会员类别/级别
}
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
//会员等级、职务
dataList
.
push
(
item
);
});
return
{
dataList
};
}
...
...
src/biz/member/examine.ts
View file @
0a77e0ce
...
...
@@ -85,7 +85,7 @@ export async function adopt({userId}) {
paymentStatus
:
PAYMENTSTATUS
.
未支付
,
lifespanStartTime
:
NowMs
,
lifespanEndTime
:
NowMs
+
1000
,
memberLevel
:
MEMBERLEVEL
.
普通会员
memberLevel
:
MEMBERLEVEL
.
普通会员
,
};
let
unitName
=
userInfo
.
unitName
;
let
subType
=
userInfo
.
unitMemberType
;
...
...
@@ -184,7 +184,7 @@ export async function approvalHistoryList({userId}) {
* @param month 入会月份
* @returns
*/
function
getEdition
(
year
,
month
)
{
export
function
getEdition
(
year
,
month
)
{
//起始年份和月份
const
startYear
=
2018
;
...
...
src/biz/member/homePage.ts
View file @
0a77e0ce
...
...
@@ -3,6 +3,7 @@
* 【二期内容:申请理事、申请常务理事、申请专家会员、会员积分、活动列表[立即参加]、消息中心暂时展示缴费提醒】
*/
import
moment
=
require
(
"moment"
);
import
{
BANXUELEIXING
,
DOCUMENTTYPE
,
INDIVIDUALMEMBERTYPE
,
INVOICESTATUS
,
MEMBERLEVEL
,
MEMBERTYPE
,
NATION
,
ORDERSTATE
,
PROFCATEGORY
,
SEX
,
STATE
,
UNITMEMBERTYPE
}
from
"../../config/enum"
;
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
addManyData
}
from
"../../data/add"
;
...
...
@@ -201,19 +202,32 @@ export async function getSheng ({userId}) {
* 会员缴费列表
* @param userId
* @param state
* @returns
* @returns
dataList:[{data:列表, proofLetterInfo:证明函}]
*/
export
async
function
memberPayment
({
userId
,
state
})
{
let
selectParam
:
any
=
{
userId
};
if
(
state
)
selectParam
.
state
=
state
;
let
oldList
=
await
find
(
TABLEENUM
.
订单表
,
selectParam
,
[
"id"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"state"
]);
let
oldList
=
await
find
(
TABLEENUM
.
订单表
,
selectParam
,
[
"id"
,
"
userId"
,
"unitName"
,
"
orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"state"
]);
if
(
!
oldList
||
oldList
.
length
<
1
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
/**查询证明函需要字段会员等级 */
let
myOldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
oldList
.
userId
},
[
"memberLevel"
]);
if
(
!
myOldInfo
||
!
myOldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
//证明函返回数据配置
const
proofLetterFiles
=
[
"userId"
,
"unitName"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
];
let
dataList
=
[];
oldList
.
forEach
(
info
=>
{
oldList
.
forEach
(
async
info
=>
{
/**处理列表返回数据字段 */
let
item
:
any
=
extractData
(
info
,
[
"id"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"state"
]);
item
.
state
=
changeEnumValue
(
ORDERSTATE
,
item
.
state
);
dataList
.
push
(
item
);
/**处理证明函返回数据字段 */
let
proofLetterInfo
:
any
=
extractData
(
info
,
proofLetterFiles
);
proofLetterInfo
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
myOldInfo
.
memberLevel
);
proofLetterInfo
.
orderCycleStart
=
moment
(
proofLetterInfo
.
orderCycleStart
).
format
(
"YYYY"
);
proofLetterInfo
.
orderCycleEnd
=
moment
(
proofLetterInfo
.
orderCycleEnd
).
format
(
"YYYY"
);
dataList
.
push
({
list
:
item
,
proofLetterInfo
});
})
return
{
dataList
};
...
...
@@ -221,25 +235,31 @@ export async function memberPayment({userId, state}) {
/**
*
欠费证明
*
申请发票
* @param id 会员缴费列表返回的id
*/
export
async
function
arrears
({
id
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
},
[
""
,
""
]);
export
async
function
applicationInvoice
({
id
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
,
invoiceStatus
:
INVOICESTATUS
.
未开发票
},
[
"invoiceAdd"
]);
if
(
!
oldInfo
||
!
oldInfo
.
invoiceAdd
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
let
dataInfo
=
extractData
(
oldInfo
,
[
"invoiceAdd"
]);
return
{
dataInfo
};
}
/**
*
申请
发票
*
下载
发票
* @param id 会员缴费列表返回的id
*/
export
async
function
applicationInvoice
({
id
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
,
invoiceStatus
:
INVOICESTATUS
.
未开发票
},
[
"invoiceAdd"
]);
}
export
async
function
downInvoice
({
id
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
,
invoiceStatus
:
INVOICESTATUS
.
已开发票
},
[
"invoiceAdd"
]);
if
(
!
oldInfo
||
!
oldInfo
.
invoiceAdd
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
let
dataInfo
=
extractData
(
oldInfo
,
[
"invoiceAdd"
]);
return
{
dataInfo
};
}
...
...
src/biz/member/member.ts
View file @
0a77e0ce
...
...
@@ -13,6 +13,8 @@ import { extractData } from "../../util/piecemeal";
import
{
changeEnumValue
,
eccEnumValue
}
from
"../../util/verificationEnum"
;
import
{
addManyData
,
addOneData
}
from
"../../data/add"
;
import
{
deleteManyData
,
deleteOneData
}
from
"../../data/delete"
;
import
moment
=
require
(
"moment"
);
import
{
getEdition
}
from
"./examine"
;
/**
...
...
@@ -33,7 +35,11 @@ export async function unitMemberList({unitName, joinTime, unitMemberType, member
if
(
joinTime
)
selectParam
.
joinTime
=
joinTime
;
if
(
unitMemberType
)
selectParam
.
unitMemberType
=
unitMemberType
;
if
(
memberLevel
)
selectParam
.
memberLevel
=
memberLevel
;
if
(
session
)
selectParam
.
session
=
session
;
if
(
session
)
{
let
thisYear
=
moment
(
session
).
format
(
"YYYY"
);
let
thisMonth
=
moment
(
session
).
format
(
"MM"
);
selectParam
.
session
=
getEdition
(
thisYear
,
thisMonth
);;
}
if
(
sheng
)
selectParam
.
sheng
=
sheng
;
if
(
shi
)
selectParam
.
shi
=
shi
;
if
(
qu
)
selectParam
.
qu
=
qu
;
...
...
@@ -147,7 +153,11 @@ export async function individualMemberList({name, documentId, phone, individualM
if
(
phone
)
selectParam
.
phone
=
phone
;
if
(
individualMemberType
)
selectParam
.
individualMemberType
=
individualMemberType
;
if
(
memberLevel
)
selectParam
.
memberLevel
=
memberLevel
;
if
(
session
)
selectParam
.
session
=
session
;
if
(
session
)
{
let
thisYear
=
moment
(
session
).
format
(
"YYYY"
);
let
thisMonth
=
moment
(
session
).
format
(
"MM"
);
selectParam
.
session
=
getEdition
(
thisYear
,
thisMonth
);;
}
if
(
joinTime
)
selectParam
.
joinTime
=
joinTime
;
if
(
auditTime
)
selectParam
.
auditTime
=
auditTime
;
if
(
memberState
)
selectParam
.
memberState
=
memberState
;
...
...
src/biz/member/memberFees.ts
View file @
0a77e0ce
...
...
@@ -3,7 +3,7 @@
*/
import
moment
=
require
(
"moment"
);
import
{
MEMBERSTATE
,
MEMBERTYPE
,
ORDERSTATE
,
PAYMENTSTATUS
,
PAYMENTTYPE
,
STATE
}
from
"../../config/enum"
;
import
{
MEMBER
LEVEL
,
MEMBER
STATE
,
MEMBERTYPE
,
ORDERSTATE
,
PAYMENTSTATUS
,
PAYMENTTYPE
,
STATE
}
from
"../../config/enum"
;
import
{
TABLEENUM
}
from
"../../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
,
findToSort
}
from
"../../data/select"
;
import
{
extractData
}
from
"../../util/piecemeal"
;
...
...
@@ -34,7 +34,7 @@ export async function getPaid({unitName, joinTime, memberType, pageNumber}) {
if
(
joinTime
)
selectParam
.
joinTime
=
joinTime
;
if
(
memberType
)
selectParam
.
memberType
=
memberType
;
const
SelectFiles
=
[
"userId"
,
"memberState"
,
"unitName"
,
"loginId"
,
"phone"
,
"joinTime"
,
"memberType"
,
"lifespanStartTime"
,
"lifespanEndTime"
];
const
SelectFiles
=
[
"userId"
,
"memberState"
,
"unitName"
,
"loginId"
,
"phone"
,
"joinTime"
,
"memberType"
,
"lifespanStartTime"
,
"lifespanEndTime"
,
"memberLevel"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
用户表
,
selectParam
,
SelectFiles
,
pageNumber
,
10
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
用户表
,
selectParam
);
...
...
src/biz/register.ts
View file @
0a77e0ce
...
...
@@ -129,7 +129,7 @@ export async function memberRegister2({form, userId}) {
/**比对验证码 */
let
codeInfo
=
await
findOnceToSort
(
TABLEENUM
.
验证码表
,
{
phone
,
isUse
:
false
,
type
:
CODETYPE
.
用户注册
,
sendMs
:{
"$gt"
:
sysTools
.
getTodayMs
()
}},
{
sendMs
:
-
1
});
if
(
!
codeInfo
)
throw
new
BizError
(
ERRORENUM
.
code
无效
,
`
${
phone
}
在注册时,code表中不存在该手机号的验证码`
);
if
(
codeInfo
!=
codeNum
)
throw
new
BizError
(
ERRORENUM
.
验证码错误
,
`
${
phone
}
不存在
${
codeNum
}
`
);
if
(
codeInfo
.
codeNum
!=
codeNum
)
throw
new
BizError
(
ERRORENUM
.
验证码错误
,
`
${
phone
}
不存在
${
codeNum
}
`
);
if
((
codeInfo
.
sendMs
+
(
30
*
60
*
1000
)
)
<
NowMs
)
throw
new
BizError
(
ERRORENUM
.
验证码过期
);
/**初始化账号信息 */
...
...
@@ -257,7 +257,8 @@ export async function memberRegisterSendCode({phone}) {
const
NowMs
=
new
Date
().
valueOf
();
let
codeSelectParam
=
{
phone
,
isUse
:
false
,
type
:
CODETYPE
.
用户注册
,
sendMs
:{
"$gt"
:
sysTools
.
getTodayMs
()}
}
let
lastCodeInfo
=
await
findOnceToSort
(
TABLEENUM
.
验证码表
,
codeSelectParam
,
{
sendMs
:
-
1
});
if
(
lastCodeInfo
.
code
)
{
let
codeNum
=
lastCodeInfo
?.
codeNum
;
if
(
codeNum
)
{
if
(
(
lastCodeInfo
.
sendMs
+
(
60
*
1000
))
>
NowMs
)
throw
new
BizError
(
ERRORENUM
.
频繁操作请稍后再试
);
/**校验今日同类型验证码次数 */
let
todayNotUseCount
=
await
findCount
(
TABLEENUM
.
验证码表
,
codeSelectParam
);
...
...
@@ -265,7 +266,7 @@ export async function memberRegisterSendCode({phone}) {
}
const
Code
=
sysTools
.
generateSMSCode
();
//生成短信验证码
let
addInfo
=
{
code
:
Code
,
phone
,
sendMs
:
NowMs
,
type
:
CODETYPE
.
用户注册
,
isUse
:
false
};
let
addInfo
=
{
code
Num
:
Code
,
phone
,
sendMs
:
NowMs
,
type
:
CODETYPE
.
用户注册
,
isUse
:
false
};
await
addOneData
(
TABLEENUM
.
验证码表
,
addInfo
);
return
{
code
:
Code
};
...
...
src/data/models/model.ts
View file @
0a77e0ce
...
...
@@ -469,7 +469,7 @@ const ModelArray = [
source
:
TABLESOURCEENUM
.
mongo
,
schema
:{
phone
:{
type
:
'String'
,
index
:
true
},
//电话号码
code
:
'String'
,
code
Num
:
'String'
,
sendMs
:{
type
:
'Number'
,
index
:
true
},
//下发时间 时间戳
type
:
'Number'
,
//验证码类型 枚举 CODETYPE
isUse
:{
type
:
'Boolean'
,
index
:
true
,
default
:
false
},
//是否已使用 默认false
...
...
src/routers/member/router.ts
View file @
0a77e0ce
This diff is collapsed.
Click to expand it.
src/routers/public/router.ts
View file @
0a77e0ce
...
...
@@ -171,5 +171,12 @@ export const Config = {
defaultParam
:
enumConfig
.
MEMBERLEVEL
,
bindBiz
:
publicBiz
.
setEnumInterface
},
{
apiName
:
"会员类别"
,
//前端用
subUrl
:
'/memberTypeEcc'
,
param
:[],
defaultParam
:
enumConfig
.
MEMBERTYPEECCENUM
,
bindBiz
:
publicBiz
.
setEnumInterface
},
],
}
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