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
d189eccb
Commit
d189eccb
authored
Aug 22, 2025
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
ebdf38c9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
282 additions
and
79 deletions
+282
-79
mail.ts
src/biz/mail.ts
+5
-13
apply.ts
src/biz/member/apply.ts
+74
-1
authority.ts
src/biz/member/authority.ts
+1
-1
cost.ts
src/biz/member/cost.ts
+2
-2
examine.ts
src/biz/member/examine.ts
+5
-2
costVerification.ts
src/biz/member/finance/costVerification.ts
+7
-3
invoice.ts
src/biz/member/finance/invoice.ts
+23
-4
homePage.ts
src/biz/member/homePage.ts
+3
-3
rightsMgmt.ts
src/biz/member/rightsMgmt.ts
+1
-1
taskSMS.ts
src/biz/member/taskSMS.ts
+44
-0
user.ts
src/biz/portal/user.ts
+0
-0
sms.ts
src/biz/sms.ts
+27
-27
task.ts
src/biz/task.ts
+1
-1
enum.ts
src/config/enum.ts
+21
-7
errorEnum.ts
src/config/errorEnum.ts
+3
-1
model.ts
src/data/models/model.ts
+3
-4
main.ts
src/main.ts
+1
-1
router.ts
src/routers/apply/router.ts
+17
-0
router.ts
src/routers/member/router.ts
+9
-8
router.ts
src/routers/msgActivity/router.ts
+21
-0
router.ts
src/routers/public/router.ts
+14
-0
No files found.
src/biz/mail.ts
View file @
d189eccb
...
@@ -17,6 +17,8 @@ let transporter = nodemailer.createTransport({
...
@@ -17,6 +17,8 @@ let transporter = nodemailer.createTransport({
auth
:
{
auth
:
{
user
:
'cefa_office@163.com'
,
// 你的邮箱地址
user
:
'cefa_office@163.com'
,
// 你的邮箱地址
pass
:
'EJRazhkkXK65gnLe'
// 你的邮箱密码或应用专用密码
pass
:
'EJRazhkkXK65gnLe'
// 你的邮箱密码或应用专用密码
// user:"16621071125@163.com",
// pass:"KEbayDGArktek67T"
}
}
});
});
...
@@ -38,6 +40,7 @@ async function send(toMail, name, type, code?) {
...
@@ -38,6 +40,7 @@ async function send(toMail, name, type, code?) {
// 设置邮件选项
// 设置邮件选项
let
mailOptions
=
{
let
mailOptions
=
{
from
:
'学会办公室 <cefa_office@163.com>'
,
// 发送者地址
from
:
'学会办公室 <cefa_office@163.com>'
,
// 发送者地址
// from: '学会办公室 <16621071125@163.com>', // 发送者地址
to
:
toMail
,
to
:
toMail
,
subject
:
`关于CEFA会员系统的
${
title
}
通知`
,
// 邮件主题
subject
:
`关于CEFA会员系统的
${
title
}
通知`
,
// 邮件主题
// text: 'Hello world?', // 邮件正文(纯文本)
// text: 'Hello world?', // 邮件正文(纯文本)
...
@@ -190,19 +193,8 @@ export async function systemSendMail(userId, type) {
...
@@ -190,19 +193,8 @@ export async function systemSendMail(userId, type) {
* @param param0
* @param param0
* @returns
* @returns
*/
*/
export
async
function
sendVerificationCode
(
userId
,
mail
,
type
,
code
)
{
export
async
function
sendVerificationCode
(
mail
,
nameStr
,
code
)
{
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
userId
,
mail
},
[
"userId"
,
"name"
,
"unitName"
,
"memberType"
,
"mail"
]);
let
result
=
await
send
(
mail
,
nameStr
,
MAILTYPE
.
邮箱获取验证码
,
code
);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
用户不存在
);
if
(
!
userInfo
.
mail
)
{
new
BizError
(
ERRORENUM
.
该用户邮箱为空
,
userId
,
userInfo
.
name
||
userId
.
unitName
);
}
else
{
if
(
userInfo
.
mail
!=
mail
)
{
new
BizError
(
ERRORENUM
.
该用户邮箱与输入邮箱不匹配
,
userId
,
userInfo
.
name
||
userId
.
unitName
);
}
let
nameStr
=
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
?
userInfo
.
name
:
userInfo
.
unitName
;
let
result
=
await
send
(
mail
,
nameStr
,
type
,
code
);
}
return
successResult
();
return
successResult
();
}
}
...
...
src/biz/member/apply.ts
View file @
d189eccb
...
@@ -152,12 +152,17 @@ export async function applyList({name, memberType, pageNumber, pageSize}) {
...
@@ -152,12 +152,17 @@ export async function applyList({name, memberType, pageNumber, pageSize}) {
}
}
let
lableId
=
newLable
;
let
lableId
=
newLable
;
let
memberLevelChangeTime
=
0
;
if
(
takeeffectType
==
ZHIWUSHENGXIAOTYPE
.
上半年
)
memberLevelChangeTime
=
new
Date
().
getFullYear
();
else
memberLevelChangeTime
=
new
Date
().
getFullYear
()
+
1
;
let
updateInfo
:
any
=
{
let
updateInfo
:
any
=
{
memberLevel
:
userInfo
.
applyMemberLevel
,
memberLevel
:
userInfo
.
applyMemberLevel
,
applyReviewTime
:
NowMs
,
applyReviewTime
:
NowMs
,
changeApplyType
:
CHANGEAPPLYTYPE
.
通过
,
changeApplyType
:
CHANGEAPPLYTYPE
.
通过
,
lableId
,
lableId
,
takeeffectType
takeeffectType
,
memberLevelChangeTime
};
};
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
updateInfo
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
updateInfo
);
/**添加审批历史 */
/**添加审批历史 */
...
@@ -1004,3 +1009,70 @@ export async function outPutInfomationChangeList({name, changeState}) {
...
@@ -1004,3 +1009,70 @@ export async function outPutInfomationChangeList({name, changeState}) {
export
async
function
liShiList
({
name
,
memberType
,
phone
,
memberLevel
,
memberState
,
year
,
page
})
{
let
selectParam
:
any
=
{
memberLevel
:{
"$gt"
:
MEMBERLEVEL
.
普通会员
}};
if
(
name
)
selectParam
.
name
=
{
"$regex"
:
name
};
if
(
memberType
)
{
if
(
memberType
>
1
)
{
selectParam
.
unitMemberType
=
memberType
;
}
else
{
selectParam
.
memberType
=
memberType
;
}
}
if
(
phone
)
selectParam
.
phone
=
{
"$regex"
:
phone
};
if
(
memberLevel
&&
memberLevel
>
1
)
selectParam
.
memberLevel
=
memberLevel
;
if
(
memberState
)
selectParam
.
memberState
=
memberState
;
if
(
year
)
selectParam
.
memberLevelChangeTime
=
year
;
let
selectConf
=
[
"userId"
,
"memberType"
,
"memberState"
,
"contactPerson"
,
"name"
,
"sex"
,
"phone"
,
"unitName"
,
"contactPersonDuties"
,
"duties"
,
"lableId"
,
"memberLevel"
,
"memberLevelChangeTime"
];
let
dbList
=
await
findToSortToPage
(
TABLEENUM
.
用户表
,
selectParam
,
selectConf
,
{
joinTime
:
-
1
},
page
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
用户表
,
selectParam
);
let
dataList
=
[];
let
labelList
=
await
find
(
TABLEENUM
.
标签表
,
{},
[
"lableId"
,
"lableName"
,
"createTime"
]
);
let
labelMap
=
{};
labelList
.
forEach
(
item
=>
{
labelMap
[
item
.
lableId
]
=
item
.
lableName
;
});
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
item
:
any
=
{
userId
:
info
.
userId
};
item
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
info
.
memberState
);
item
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberType
);
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
info
.
memberLevel
);
if
(
info
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
item
.
name
=
info
.
unitName
;
item
.
fuzeren
=
info
.
name
;
item
.
sex
=
changeEnumValue
(
SEX
,
info
.
sex
)
||
"-"
;
item
.
duties
=
info
.
duties
;
}
else
{
item
.
fuzeren
=
info
.
contactPerson
;
//
item
.
name
=
info
.
unitName
;
item
.
duties
=
info
.
contactPersonDuties
;
}
item
.
phone
=
info
.
phone
;
item
.
changeTime
=
info
.
memberLevelChangeTime
||
"-"
;
// let labelStr = "";
// if (info.lableId && info.lableId.length) {
// info.lableId.forEach(labelitemId => {
// if (label) {
// if (label == labelitemId) labelStr += labelMap[label] || "";
// }
// else {
// labelStr += labelMap[labelitemId] || "";
// }
// })
// }
// item.label = labelStr;
dataList
.
push
(
item
);
}
return
{
dataList
,
dataCount
}
}
\ No newline at end of file
src/biz/member/authority.ts
View file @
d189eccb
...
@@ -102,7 +102,7 @@ export async function freeze({id}) {
...
@@ -102,7 +102,7 @@ export async function freeze({id}) {
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
userInfo
.
memberState
==
MEMBERSTATE
.
冻结
)
{
if
(
userInfo
.
memberState
==
MEMBERSTATE
.
冻结
)
{
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
正常
});
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
运行
});
}
else
{
}
else
{
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
冻结
});
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
冻结
});
}
}
...
...
src/biz/member/cost.ts
View file @
d189eccb
...
@@ -153,7 +153,7 @@ export async function testCallback(weChartPR) {
...
@@ -153,7 +153,7 @@ export async function testCallback(weChartPR) {
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
;
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
;
updateUserInfo
.
isGracePeriod
=
STATE
.
否
;
updateUserInfo
.
isGracePeriod
=
STATE
.
否
;
updateUserInfo
.
gracePeriodEndTime
=
0
;
updateUserInfo
.
gracePeriodEndTime
=
0
;
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
;
updateUserInfo
.
memberState
=
MEMBERSTATE
.
运行
;
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
;
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
;
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
oldInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanStartTime
=
oldInfo
.
orderCycleStart
;
...
@@ -221,7 +221,7 @@ export async function payCallback(body) {
...
@@ -221,7 +221,7 @@ export async function payCallback(body) {
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
运行
,
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
oldInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanStartTime
=
oldInfo
.
orderCycleStart
;
...
...
src/biz/member/examine.ts
View file @
d189eccb
...
@@ -115,6 +115,7 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
...
@@ -115,6 +115,7 @@ export async function pendingReviewList({name, memberType, documentId, phone, ma
if
(
item
.
userRegisterState
==
"驳回修改"
)
item
.
userRegisterState
=
"已驳回"
;
if
(
item
.
userRegisterState
==
"驳回修改"
)
item
.
userRegisterState
=
"已驳回"
;
if
(
item
.
userRegisterState
==
"重新提交"
)
item
.
userRegisterState
=
"驳回提交"
;
if
(
item
.
userRegisterState
==
"重新提交"
)
item
.
userRegisterState
=
"驳回提交"
;
if
(
item
.
userRegisterState
==
"待审核"
)
item
.
userRegisterState
=
"待审批"
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
item
.
sheng
=
getCityNameByCode
(
item
.
sheng
);
item
.
sheng
=
getCityNameByCode
(
item
.
sheng
);
...
@@ -207,6 +208,8 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
...
@@ -207,6 +208,8 @@ export async function submitDocument({name, memberType, documentId, phone, mail,
if
(
!
item
.
userRegisterState
)
item
.
userRegisterState
=
USERREGISTERSTATE
.
待审核
;
if
(
!
item
.
userRegisterState
)
item
.
userRegisterState
=
USERREGISTERSTATE
.
待审核
;
else
item
.
userRegisterState
=
changeEnumValue
(
USERREGISTERSTATE
,
item
.
userRegisterState
);
else
item
.
userRegisterState
=
changeEnumValue
(
USERREGISTERSTATE
,
item
.
userRegisterState
);
item
.
registerFlow
=
changeEnumValue
(
REGISTERFLOWCLIENT
,
item
.
registerFlow
);
item
.
registerFlow
=
changeEnumValue
(
REGISTERFLOWCLIENT
,
item
.
registerFlow
);
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
item
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
item
.
memberLevel
);
item
.
sheng
=
getCityNameByCode
(
item
.
sheng
);
item
.
sheng
=
getCityNameByCode
(
item
.
sheng
);
...
@@ -428,7 +431,7 @@ export async function adopt({id, session}) {
...
@@ -428,7 +431,7 @@ export async function adopt({id, session}) {
lifespanStartTime
:
joinTime
,
lifespanStartTime
:
joinTime
,
lifespanEndTime
:
joinTime
+
1000
,
lifespanEndTime
:
joinTime
+
1000
,
memberLevel
:
MEMBERLEVEL
.
普通会员
,
memberLevel
:
MEMBERLEVEL
.
普通会员
,
memberState
:
MEMBERSTATE
.
异常
,
memberState
:
MEMBERSTATE
.
提醒
,
memberNum
memberNum
};
};
let
unitName
=
userInfo
.
unitName
;
let
unitName
=
userInfo
.
unitName
;
...
@@ -514,7 +517,7 @@ export async function batchAdopt({idList, session}) {
...
@@ -514,7 +517,7 @@ export async function batchAdopt({idList, session}) {
lifespanStartTime
:
joinTime
,
lifespanStartTime
:
joinTime
,
lifespanEndTime
:
joinTime
+
1000
,
lifespanEndTime
:
joinTime
+
1000
,
memberLevel
:
MEMBERLEVEL
.
普通会员
,
memberLevel
:
MEMBERLEVEL
.
普通会员
,
memberState
:
MEMBERSTATE
.
异常
,
memberState
:
MEMBERSTATE
.
提醒
,
memberNum
memberNum
};
};
let
unitName
=
userInfo
.
unitName
;
let
unitName
=
userInfo
.
unitName
;
...
...
src/biz/member/finance/costVerification.ts
View file @
d189eccb
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
*/
*/
import
moment
=
require
(
"moment"
);
import
moment
=
require
(
"moment"
);
import
{
COSTTYPE
,
INVOICESTATUS
,
ISRECEIVE
,
MAILTYPE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
MEMBERTYPEECCENUM
,
MSGTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENTSTATUS
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
,
STATE
}
from
"../../../config/enum"
;
import
{
COSTTYPE
,
INVOICESTATUS
,
ISRECEIVE
,
MAILTYPE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
MEMBERTYPEECCENUM
,
MSGTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENTSTATUS
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
,
STATE
,
UNITMEMBERTYPE
}
from
"../../../config/enum"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
,
findToSortToPage
}
from
"../../../data/select"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
,
findToSortToPage
}
from
"../../../data/select"
;
...
@@ -137,6 +137,10 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
...
@@ -137,6 +137,10 @@ export async function paidList({name, memberType, documentId, phone, mail, joinS
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
operationTime
=
moment
(
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
operationTime
=
moment
(
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberCategory
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberCategory
);
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
{
let
itemMemberInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"unitMemberType"
]);
itemData
.
memberType
=
changeEnumValue
(
UNITMEMBERTYPE
,
itemMemberInfo
.
unitMemberType
);
}
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
info
.
paymentMethod
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
info
.
paymentMethod
);
if
(
payType
==
2
)
{
if
(
payType
==
2
)
{
...
@@ -201,7 +205,7 @@ export async function confirmReceiptPass({id}) {
...
@@ -201,7 +205,7 @@ export async function confirmReceiptPass({id}) {
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
运行
,
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
...
@@ -421,7 +425,7 @@ export async function confirmReceiptManyPass({idList}) {
...
@@ -421,7 +425,7 @@ export async function confirmReceiptManyPass({idList}) {
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
运行
,
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
...
...
src/biz/member/finance/invoice.ts
View file @
d189eccb
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
*/
*/
import
moment
=
require
(
"moment"
);
import
moment
=
require
(
"moment"
);
import
{
INVOICESTATUS
,
ISPAYENUM
,
MAILTYPE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
MEMBERTYPEECCENUM
,
MSGTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
,
STATE
}
from
"../../../config/enum"
;
import
{
INVOICESTATUS
,
ISPAYENUM
,
MAILTYPE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
MEMBERTYPEECCENUM
,
MSGTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENT
STATUS
,
PAYMENT
TYPE
,
RECEIPTCONFIRMATION
,
STATE
}
from
"../../../config/enum"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
,
findToSortToPage
}
from
"../../../data/select"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
,
findToSortToPage
}
from
"../../../data/select"
;
import
{
extractData
}
from
"../../../util/piecemeal"
;
import
{
extractData
}
from
"../../../util/piecemeal"
;
...
@@ -46,16 +46,20 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
...
@@ -46,16 +46,20 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
if
(
payState
==
1
)
{
//已支付
if
(
payState
==
1
)
{
//已支付
findParam
.
state
=
ORDERSTATE
.
已支付
;
findParam
.
state
=
ORDERSTATE
.
已支付
;
findParam
.
confirmReceipt
=
RECEIPTCONFIRMATION
.
收款确认
;
if
(
invoiceState
==
1
)
{
//已申请
if
(
invoiceState
==
1
)
{
//已申请
findParam
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
findParam
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
}
else
if
(
invoiceState
==
2
)
{
//未申请
}
else
if
(
invoiceState
==
2
)
{
//未申请
findParam
[
"$or"
]
=
[{
invoiceStatus
:
INVOICESTATUS
.
不具备开票条件
},
{
invoiceStatus
:
INVOICESTATUS
.
退回
}];
findParam
[
"$or"
]
=
[{
invoiceStatus
:
INVOICESTATUS
.
不具备开票条件
},
{
invoiceStatus
:
INVOICESTATUS
.
退回
}];
}
else
{
//全部
}
else
{
//全部
// findParam.invoiceStatus = {"$ne": INVOICESTATUS.已开发票};
// findParam.invoiceStatus = {"$ne": INVOICESTATUS.已开发票};
}
}
}
else
if
(
payState
==
2
){
//未支付
}
else
if
(
payState
==
2
){
//未支付
findParam
.
state
=
ORDERSTATE
.
未支付
;
// findParam.state = ORDERSTATE.未支付;// todo 这里的条件有问题
findParam
[
"$or"
]
=
[
{
state
:
ORDERSTATE
.
未支付
},
{
state
:
ORDERSTATE
.
已支付
,
confirmReceipt
:{
"$ne"
:
RECEIPTCONFIRMATION
.
收款确认
}
}
];
if
(
!
invoiceState
||
invoiceState
==
1
)
{
//已申请 和 全部
if
(
!
invoiceState
||
invoiceState
==
1
)
{
//已申请 和 全部
findParam
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
findParam
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
}
else
{
//未申请
}
else
{
//未申请
...
@@ -185,6 +189,21 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
...
@@ -185,6 +189,21 @@ export async function billStateList({name, memberType, documentId, invoiceApplyM
// if (orderInfo && orderInfo.operationTime) itemData.invoiceTime = moment(orderInfo.operationTime).format("YYYY-MM-DD");
// if (orderInfo && orderInfo.operationTime) itemData.invoiceTime = moment(orderInfo.operationTime).format("YYYY-MM-DD");
// else itemData.invoiceTime = "-";
// else itemData.invoiceTime = "-";
}
}
itemData
.
tjTime
=
""
;
if
(
info
.
state
==
PAYMENTSTATUS
.
未支付
)
{
itemData
.
weChartCreatePayMs
=
"-"
;
itemData
.
paymentMethod
=
"-"
;
}
if
(
itemData
.
isPay
==
"核对中"
)
{
itemData
.
state
=
PAYMENTSTATUS
.
未支付
;
//提交时间
itemData
.
tjTime
=
moment
(
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
}
dataList
.
push
(
itemData
);
dataList
.
push
(
itemData
);
}
}
...
@@ -579,7 +598,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
...
@@ -579,7 +598,7 @@ export async function invoicedList({name, memberType, documentId, invoiceExamine
itemData
.
name
=
userInfo
.
name
;
itemData
.
name
=
userInfo
.
name
;
/**会员状态显示修改为:只记录当前一笔订单的状态,如:已支付订单状态显示正常 */
/**会员状态显示修改为:只记录当前一笔订单的状态,如:已支付订单状态显示正常 */
// itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState); //修改前的
// itemData.memberState = changeEnumValue(MEMBERSTATE, userInfo.memberState); //修改前的
itemData
.
memberState
=
(
info
.
state
==
ORDERSTATE
.
已支付
&&
info
.
confirmReceipt
==
RECEIPTCONFIRMATION
.
收款确认
)
?
"
正常"
:
"异常
"
;
//修改后的
itemData
.
memberState
=
(
info
.
state
==
ORDERSTATE
.
已支付
&&
info
.
confirmReceipt
==
RECEIPTCONFIRMATION
.
收款确认
)
?
"
运行"
:
"提醒
"
;
//修改后的
dataList
.
push
(
itemData
);
dataList
.
push
(
itemData
);
}
}
...
...
src/biz/member/homePage.ts
View file @
d189eccb
...
@@ -71,7 +71,7 @@ export async function getMemberData({userId}) {
...
@@ -71,7 +71,7 @@ export async function getMemberData({userId}) {
topInfo
.
integral
=
0
;
topInfo
.
integral
=
0
;
if
(
topInfo
.
joinTime
)
topInfo
.
joinTime
=
moment
(
topInfo
.
joinTime
).
format
(
"YYYY-MM-DD"
);
if
(
topInfo
.
joinTime
)
topInfo
.
joinTime
=
moment
(
topInfo
.
joinTime
).
format
(
"YYYY-MM-DD"
);
if
(
topInfo
.
lifespanEndTime
)
{
if
(
topInfo
.
lifespanEndTime
)
{
if
(
topInfo
.
memberState
==
MEMBERSTATE
.
异常
)
topInfo
.
lifespanEndTime
=
"欠费中"
;
if
(
topInfo
.
memberState
==
MEMBERSTATE
.
提醒
)
topInfo
.
lifespanEndTime
=
"欠费中"
;
else
topInfo
.
lifespanEndTime
=
moment
(
topInfo
.
lifespanEndTime
).
format
(
"YYYY-MM-DD"
);
else
topInfo
.
lifespanEndTime
=
moment
(
topInfo
.
lifespanEndTime
).
format
(
"YYYY-MM-DD"
);
}
}
...
@@ -443,7 +443,7 @@ export async function getApply({userId}) {
...
@@ -443,7 +443,7 @@ export async function getApply({userId}) {
if
(
oldInfo
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
if
(
oldInfo
.
memberType
==
MEMBERTYPE
.
个人会员
)
{
if
(
oldInfo
.
lifespanEndTime
)
{
if
(
oldInfo
.
lifespanEndTime
)
{
// 会员有效期结束时间小于当前时间的欠费会员
// 会员有效期结束时间小于当前时间的欠费会员
if
(
oldInfo
.
memberState
==
MEMBERSTATE
.
异常
||
oldInfo
.
lifespanEndTime
<
NowMs
)
isApply
=
false
;
if
(
oldInfo
.
memberState
==
MEMBERSTATE
.
提醒
||
oldInfo
.
lifespanEndTime
<
NowMs
)
isApply
=
false
;
}
}
}
}
...
@@ -764,7 +764,7 @@ export async function applyReason({applyStr, userId}) {
...
@@ -764,7 +764,7 @@ export async function applyReason({applyStr, userId}) {
export
async
function
applyReasonMember
({
applyName
,
applySex
,
applyDuties
,
applyPhone
,
applyStr
,
userId
})
{
export
async
function
applyReasonMember
({
applyName
,
applySex
,
applyDuties
,
applyPhone
,
applyStr
,
userId
})
{
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
});
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
!
oldInfo
||
!
oldInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
oldInfo
.
memberState
==
MEMBERSTATE
.
异常
)
throw
new
BizError
(
ERRORENUM
.
请先缴费
);
if
(
oldInfo
.
memberState
==
MEMBERSTATE
.
提醒
)
throw
new
BizError
(
ERRORENUM
.
请先缴费
);
const
Now
=
new
Date
().
valueOf
();
const
Now
=
new
Date
().
valueOf
();
let
applyId
=
generateSystemId
(
TABLEENUM
.
理事变更审批历史表
,
userId
);
let
applyId
=
generateSystemId
(
TABLEENUM
.
理事变更审批历史表
,
userId
);
...
...
src/biz/member/rightsMgmt.ts
View file @
d189eccb
...
@@ -159,7 +159,7 @@ export async function info({id}) {
...
@@ -159,7 +159,7 @@ export async function info({id}) {
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
userInfo
.
memberState
==
ADMINSTATE
.
冻结
)
{
if
(
userInfo
.
memberState
==
ADMINSTATE
.
冻结
)
{
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
正常
});
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
MEMBERSTATE
.
运行
});
}
else
{
}
else
{
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
ADMINSTATE
.
冻结
});
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
{
memberState
:
ADMINSTATE
.
冻结
});
}
}
...
...
src/biz/member/taskSMS.ts
0 → 100644
View file @
d189eccb
/**
* 手动发送短信
*/
import
{
CODETYPE
,
MEMBERTYPE
,
MSGTYPE
}
from
"../../config/enum"
;
import
{
ERRORENUM
}
from
"../../config/errorEnum"
;
import
{
TABLEENUM
}
from
"../../data/models/model"
;
import
{
findOnce
}
from
"../../data/select"
;
import
{
BizError
}
from
"../../util/bizError"
;
import
{
sendMessage
}
from
"../sms"
;
export
async
function
taskOneSMS
({
sendType
,
userId
})
{
let
selectParam
=
{
userId
:
userId
};
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
selectParam
,
[
"userId"
,
"phone"
,
"memberType"
,
"name"
,
"unitName"
]);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
用户不存在
);
if
(
!
userInfo
.
phone
)
throw
new
BizError
(
ERRORENUM
.
手机号不存在
);
let
nameStr
=
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
?
userInfo
.
name
:
userInfo
.
unitName
;
await
sendMessage
(
userInfo
.
phone
,
{
name
:
nameStr
},
sendType
);
return
{
isSuccess
:
true
};
}
export
async
function
taskManySMS
({
sendType
,
userIdList
})
{
for
(
let
i
=
0
;
i
<
userIdList
.
length
;
i
++
)
{
let
userId
=
userIdList
[
i
];
let
selectParam
=
{
userId
:
userId
};
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
selectParam
,
[
"userId"
,
"phone"
,
"memberType"
,
"name"
,
"unitName"
]);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
用户不存在
);
if
(
!
userInfo
.
phone
)
throw
new
BizError
(
ERRORENUM
.
手机号不存在
);
let
nameStr
=
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
?
userInfo
.
name
:
userInfo
.
unitName
;
sendMessage
(
userInfo
.
phone
,
{
name
:
nameStr
},
sendType
);
}
return
{
isSuccess
:
true
};
}
\ No newline at end of file
src/biz/
member
/user.ts
→
src/biz/
portal
/user.ts
View file @
d189eccb
This diff is collapsed.
Click to expand it.
src/biz/sms.ts
View file @
d189eccb
...
@@ -109,33 +109,33 @@ export async function sendPassNotice(phone:string, name:string) {
...
@@ -109,33 +109,33 @@ export async function sendPassNotice(phone:string, name:string) {
export
async
function
test
()
{
//
export async function test() {
// await check();
//
// await check();
let
phone1
=
"18711017326"
;
//17274689187
//
let phone1 = "18711017326";//17274689187
await
sendALSMS
(
"3321"
,
phone1
);
//
await sendALSMS("3321", phone1);
// let phone2 = "16621071125";
//
// let phone2 = "16621071125";
// await sendALSMS("1234", phone2);
//
// await sendALSMS("1234", phone2);
// let phone3 = "18120935727";
//
// let phone3 = "18120935727";
// await sendALSMS("1234", phone3);
//
// await sendALSMS("1234", phone3);
// let param = {name:"测试测试1"};
//
// let param = {name:"测试测试1"};
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 1);
//
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 1);
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 2);
//
// await sendMessage(phone, param, MSGTYPE.审核期间驳回通知, 2);
// await sendMessage(phone, param, MSGTYPE.审核通过以及缴费通知);
//
// await sendMessage(phone, param, MSGTYPE.审核通过以及缴费通知);
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回无需退款);
//
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回无需退款);
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回需退款);
//
// await sendMessage(phone, param, MSGTYPE.会员缴费财务驳回需退款);
// await sendMessage(phone, param, MSGTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送);
//
// await sendMessage(phone, param, MSGTYPE.会员缴费成功后针对线下汇款财务审核通过的时候发送);
// await sendMessage(phone, param, MSGTYPE.会员会费到期缴费通知);
//
// await sendMessage(phone, param, MSGTYPE.会员会费到期缴费通知);
// await sendMessage(phone, param, MSGTYPE.会员催缴通知提前开发票);
//
// await sendMessage(phone, param, MSGTYPE.会员催缴通知提前开发票);
// await sendMessage(phone, param, MSGTYPE.会员宽限期最后一天);
//
// await sendMessage(phone, param, MSGTYPE.会员宽限期最后一天);
// await sendMessage(phone, param, MSGTYPE.往期欠费通知);
//
// await sendMessage(phone, param, MSGTYPE.往期欠费通知);
// await sendMessage(phone, param, MSGTYPE.变更驳回);
//
// await sendMessage(phone, param, MSGTYPE.变更驳回);
// await sendMessage(phone, param, MSGTYPE.变更已通过);
//
// await sendMessage(phone, param, MSGTYPE.变更已通过);
// await sendMessage(phone, param, MSGTYPE.会员活动or会议通知);
//
// await sendMessage(phone, param, MSGTYPE.会员活动or会议通知);
// await sendMessage(phone, param, MSGTYPE.会员活动or会议催促未报名人员通知);
//
// await sendMessage(phone, param, MSGTYPE.会员活动or会议催促未报名人员通知);
// await sendMessage(phone, param, MSGTYPE.财务退款通知);
//
// await sendMessage(phone, param, MSGTYPE.财务退款通知);
console
.
log
(
"验证码测试完成"
);
//
console.log("验证码测试完成");
}
//
}
export
async
function
sendMessage
(
phone
,
param
,
type
,
subType
?)
{
export
async
function
sendMessage
(
phone
,
param
,
type
,
subType
?)
{
...
...
src/biz/task.ts
View file @
d189eccb
...
@@ -64,7 +64,7 @@ export async function createUserOrder() {
...
@@ -64,7 +64,7 @@ export async function createUserOrder() {
let
subType
=
memberType
==
MEMBERTYPE
.
个人会员
?
individualMemberType
:
unitMemberType
;
let
subType
=
memberType
==
MEMBERTYPE
.
个人会员
?
individualMemberType
:
unitMemberType
;
let
newOrderStartTime
=
itemInfo
.
orderCycleEnd
;
//新订单的开始时间是上一条订单的结束时间
let
newOrderStartTime
=
itemInfo
.
orderCycleEnd
;
//新订单的开始时间是上一条订单的结束时间
await
createOrder
(
userId
,
loginId
,
phone
,
unitName
,
newOrderStartTime
,
memberLevel
,
memberType
,
subType
,
false
);
await
createOrder
(
userId
,
loginId
,
phone
,
unitName
,
newOrderStartTime
,
memberLevel
,
memberType
,
subType
,
false
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
{
paymentStatus
:
PAYMENTSTATUS
.
未支付
,
memberState
:
MEMBERSTATE
.
异常
,
});
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
},
{
paymentStatus
:
PAYMENTSTATUS
.
未支付
,
memberState
:
MEMBERSTATE
.
提醒
,
});
addCount
+=
1
;
addCount
+=
1
;
//发送邮件
//发送邮件
...
...
src/config/enum.ts
View file @
d189eccb
...
@@ -327,18 +327,25 @@ export enum DWTYPE {
...
@@ -327,18 +327,25 @@ export enum DWTYPE {
* 会员状态
* 会员状态
*/
*/
export
enum
MEMBERSTATE
{
export
enum
MEMBERSTATE
{
正常
=
1
,
运行
=
1
,
异常
,
提醒
,
冻结
冻结
}
}
export
enum
MEMBERSTATECLIENT
{
运行
=
1
,
提醒
}
/**
/**
* 已开发票-会员状态 前端用
* 已开发票-会员状态 前端用
*/
*/
export
enum
INVOICESTATE
{
export
enum
INVOICESTATE
{
正常
=
1
,
// 正常 = 1,
异常
,
// 异常,
运行
=
1
,
提醒
,
}
}
...
@@ -402,6 +409,13 @@ export enum MEMBERLEVEL {
...
@@ -402,6 +409,13 @@ export enum MEMBERLEVEL {
常务理事会员
,
常务理事会员
,
}
}
export
enum
MEMBERLEVELCLIENT
{
理事会员
=
2
,
常务理事会员
,
}
/**
/**
* 用户注册状态
* 用户注册状态
...
@@ -895,9 +909,9 @@ export enum MSGTYPE {
...
@@ -895,9 +909,9 @@ export enum MSGTYPE {
会员缴费财务驳回无需退款
,
会员缴费财务驳回无需退款
,
会员缴费财务驳回需退款
,
会员缴费财务驳回需退款
,
会员缴费成功后针对线下汇款财务审核通过的时候发送
,
会员缴费成功后针对线下汇款财务审核通过的时候发送
,
会员会费到期缴费通知
,
会员会费到期缴费通知
,
//本期未缴纳
会员催缴通知提前开发票
,
会员催缴通知提前开发票
,
//提前开票
往期欠费通知
,
往期欠费通知
,
//往期未缴纳
会员宽限期最后一天
,
会员宽限期最后一天
,
变更驳回
,
变更驳回
,
变更已通过
,
变更已通过
,
...
...
src/config/errorEnum.ts
View file @
d189eccb
...
@@ -85,7 +85,9 @@ export enum ERRORENUM {
...
@@ -85,7 +85,9 @@ export enum ERRORENUM {
与预览邮箱不一致
,
与预览邮箱不一致
,
不存在该邮箱的账号
,
不存在该邮箱的账号
,
该邮箱已被注册
,
该邮箱已被注册
,
请先缴费
请先缴费
,
邮箱不正确
,
手机号不存在
}
}
export
enum
ERRORCODEENUM
{
export
enum
ERRORCODEENUM
{
...
...
src/data/models/model.ts
View file @
d189eccb
...
@@ -369,9 +369,9 @@ const ModelArray = [
...
@@ -369,9 +369,9 @@ const ModelArray = [
registerFlow
:{
type
:
'Number'
,
default
:
REGISTERFLOW
.
未注册
},
//会员注册流程 枚举
registerFlow
:{
type
:
'Number'
,
default
:
REGISTERFLOW
.
未注册
},
//会员注册流程 枚举
isAdmin
:{
type
:
'Number'
,
index
:
true
,
default
:
STATE
.
否
},
//是否是管理员
isAdmin
:{
type
:
'Number'
,
index
:
true
,
default
:
STATE
.
否
},
//是否是管理员
userRegisterState
:{
type
:
'Number'
,
default
:
USERREGISTERSTATE
.
待审核
},
//用户注册状态 枚举USERREGISTERSTATE
userRegisterState
:{
type
:
'Number'
,
default
:
USERREGISTERSTATE
.
待审核
},
//用户注册状态 枚举USERREGISTERSTATE
memberState
:{
type
:
'Number'
,
default
:
MEMBERSTATE
.
异常
},
//会员状态 枚举 MEMBERSTATE
memberState
:{
type
:
'Number'
,
default
:
MEMBERSTATE
.
提醒
},
//会员状态 枚举 MEMBERSTATE
certificateType
:
'Number'
,
//证书类型 枚举CERTIFICATETYPE
certificateType
:
'Number'
,
//证书类型 枚举CERTIFICATETYPE
individualMemberType
:{
type
:
'Number'
},
//个人会员类型 枚举INDIVIDUALMEMBERTYPE
individualMemberType
:{
type
:
'Number'
},
//个人会员类型 枚举
INDIVIDUALMEMBERTYPE
memberLevel
:{
type
:
'Number'
,
default
:
MEMBERLEVEL
.
普通会员
},
//会员等级、职务 枚举 MEMBERLEVEL 【会员管理用】
memberLevel
:{
type
:
'Number'
,
default
:
MEMBERLEVEL
.
普通会员
},
//会员等级、职务 枚举 MEMBERLEVEL 【会员管理用】
isFirstPay
:{
type
:
'Boolean'
,
default
:
false
},
//是否完成首次支付
isFirstPay
:{
type
:
'Boolean'
,
default
:
false
},
//是否完成首次支付
/**宽限期状态 */
/**宽限期状态 */
...
@@ -459,8 +459,7 @@ const ModelArray = [
...
@@ -459,8 +459,7 @@ const ModelArray = [
rejectRemarks
:
'String'
,
//变更理事驳回理由
rejectRemarks
:
'String'
,
//变更理事驳回理由
applyId
:{
type
:
'String'
,
index
:
true
},
applyId
:{
type
:
'String'
,
index
:
true
},
takeeffectType
:
'Number'
,
//生效类型 上半年/下半年 ZHIWUSHENGXIAOTYPE
takeeffectType
:
'Number'
,
//生效类型 上半年/下半年 ZHIWUSHENGXIAOTYPE
memberLevelChangeTime
:{
type
:
'Number'
},
//变更时间 年
infoChangeId
:{
type
:
"String"
,
index
:
true
},
//资料更新关联id
infoChangeId
:{
type
:
"String"
,
index
:
true
},
//资料更新关联id
infoChangeMs
:{
type
:
"Number"
},
//资料更新申请时间
infoChangeMs
:{
type
:
"Number"
},
//资料更新申请时间
infoChangeOptionType
:{
type
:
"Number"
},
//INFOCHANGEAPPLYTYPE
infoChangeOptionType
:{
type
:
"Number"
},
//INFOCHANGEAPPLYTYPE
...
...
src/main.ts
View file @
d189eccb
import
{
testCallback
}
from
"./biz/member/cost"
;
import
{
testCallback
}
from
"./biz/member/cost"
;
import
{
initActivity
}
from
"./biz/member/msgActivity"
;
import
{
initActivity
}
from
"./biz/member/msgActivity"
;
import
{
initSMS
,
test
}
from
"./biz/sms"
;
import
{
initSMS
}
from
"./biz/sms"
;
import
{
initSystemTask
}
from
"./biz/task"
;
import
{
initSystemTask
}
from
"./biz/task"
;
import
{
initConfig
,
systemConfig
}
from
"./config/serverConfig"
;
import
{
initConfig
,
systemConfig
}
from
"./config/serverConfig"
;
import
{
initDataBaseModel
}
from
"./data/db/db"
;
import
{
initDataBaseModel
}
from
"./data/db/db"
;
...
...
src/routers/apply/router.ts
View file @
d189eccb
...
@@ -136,6 +136,23 @@ export const Config = {
...
@@ -136,6 +136,23 @@ export const Config = {
],
],
bindBiz
:
applyBiz
.
infomationChangeOut
bindBiz
:
applyBiz
.
infomationChangeOut
}
}
],
"理事名单"
:[
{
apiName
:
"理事会员列表"
,
subUrl
:
'/lishi/list'
,
param
:[
{
key
:
"name"
,
type
:
"String"
,
desc
:
"单位/个人名称"
,
isNull
:
true
},
{
key
:
"memberType"
,
type
:
"Number"
,
desc
:
"会员类别"
,
isNull
:
true
},
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"当前页"
,
isNull
:
true
},
{
key
:
"memberLevel"
,
type
:
"Number"
,
desc
:
"一页大小"
,
isNull
:
true
},
{
key
:
"memberState"
,
type
:
"Number"
,
desc
:
"一页大小"
,
isNull
:
true
},
{
key
:
"year"
,
type
:
"Number"
,
desc
:
"一页大小"
,
isNull
:
true
},
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"一页大小"
},
{
key
:
"pageSize"
,
type
:
"Number"
,
desc
:
"一页大小"
},
],
bindBiz
:
applyBiz
.
liShiList
},
]
]
}
}
...
...
src/routers/member/router.ts
View file @
d189eccb
import
*
as
userBiz
from
"../../biz/
member
/user"
;
import
*
as
userBiz
from
"../../biz/
portal
/user"
;
import
*
as
memberBiz
from
"../../biz/member/member"
;
import
*
as
memberBiz
from
"../../biz/member/member"
;
import
*
as
examineBiz
from
"../../biz/member/examine"
;
import
*
as
examineBiz
from
"../../biz/member/examine"
;
import
*
as
memberFeesBiz
from
"../../biz/member/memberFees"
;
import
*
as
memberFeesBiz
from
"../../biz/member/memberFees"
;
...
@@ -449,15 +449,16 @@ export const Config = {
...
@@ -449,15 +449,16 @@ export const Config = {
bindBiz
:
userBiz
.
logout
bindBiz
:
userBiz
.
logout
},
},
{
{
apiName
:
"修改密码"
,
apiName
:
"修改密码"
,
//未登录修改密码
subUrl
:
'/changepwd'
,
subUrl
:
'/changepwd'
,
notMiddleware
:
true
,
notMiddleware
:
true
,
param
:[
param
:[
{
key
:
"userId"
,
type
:
"String"
,
desc
:
"userId"
,
isNull
:
true
},
//
{key:"userId", type:"String", desc:"userId", isNull:true},
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"绑定手机号"
},
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"绑定手机号"
},
{
key
:
"pwd"
,
type
:
"String"
,
desc
:
"密码"
},
{
key
:
"pwd"
,
type
:
"String"
,
desc
:
"密码"
},
{
key
:
"confirmation"
,
type
:
"String"
,
desc
:
"二次确认密码"
},
{
key
:
"confirmation"
,
type
:
"String"
,
desc
:
"二次确认密码"
},
{
key
:
"code"
,
type
:
"String"
,
desc
:
"验证码"
}
{
key
:
"code"
,
type
:
"String"
,
desc
:
"验证码"
},
{
key
:
"type"
,
type
:
"Number"
,
desc
:
"=1d的时候是手机号 =2的时候是邮箱"
},
],
],
bindBiz
:
userBiz
.
changePwd
bindBiz
:
userBiz
.
changePwd
},
},
...
@@ -511,20 +512,20 @@ export const Config = {
...
@@ -511,20 +512,20 @@ export const Config = {
],
],
bindBiz
:
userBiz
.
changeMailById
bindBiz
:
userBiz
.
changeMailById
},{
},{
apiName
:
"修改密码用短信验证码"
,
apiName
:
"修改密码用短信验证码"
,
//未登录情况下修改密码
subUrl
:
'/getchangepwdcode'
,
subUrl
:
'/getchangepwdcode'
,
notMiddleware
:
true
,
notMiddleware
:
true
,
param
:[
param
:[
{
key
:
"
userId"
,
type
:
"String"
,
desc
:
"userId"
,
isNull
:
true
},
{
key
:
"
loginId"
,
type
:
"String"
,
desc
:
"loginId"
},
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"绑定手机号"
}
{
key
:
"phone"
,
type
:
"String"
,
desc
:
"绑定手机号"
}
],
],
bindBiz
:
userBiz
.
memberChangePwdSendCode
bindBiz
:
userBiz
.
memberChangePwdSendCode
},{
},{
apiName
:
"修改密码用邮件验证码"
,
apiName
:
"修改密码用邮件验证码"
,
//未登录情况下修改密码
subUrl
:
'/getmailchangepwdcode'
,
subUrl
:
'/getmailchangepwdcode'
,
notMiddleware
:
true
,
notMiddleware
:
true
,
param
:[
param
:[
{
key
:
"
userId"
,
type
:
"String"
,
desc
:
"user
Id"
,
isNull
:
true
},
{
key
:
"
loginId"
,
type
:
"String"
,
desc
:
"login
Id"
,
isNull
:
true
},
{
key
:
"mail"
,
type
:
"String"
,
desc
:
"绑定邮箱"
}
{
key
:
"mail"
,
type
:
"String"
,
desc
:
"绑定邮箱"
}
],
],
bindBiz
:
userBiz
.
memberMailChangePwdSendCode
bindBiz
:
userBiz
.
memberMailChangePwdSendCode
...
...
src/routers/msgActivity/router.ts
View file @
d189eccb
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
*/
*/
import
*
as
msgActivityBiz
from
"../../biz/member/msgActivity"
;
import
*
as
msgActivityBiz
from
"../../biz/member/msgActivity"
;
import
*
as
taskSMSBiz
from
"../../biz/member/taskSMS"
;
import
{
ACTIVITYTYPE
}
from
"../../config/enum"
;
import
{
ACTIVITYTYPE
}
from
"../../config/enum"
;
export
const
FirstName
=
'消息管理'
;
export
const
FirstName
=
'消息管理'
;
...
@@ -261,6 +262,26 @@ export const Config = {
...
@@ -261,6 +262,26 @@ export const Config = {
bindBiz
:
msgActivityBiz
.
homeActivityDetailed
bindBiz
:
msgActivityBiz
.
homeActivityDetailed
},
},
],
"手动发送短信"
:[
{
apiName
:
"手动发送单个"
,
subUrl
:
'/sms/send/one'
,
param
:[
{
key
:
"sendType"
,
type
:
"Number"
,
desc
:
"参考枚举"
},
{
key
:
"userId"
,
type
:
"String"
,
desc
:
"参考枚举"
},
],
bindBiz
:
taskSMSBiz
.
taskOneSMS
},
{
apiName
:
"手动发送多个"
,
subUrl
:
'/sms/send/many'
,
param
:[
{
key
:
"sendType"
,
type
:
"Number"
,
desc
:
"参考枚举"
},
{
key
:
"userIdList"
,
type
:
"[String]"
,
desc
:
"参考枚举"
},
],
bindBiz
:
taskSMSBiz
.
taskManySMS
},
]
]
}
}
...
...
src/routers/public/router.ts
View file @
d189eccb
...
@@ -174,6 +174,13 @@ export const Config = {
...
@@ -174,6 +174,13 @@ export const Config = {
bindBiz
:
publicBiz
.
setEnumInterface
bindBiz
:
publicBiz
.
setEnumInterface
},
},
{
{
apiName
:
"会员职务"
,
subUrl
:
'/memberlevelclient'
,
param
:[],
defaultParam
:
enumConfig
.
MEMBERLEVELCLIENT
,
bindBiz
:
publicBiz
.
setEnumInterface
},
{
apiName
:
"会员类别"
,
//前端用
apiName
:
"会员类别"
,
//前端用
subUrl
:
'/membertypeecc'
,
subUrl
:
'/membertypeecc'
,
param
:[],
param
:[],
...
@@ -209,6 +216,13 @@ export const Config = {
...
@@ -209,6 +216,13 @@ export const Config = {
bindBiz
:
publicBiz
.
setEnumInterface
bindBiz
:
publicBiz
.
setEnumInterface
},
},
{
{
apiName
:
"会员状态"
,
subUrl
:
'/memberstateclient'
,
param
:[],
defaultParam
:
enumConfig
.
MEMBERSTATECLIENT
,
bindBiz
:
publicBiz
.
setEnumInterface
},
{
apiName
:
"下拉框选择届次"
,
apiName
:
"下拉框选择届次"
,
subUrl
:
'/session'
,
subUrl
:
'/session'
,
param
:[],
param
:[],
...
...
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