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
c6ce0a49
Commit
c6ce0a49
authored
Mar 22, 2024
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
57c59e1e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
122 additions
and
0 deletions
+122
-0
workbench.ts
src/biz/member/workbench.ts
+115
-0
router.ts
src/routers/public/router.ts
+7
-0
No files found.
src/biz/member/workbench.ts
0 → 100644
View file @
c6ce0a49
/**
* 控制台-工作台
*/
import
{
COSTTYPE
,
INDIVIDUALMEMBERTYPE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
MEMBERTYPEECCENUM
,
ORDERSTATE
,
STATE
,
UNITMEMBERTYPE
}
from
"../../config/enum"
;
import
{
TABLEENUM
}
from
"../../data/models/model"
;
import
{
find
,
findCount
}
from
"../../data/select"
;
import
{
extractData
}
from
"../../util/piecemeal"
;
/**
* 控制台【会员统计】
*/
export
async
function
getDanweiCount
({
year
})
{
let
danweiCount
=
await
getMemberCount
(
year
,
MEMBERTYPE
.
单位会员
);
let
geRenCount
=
await
getMemberCount
(
year
,
MEMBERTYPE
.
个人会员
);
return
{
danweiCount
,
geRenCount
};
}
/**
* 通知公告
* @returns
*/
export
async
function
getHuoDongTongZhiList
()
{
}
/**
* 会员统计【对内使用】
* @param year 返回入会时间小于选择年份的所有会员数据
* @param memberType 会员类型
* @returns
*/
async
function
getMemberCount
(
year
,
memberType
)
{
let
yearMs
=
new
Date
(
year
+
"-12-31"
).
valueOf
();
/**会员统计数值 */
let
memberNum
=
await
findCount
(
TABLEENUM
.
用户表
,
{
memberType
,
joinTime
:{
"$lt"
:
yearMs
}});
let
paid
=
await
findCount
(
TABLEENUM
.
订单表
,
{
state
:
ORDERSTATE
.
已支付
,
memberCategory
:
memberType
,
joinTime
:{
"$lt"
:
yearMs
}});
let
renewal
=
await
findCount
(
TABLEENUM
.
订单表
,
{
isFirst
:
false
,
memberCategory
:
memberType
});
let
arrearsfees
=
await
findCount
(
TABLEENUM
.
订单表
,
{
state
:
ORDERSTATE
.
未支付
,
memberCategory
:
memberType
});
let
gracePeriod
=
await
findCount
(
TABLEENUM
.
用户表
,
{
memberType
,
isGracePeriod
:
STATE
.
是
,
joinTime
:{
"$lt"
:
yearMs
}});
let
freeze
=
await
findCount
(
TABLEENUM
.
用户表
,
{
memberType
,
memberState
:
MEMBERSTATE
.
冻结
,
joinTime
:{
"$lt"
:
yearMs
}});
let
dbList
=
await
find
(
TABLEENUM
.
用户表
,
{
memberType
,
joinTime
:{
"$lt"
:
yearMs
}});
/**会员等级 */
let
memberLevelData
=
{};
dbList
.
forEach
(
info
=>
{
for
(
let
key
in
MEMBERLEVEL
)
{
let
anyKey
:
any
=
key
;
if
(
isNaN
(
anyKey
))
{
//字符
let
keyStr
=
key
;
let
value
=
MEMBERLEVEL
[
key
];
if
(
info
.
memberLevel
==
value
)
{
if
(
!
memberLevelData
[
keyStr
])
memberLevelData
[
keyStr
]
=
0
;
memberLevelData
[
keyStr
]
+=
1
;
}
}
}
})
/**会员类型 */
let
memberTypeData
=
{};
dbList
.
forEach
(
info
=>
{
/**判断会员类型选择对应枚举统计个数 */
if
(
memberType
==
MEMBERTYPE
.
个人会员
)
{
for
(
let
key
in
INDIVIDUALMEMBERTYPE
)
{
let
anyKey
:
any
=
key
;
if
(
isNaN
(
anyKey
))
{
//字符
let
keyStr
=
key
;
let
value
=
INDIVIDUALMEMBERTYPE
[
key
];
if
(
!
memberTypeData
[
keyStr
])
memberTypeData
[
keyStr
]
=
0
;
if
(
info
.
individualMemberType
==
value
)
memberTypeData
[
keyStr
]
+=
1
;
}
}
}
else
{
for
(
let
key
in
UNITMEMBERTYPE
)
{
let
anyKey
:
any
=
key
;
if
(
isNaN
(
anyKey
))
{
//字符
let
keyStr
=
key
;
let
value
=
UNITMEMBERTYPE
[
key
];
if
(
!
memberTypeData
[
keyStr
])
memberTypeData
[
keyStr
]
=
0
;
if
(
info
.
unitMemberType
==
value
)
memberTypeData
[
keyStr
]
+=
1
;
}
}
}
})
let
dataInfo
=
{
memberNum
,
//会员数量
paid
,
//已缴费会员
renewal
,
//续费期会员
arrearsfees
,
//欠费会员
gracePeriod
,
//宽限期会员
freeze
,
//冻结会员
memberLevelData
,
//会员等级
memberTypeData
//会员类型
};
return
dataInfo
;
}
src/routers/public/router.ts
View file @
c6ce0a49
...
@@ -211,6 +211,13 @@ export const Config = {
...
@@ -211,6 +211,13 @@ export const Config = {
subUrl
:
'/session'
,
subUrl
:
'/session'
,
param
:[],
param
:[],
bindBiz
:
publicBiz
.
getSession
bindBiz
:
publicBiz
.
getSession
},
{
apiName
:
"院校办学类型"
,
subUrl
:
'/banxueleixing'
,
param
:[],
defaultParam
:
enumConfig
.
BANXUELEIXING
,
bindBiz
:
publicBiz
.
getSession
}
}
],
],
}
}
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