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
b00f02c0
Commit
b00f02c0
authored
Dec 21, 2024
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
6584acac
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
806 additions
and
759 deletions
+806
-759
cost.ts
src/biz/member/cost.ts
+1
-1
costVerification.ts
src/biz/member/finance/costVerification.ts
+281
-0
invoice.ts
src/biz/member/finance/invoice.ts
+502
-0
order.ts
src/biz/member/order.ts
+0
-739
enum.ts
src/config/enum.ts
+0
-1
model.ts
src/data/models/model.ts
+1
-1
router.ts
src/routers/order/router.ts
+18
-14
router.ts
src/routers/router.ts
+3
-3
No files found.
src/biz/member/cost.ts
View file @
b00f02c0
...
@@ -141,7 +141,7 @@ export async function payCallback(body) {
...
@@ -141,7 +141,7 @@ export async function payCallback(body) {
paymentMethod
:
PAYMENTTYPE
.
微信支付
,
paymentMethod
:
PAYMENTTYPE
.
微信支付
,
payTime
:
new
Date
().
valueOf
(),
payTime
:
new
Date
().
valueOf
(),
weChartState
:
WEICHARTPAYSTATE
.
已支付
,
weChartState
:
WEICHARTPAYSTATE
.
已支付
,
confirmReceipt
:
RECEIPTCONFIRMATION
.
收款
确认
,
confirmReceipt
:
RECEIPTCONFIRMATION
.
待
确认
,
confirmReceiptMs
:
new
Date
().
valueOf
(),
confirmReceiptMs
:
new
Date
().
valueOf
(),
invoiceStatus
:
INVOICESTATUS
.
未开发票
invoiceStatus
:
INVOICESTATUS
.
未开发票
};
};
...
...
src/biz/member/finance/costVerification.ts
0 → 100644
View file @
b00f02c0
/**
* 财务管理-费用核对
*/
import
moment
=
require
(
"moment"
);
import
{
COSTTYPE
,
INVOICESTATUS
,
ISRECEIVE
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENTSTATUS
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
,
STATE
}
from
"../../../config/enum"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findOnceToSort
,
findToPage
}
from
"../../../data/select"
;
import
{
BizError
}
from
"../../../util/bizError"
;
import
{
extractData
}
from
"../../../util/piecemeal"
;
import
{
changeEnumValue
,
eccEnumValue
}
from
"../../../util/verificationEnum"
;
import
{
updateOneData
}
from
"../../../data/update"
;
import
{
addOneData
}
from
"../../../data/add"
;
import
{
successResult
}
from
"../../../tools/system"
;
/**
* 费用核对
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
// * @param paymentType 支付方式
* @param costType 会费类别
* @param pageNumber 当前页
*/
export
async
function
paidList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
payType
,
costType
,
pageNumber
,
examineState
})
{
if
(
payType
!=
1
&&
payType
!=
2
)
throw
new
BizError
(
ERRORENUM
.
参数错误
);
eccEnumValue
(
"财务核对列表"
,
"会费类别"
,
COSTTYPE
,
costType
);
let
findParam
:
any
=
{
state
:
ORDERSTATE
.
已支付
}
if
(
payType
==
1
)
{
findParam
.
paymentMethod
=
PAYMENTTYPE
.
微信支付
;
}
else
{
findParam
.
paymentMethod
=
{
"$ne"
:
PAYMENTTYPE
.
微信支付
};
}
/**用户表查询条件 */
let
checkUserIdList
=
[];
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
examineState
==
1
)
{
findParam
.
confirmReceipt
=
RECEIPTCONFIRMATION
.
收款确认
;
}
else
{
findParam
.
confirmReceipt
=
{
"$ne"
:
RECEIPTCONFIRMATION
.
收款确认
};
}
if
(
costType
)
findParam
.
isFirst
=
costType
==
COSTTYPE
.
首次
;
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"isFirst"
,
"paymentNum"
,
"memberState"
,
"operationTime"
,
"confirmReceipt"
,
"invoiceStatus"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"unitName"
,
"money"
,
"paymentNum"
,
"userId"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
operationTime
=
moment
(
info
.
operationTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberCategory
);
// itemData.paymentMethod = changeEnumValue(PAYMENTTYPE, info.paymentMethod);
itemData
.
costType
=
info
.
isFirst
==
COSTTYPE
.
首次
?
"首次"
:
"续费"
;
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY"
)}
`
if
(
!
info
.
paymentMethod
)
{
itemData
.
paymentMethod
=
"-"
;
itemData
.
paymentNum
=
"-"
;
}
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"memberLevel"
]);
itemData
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
userInfo
.
memberLevel
);
itemData
.
name
=
userInfo
.
name
;
itemData
.
state
=
info
.
confirmReceipt
==
RECEIPTCONFIRMATION
.
收款确认
?
"已审核"
:
"待审核"
;
itemData
.
invoiceStatus
=
info
.
invoiceStatus
==
INVOICESTATUS
.
已开发票
?
"已开"
:
"未开"
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 发票管理-财务核对页-收款确认 success
* @param id 订单id
*/
export
async
function
confirmReceiptPass
({
id
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
// if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`);
if
(
orderInfo
.
confirmReceipt
!=
RECEIPTCONFIRMATION
.
待确认
)
throw
new
BizError
(
ERRORENUM
.
重复提交
,
'发票管理-财务核对页-收款确认'
,
`提交通过时订单已经不是待确认 是
${
orderInfo
.
confirmReceipt
}
`
);
let
updateInfo
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
收款确认
,
confirmReceiptMs
:
new
Date
().
valueOf
()};
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
updateInfo
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
;
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
let
notPayCount
=
await
findCount
(
TABLEENUM
.
订单表
,
{
userId
:
orderInfo
.
userId
,
state
:
ORDERSTATE
.
未支付
}
);
let
updateUserInfo
:
any
=
{};
/**只有一笔欠费时才更新用户状态 */
if
(
notPayCount
<
1
)
{
let
newOrderInfo
=
await
findOnceToSort
(
TABLEENUM
.
订单表
,
{
userId
:
orderInfo
.
userId
},
{
lifespanEndTime
:
-
1
},
[
"orderCycleStart"
,
"orderCycleEnd"
]);
updateUserInfo
.
lifespanStartTime
=
newOrderInfo
.
orderCycleStart
,
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
,
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanEndTime
=
orderInfo
.
orderCycleEnd
;
}
if
(
orderInfo
.
isFirst
)
{
updateUserInfo
.
isFirstPay
=
true
;
}
if
(
Object
.
keys
(
updateUserInfo
).
length
)
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
orderInfo
.
userId
},
updateUserInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
审核时间
,
isReceiveMoney
:
true
,
remarks
:
``
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 发票管理-财务核对页-收款退回 success
* @param param0
*/
export
async
function
confirmReceiptOut
({
id
,
isReceive
,
returnsReasons
})
{
eccEnumValue
(
"收款退回"
,
"是否收到款项"
,
ISRECEIVE
,
isReceive
)
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
// if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`);
if
(
orderInfo
.
confirmReceipt
!=
RECEIPTCONFIRMATION
.
待确认
)
throw
new
BizError
(
ERRORENUM
.
重复提交
,
'发票管理-财务核对页-收款确认'
,
`提交通过时订单已经不是待确认 是
${
orderInfo
.
confirmReceipt
}
`
);
if
(
orderInfo
.
paymentMethod
==
PAYMENTTYPE
.
微信支付
)
throw
new
BizError
(
ERRORENUM
.
微信支付无法被退回
);
let
updateInfo
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
退回
,
returnsReasons
,
isReceive
};
if
(
orderInfo
.
isFirst
==
true
)
{
updateInfo
.
firstPayExamine
=
false
;
}
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
驳回
,
isReceiveMoney
:
isReceive
==
ISRECEIVE
.
未收到款项
_xg
其他
,
remarks
:
`
${
changeEnumValue
(
ISRECEIVE
,
isReceive
)}
`
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 发票管理-财务核对页-数据导出
* @param param0
*/
export
async
function
outPutConfirmReceipt
({
exportColumns
})
{
let
findParam
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
待确认
,
state
:
ORDERSTATE
.
已支付
}
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[];
//"orderCycleStart", "operationTime"
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
src/biz/member/finance/invoice.ts
0 → 100644
View file @
b00f02c0
/**
* 财务管理-待开发票
* 财务管理-已开发票
*/
import
moment
=
require
(
"moment"
);
import
{
INVOICESTATUS
,
ISPAYENUM
,
MEMBERLEVEL
,
MEMBERSTATE
,
MEMBERTYPE
,
ORDEREXAMINE
,
ORDERSTATE
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
}
from
"../../../config/enum"
;
import
{
TABLEENUM
}
from
"../../../data/models/model"
;
import
{
find
,
findCount
,
findOnce
,
findToPage
}
from
"../../../data/select"
;
import
{
extractData
}
from
"../../../util/piecemeal"
;
import
{
changeEnumValue
,
eccEnumValue
}
from
"../../../util/verificationEnum"
;
import
{
ERRORENUM
}
from
"../../../config/errorEnum"
;
import
{
BizError
}
from
"../../../util/bizError"
;
import
{
updateOneData
}
from
"../../../data/update"
;
import
{
addOneData
}
from
"../../../data/add"
;
import
{
successResult
}
from
"../../../tools/system"
;
/**
* 发票管理-待开发票 success
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
* @param paymentType 支付方式
* @param isPay 是否支付
* @param weChartPR 微信订单号
* @param pageNumber 当前页
*/
export
async
function
billStateList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
paymentType
,
isPay
,
weChartPR
,
pageNumber
})
{
eccEnumValue
(
"发票列表"
,
"是否支付"
,
ISPAYENUM
,
isPay
);
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
未开发票
};
/**用户表查询条件 */
let
checkUserIdList
=
[]
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
paymentType
)
{
eccEnumValue
(
"发票列表"
,
"支付类型"
,
PAYMENTTYPE
,
paymentType
);
findParam
.
paymentMethod
=
paymentType
;
}
if
(
isPay
)
findParam
.
state
=
isPay
;
if
(
weChartPR
)
findParam
.
paymentNum
=
{
"$regex"
:
`
${
weChartPR
}
`
};
let
selectFile
=
[
"id"
,
"unitName"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"state"
,
"paymentNum"
,
"userId"
,
"desc"
,
"invoiceMail"
,
"weChartCreatePayMs"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"userId"
,
"unitName"
,
"money"
,
"paymentNum"
,
"memberCategory"
,
"state"
,
"paymentMethod"
,
"desc"
,
"invoiceMail"
,
"weChartCreatePayMs"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
if
(
!
itemData
.
desc
)
itemData
.
desc
=
""
;
if
(
!
itemData
.
invoiceMail
)
itemData
.
invoiceMail
=
""
;
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
itemData
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
itemData
.
paymentMethod
);
itemData
.
isPay
=
changeEnumValue
(
ORDERSTATE
,
itemData
.
state
);
let
userInfomation
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
itemData
.
userId
},
[
"userId"
,
"memberState"
,
"name"
]);
itemData
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
userInfomation
.
memberState
);
// itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY"
)}
`
;
itemData
.
weChartCreatePayMs
=
moment
(
info
.
weChartCreatePayMs
||
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
name
=
userInfomation
.
name
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 发票管理-财务核对页面-审批历史
* @param param0
* @returns
*/
export
async
function
confirmReceiptHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
/**
* 上传发票 success
* @param param0
*/
export
async
function
upInvoice
({
id
,
invoiceUrl
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
&&
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
let
updateInfo
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
,
// invoiceAdd:invoiceUrl
};
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
已开票
,
isReceiveMoney
:
true
,
remarks
:
``
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 退回发票 success
* @param param0
*/
export
async
function
backInvoice
({
id
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
if
(
orderInfo
.
paymentMethod
==
PAYMENTTYPE
.
微信支付
)
throw
new
BizError
(
ERRORENUM
.
微信支付无法退回发票请求
);
let
updateInfo
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
退回
,
advanceInvoice
:
false
,
};
if
(
orderInfo
.
state
==
ORDERSTATE
.
已支付
)
updateInfo
.
confirmReceipt
=
RECEIPTCONFIRMATION
.
待确认
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
return
successResult
();
}
/**
* 发票管理-待开发票-数据导出
* @param param0
*/
export
async
function
outPutBillState
({
exportColumns
})
{
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
未开发票
};
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
,
"confirmReceiptMs"
,
"payTime"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[
"orderCycleStart"
,
"operationTime"
,
"confirmReceiptMs"
,
"payTime"
];
let
memberChnageList
=
[
"name"
,
"card"
,
"mail"
];
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
// if (key == "payTime") {
// if (info.paymentMethod != PAYMENTTYPE.微信支付) value = "-"
// }
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
/**
* 发票管理-待开发票-审批历史 todo
* @param param0
* @returns
*/
export
async
function
billStateHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
/**
* 批量开票确认
* @param param0
*/
export
async
function
billStateBatchAdopt
({
idList
})
{
//限制长度
if
(
idList
.
length
>
10
)
throw
new
BizError
(
ERRORENUM
.
批量操作超过个数限制
);
let
thisDate
=
new
Date
();
const
NowMs
=
thisDate
.
valueOf
();
for
(
let
i
=
0
;
i
<
idList
.
length
;
i
++
)
{
let
id
=
idList
[
i
];
if
(
!
id
)
continue
;
//空id跳过
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
&&
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
let
updateInfo
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
,
// invoiceAdd:invoiceUrl
};
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
}
return
successResult
();
}
/**
* 发票管理-已开发票 success
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
* @param paymentType 支付方式
* @param isPay 是否支付
* @param pageNumber 当前页
*/
export
async
function
invoicedList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
paymentType
,
isPay
,
pageNumber
})
{
eccEnumValue
(
"发票列表"
,
"支付类型"
,
PAYMENTTYPE
,
paymentType
);
eccEnumValue
(
"发票列表"
,
"是否支付"
,
ISPAYENUM
,
isPay
);
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
};
/**用户表查询条件 */
let
checkUserIdList
=
[]
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
paymentType
)
findParam
.
paymentMethod
=
paymentType
;
if
(
isPay
)
findParam
.
state
=
isPay
let
selectFile
=
[
"id"
,
"unitName"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"state"
,
"paymentNum"
,
"userId"
,
"desc"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"unitName"
,
"money"
,
"paymentNum"
,
"state"
,
"userId"
,
"memberCategory"
,
"paymentMethod"
,
"desc"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
if
(
!
itemData
.
desc
)
itemData
.
desc
=
""
;
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
itemData
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
itemData
.
paymentMethod
);
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
itemData
.
isPay
=
changeEnumValue
(
ORDERSTATE
,
itemData
.
state
);
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
itemData
.
userId
},
[
"memberState"
,
"name"
])
itemData
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
userInfo
.
memberState
);
itemData
.
name
=
userInfo
.
name
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 发票管理-已开发票-数据导出
* @param param0
*/
export
async
function
outPutInvoiced
({
exportColumns
})
{
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
};
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
,
"confirmReceiptMs"
,
"payTime"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[
"orderCycleStart"
,
"operationTime"
,
"confirmReceiptMs"
,
"payTime"
];
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
/**
* 发票管理-已开发票-审批历史 todo
* @param param0
* @returns
*/
export
async
function
invoicedHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
src/biz/member/order.ts
View file @
b00f02c0
...
@@ -151,746 +151,7 @@ export async function createOrder(id:string, loginId:string, phone:string, unitN
...
@@ -151,746 +151,7 @@ export async function createOrder(id:string, loginId:string, phone:string, unitN
// }
// }
/**
* 发票管理-财务核对列表 success
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
* @param paymentType 支付方式
* @param costType 会费类别
* @param pageNumber 当前页
*/
export
async
function
paidList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
paymentType
,
costType
,
pageNumber
})
{
eccEnumValue
(
"财务核对列表"
,
"支付类型"
,
PAYMENTTYPE
,
paymentType
);
eccEnumValue
(
"财务核对列表"
,
"会费类别"
,
COSTTYPE
,
costType
);
let
findParam
:
any
=
{
// "$and":[
// { "$or":[{isFirst:false}, {isFirst:true, firstPayExamine:true }] },
// ],
confirmReceipt
:
RECEIPTCONFIRMATION
.
待确认
,
state
:
ORDERSTATE
.
已支付
}
/**用户表查询条件 */
let
checkUserIdList
=
[];
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
paymentType
)
findParam
.
paymentMethod
=
paymentType
;
if
(
costType
)
findParam
.
isFirst
=
costType
==
COSTTYPE
.
首次
;
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"isFirst"
,
"paymentNum"
,
"memberState"
,
"operationTime"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"unitName"
,
"money"
,
"paymentNum"
,
"userId"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
operationTime
=
moment
(
info
.
operationTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
info
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
info
.
paymentMethod
);
itemData
.
costType
=
info
.
isFirst
==
COSTTYPE
.
首次
?
"首次"
:
"续费"
;
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
if
(
!
info
.
paymentMethod
)
{
itemData
.
paymentMethod
=
"-"
;
itemData
.
paymentNum
=
"-"
;
}
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"memberLevel"
]);
if
(
userInfo
)
itemData
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
userInfo
.
memberState
);
itemData
.
memberLevel
=
changeEnumValue
(
MEMBERLEVEL
,
userInfo
.
memberLevel
);
itemData
.
name
=
userInfo
.
name
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 发票管理-财务核对页-收款确认 success
* @param id 订单id
*/
export
async
function
confirmReceiptPass
({
id
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
// if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`);
if
(
orderInfo
.
confirmReceipt
!=
RECEIPTCONFIRMATION
.
待确认
)
throw
new
BizError
(
ERRORENUM
.
重复提交
,
'发票管理-财务核对页-收款确认'
,
`提交通过时订单已经不是待确认 是
${
orderInfo
.
confirmReceipt
}
`
);
let
updateInfo
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
收款确认
,
confirmReceiptMs
:
new
Date
().
valueOf
()};
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
updateInfo
.
invoiceStatus
=
INVOICESTATUS
.
未开发票
;
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
let
notPayCount
=
await
findCount
(
TABLEENUM
.
订单表
,
{
userId
:
orderInfo
.
userId
,
state
:
ORDERSTATE
.
未支付
}
);
let
updateUserInfo
:
any
=
{};
/**只有一笔欠费时才更新用户状态 */
if
(
notPayCount
<
1
)
{
let
newOrderInfo
=
await
findOnceToSort
(
TABLEENUM
.
订单表
,
{
userId
:
orderInfo
.
userId
},
{
lifespanEndTime
:
-
1
},
[
"orderCycleStart"
,
"orderCycleEnd"
]);
updateUserInfo
.
lifespanStartTime
=
newOrderInfo
.
orderCycleStart
,
updateUserInfo
.
lifespanEndTime
=
newOrderInfo
.
orderCycleEnd
,
updateUserInfo
.
isGracePeriod
=
STATE
.
否
,
updateUserInfo
.
gracePeriodEndTime
=
0
,
updateUserInfo
.
memberState
=
MEMBERSTATE
.
正常
,
updateUserInfo
.
paymentStatus
=
PAYMENTSTATUS
.
已支付
}
else
{
//非一笔订单 要更新会员到期时间 到 用户表
updateUserInfo
.
lifespanStartTime
=
orderInfo
.
orderCycleStart
;
updateUserInfo
.
lifespanEndTime
=
orderInfo
.
orderCycleEnd
;
}
if
(
orderInfo
.
isFirst
)
{
updateUserInfo
.
isFirstPay
=
true
;
}
if
(
Object
.
keys
(
updateUserInfo
).
length
)
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
orderInfo
.
userId
},
updateUserInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
审核时间
,
isReceiveMoney
:
true
,
remarks
:
``
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 发票管理-财务核对页-收款退回 success
* @param param0
*/
export
async
function
confirmReceiptOut
({
id
,
isReceive
,
returnsReasons
})
{
eccEnumValue
(
"收款退回"
,
"是否收到款项"
,
ISRECEIVE
,
isReceive
)
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
// if (orderInfo.isFirst && !orderInfo.firstPayExamine ) throw new BizError(ERRORENUM.重复提交, '发票管理-财务核对页-收款确认', `提交通过时订单未通过待支付页的校验`);
if
(
orderInfo
.
confirmReceipt
!=
RECEIPTCONFIRMATION
.
待确认
)
throw
new
BizError
(
ERRORENUM
.
重复提交
,
'发票管理-财务核对页-收款确认'
,
`提交通过时订单已经不是待确认 是
${
orderInfo
.
confirmReceipt
}
`
);
if
(
orderInfo
.
paymentMethod
==
PAYMENTTYPE
.
微信支付
)
throw
new
BizError
(
ERRORENUM
.
微信支付无法被退回
);
let
updateInfo
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
退回
,
returnsReasons
,
isReceive
};
if
(
orderInfo
.
isFirst
==
true
)
{
updateInfo
.
firstPayExamine
=
false
;
}
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
驳回
,
isReceiveMoney
:
isReceive
==
ISRECEIVE
.
未收到款项
_xg
其他
,
remarks
:
`
${
changeEnumValue
(
ISRECEIVE
,
isReceive
)}
`
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 发票管理-财务核对页-数据导出
* @param param0
*/
export
async
function
outPutConfirmReceipt
({
exportColumns
})
{
let
findParam
:
any
=
{
confirmReceipt
:
RECEIPTCONFIRMATION
.
待确认
,
state
:
ORDERSTATE
.
已支付
}
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[];
//"orderCycleStart", "operationTime"
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
/**
* 发票管理-财务核对页面-审批历史
* @param param0
* @returns
*/
export
async
function
confirmReceiptHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
/**
* 发票管理-待开发票 success
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
* @param paymentType 支付方式
* @param isPay 是否支付
* @param weChartPR 微信订单号
* @param pageNumber 当前页
*/
export
async
function
billStateList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
paymentType
,
isPay
,
weChartPR
,
pageNumber
})
{
eccEnumValue
(
"发票列表"
,
"是否支付"
,
ISPAYENUM
,
isPay
);
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
未开发票
};
/**用户表查询条件 */
let
checkUserIdList
=
[]
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
paymentType
)
{
eccEnumValue
(
"发票列表"
,
"支付类型"
,
PAYMENTTYPE
,
paymentType
);
findParam
.
paymentMethod
=
paymentType
;
}
if
(
isPay
)
findParam
.
state
=
isPay
;
if
(
weChartPR
)
findParam
.
paymentNum
=
{
"$regex"
:
`
${
weChartPR
}
`
};
let
selectFile
=
[
"id"
,
"unitName"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"state"
,
"paymentNum"
,
"userId"
,
"desc"
,
"invoiceMail"
,
"weChartCreatePayMs"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"userId"
,
"unitName"
,
"money"
,
"paymentNum"
,
"memberCategory"
,
"state"
,
"paymentMethod"
,
"desc"
,
"invoiceMail"
,
"weChartCreatePayMs"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
if
(
!
itemData
.
desc
)
itemData
.
desc
=
""
;
if
(
!
itemData
.
invoiceMail
)
itemData
.
invoiceMail
=
""
;
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
itemData
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
itemData
.
paymentMethod
);
itemData
.
isPay
=
changeEnumValue
(
ORDERSTATE
,
itemData
.
state
);
let
userInfomation
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
itemData
.
userId
},
[
"userId"
,
"memberState"
,
"name"
]);
itemData
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
userInfomation
.
memberState
);
// itemData.cycle = `${moment(info.orderCycleStart).format("YYYY-MM-DD")}至${moment(info.orderCycleEnd).format("YYYY-MM-DD")}`;
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY"
)}
`
;
itemData
.
weChartCreatePayMs
=
moment
(
info
.
weChartCreatePayMs
||
info
.
payTime
).
format
(
"YYYY-MM-DD"
);
itemData
.
name
=
userInfomation
.
name
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 上传发票 success
* @param param0
*/
export
async
function
upInvoice
({
id
,
invoiceUrl
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
&&
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
let
updateInfo
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
,
// invoiceAdd:invoiceUrl
};
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
//添加日志
let
addLogInfo
=
{
orderId
:
id
,
operationTime
:
new
Date
().
valueOf
(),
operationBehavior
:
ORDEREXAMINE
.
已开票
,
isReceiveMoney
:
true
,
remarks
:
``
};
await
addOneData
(
TABLEENUM
.
订单审批历史表
,
addLogInfo
);
return
successResult
();
}
/**
* 退回发票 success
* @param param0
*/
export
async
function
backInvoice
({
id
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
if
(
orderInfo
.
paymentMethod
==
PAYMENTTYPE
.
微信支付
)
throw
new
BizError
(
ERRORENUM
.
微信支付无法退回发票请求
);
let
updateInfo
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
退回
,
advanceInvoice
:
false
,
};
if
(
orderInfo
.
state
==
ORDERSTATE
.
已支付
)
updateInfo
.
confirmReceipt
=
RECEIPTCONFIRMATION
.
待确认
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
return
successResult
();
}
/**
* 发票管理-待开发票-数据导出
* @param param0
*/
export
async
function
outPutBillState
({
exportColumns
})
{
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
未开发票
};
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
,
"confirmReceiptMs"
,
"payTime"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[
"orderCycleStart"
,
"operationTime"
,
"confirmReceiptMs"
,
"payTime"
];
let
memberChnageList
=
[
"name"
,
"card"
,
"mail"
];
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
// if (key == "payTime") {
// if (info.paymentMethod != PAYMENTTYPE.微信支付) value = "-"
// }
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
/**
* 发票管理-待开发票-审批历史 todo
* @param param0
* @returns
*/
export
async
function
billStateHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
/**
* 批量开票确认
* @param param0
*/
export
async
function
billStateBatchAdopt
({
idList
})
{
//限制长度
if
(
idList
.
length
>
10
)
throw
new
BizError
(
ERRORENUM
.
批量操作超过个数限制
);
let
thisDate
=
new
Date
();
const
NowMs
=
thisDate
.
valueOf
();
for
(
let
i
=
0
;
i
<
idList
.
length
;
i
++
)
{
let
id
=
idList
[
i
];
if
(
!
id
)
continue
;
//空id跳过
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
});
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
未开发票
&&
orderInfo
.
invoiceStatus
!=
INVOICESTATUS
.
已开发票
)
throw
new
BizError
(
ERRORENUM
.
订单状态无法开具发票
,
`
${
orderInfo
.
id
}
无法开具发票,因为发票状态为
${
orderInfo
.
invoiceStatus
}
`
);
let
updateInfo
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
,
// invoiceAdd:invoiceUrl
};
await
updateOneData
(
TABLEENUM
.
订单表
,
{
id
},
updateInfo
);
}
return
successResult
();
}
/**
* 发票管理-已开发票 success
* @param name 名称关键字:个人会员匹配真实姓名,单位会员匹配单位名称
* @param memberType 会员类别 unitMemberType、individualMemberType 多选
* 会员类别:个人【个人会员、专业会员】单位【院校、机构、其他】返回前端枚举:MEMBERTYPEECCENUM
* @param documentId 身份证
* @param phone 登录手机号
* @param mail 单位/个人邮箱
* @param joinStartTime 入会开始时间
* @param joinEndTime 入会结束时间
* @param memberLevel 会员级别/职务 多选
* 会员级别/职务:【普通会员、理事会员、常务理事会员】
* @param paymentType 支付方式
* @param isPay 是否支付
* @param pageNumber 当前页
*/
export
async
function
invoicedList
({
name
,
memberType
,
documentId
,
phone
,
mail
,
joinStartTime
,
joinEndTime
,
memberLevel
,
paymentType
,
isPay
,
pageNumber
})
{
eccEnumValue
(
"发票列表"
,
"支付类型"
,
PAYMENTTYPE
,
paymentType
);
eccEnumValue
(
"发票列表"
,
"是否支付"
,
ISPAYENUM
,
isPay
);
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
};
/**用户表查询条件 */
let
checkUserIdList
=
[]
let
itemParam
:
any
=
{};
let
isSelectUser
=
false
;
if
(
name
)
{
isSelectUser
=
true
;
itemParam
=
{
"$or"
:[
{
unitName
:{
"$regex"
:
`
${
name
}
`
}},
{
name
:{
"$regex"
:
`
${
name
}
`
}}
]
}
}
if
(
memberType
&&
memberType
.
length
)
{
isSelectUser
=
true
;
itemParam
[
"$or"
]
=
[
{
unitMemberType
:{
"$in"
:
memberType
}},
{
individualMemberType
:{
"$in"
:
memberType
}}
];
}
if
(
documentId
)
{
isSelectUser
=
true
;
itemParam
.
documentId
=
documentId
;
}
if
(
mail
)
{
isSelectUser
=
true
;
itemParam
.
mail
=
mail
;
}
if
(
joinStartTime
)
{
isSelectUser
=
true
;
itemParam
[
"joinTime"
]
=
{
"$gt"
:
joinStartTime
};
}
if
(
joinEndTime
)
{
isSelectUser
=
true
;
if
(
!
itemParam
[
"joinTime"
])
itemParam
[
"joinTime"
]
=
{};
itemParam
[
"joinTime"
][
"$lt"
]
=
joinEndTime
;
}
if
(
memberLevel
&&
memberLevel
.
length
)
{
isSelectUser
=
true
;
itemParam
.
memberLevel
=
{
"$in"
:
memberLevel
};
}
if
(
isSelectUser
)
{
let
checkUserIdDataList
=
await
find
(
TABLEENUM
.
用户表
,
itemParam
,
[
"userId"
]);
checkUserIdDataList
.
forEach
(
key
=>
{
checkUserIdList
.
push
(
key
.
userId
);
});
}
if
(
checkUserIdList
.
length
)
{
findParam
.
userId
=
{
"$in"
:
checkUserIdList
}
}
if
(
phone
)
findParam
.
phone
=
phone
;
if
(
paymentType
)
findParam
.
paymentMethod
=
paymentType
;
if
(
isPay
)
findParam
.
state
=
isPay
let
selectFile
=
[
"id"
,
"unitName"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"state"
,
"paymentNum"
,
"userId"
,
"desc"
];
let
dbList
=
await
findToPage
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
,
pageNumber
);
let
dataCount
=
await
findCount
(
TABLEENUM
.
订单表
,
findParam
);
let
dataList
=
[];
let
itemFile
=
[
"id"
,
"unitName"
,
"money"
,
"paymentNum"
,
"state"
,
"userId"
,
"memberCategory"
,
"paymentMethod"
,
"desc"
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
itemData
:
any
=
extractData
(
info
,
itemFile
);
if
(
!
itemData
.
desc
)
itemData
.
desc
=
""
;
itemData
.
joinTime
=
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
);
itemData
.
memberType
=
changeEnumValue
(
MEMBERTYPE
,
itemData
.
memberCategory
);
itemData
.
paymentMethod
=
changeEnumValue
(
PAYMENTTYPE
,
itemData
.
paymentMethod
);
itemData
.
cycle
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
itemData
.
isPay
=
changeEnumValue
(
ORDERSTATE
,
itemData
.
state
);
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
itemData
.
userId
},
[
"memberState"
,
"name"
])
itemData
.
memberState
=
changeEnumValue
(
MEMBERSTATE
,
userInfo
.
memberState
);
itemData
.
name
=
userInfo
.
name
;
dataList
.
push
(
itemData
);
}
return
{
dataList
,
dataCount
};
}
/**
* 发票管理-已开发票-数据导出
* @param param0
*/
export
async
function
outPutInvoiced
({
exportColumns
})
{
let
findParam
:
any
=
{
invoiceStatus
:
INVOICESTATUS
.
已开发票
};
let
selectTitle
=
[];
let
selectConf
=
[];
exportColumns
.
forEach
(
info
=>
{
selectTitle
.
push
(
info
.
key
);
selectConf
.
push
(
info
.
value
);
})
let
selectFile
=
[
"id"
,
"unitName"
,
"userId"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"money"
,
"paymentMethod"
,
"memberCategory"
,
"paymentNum"
,
"desc"
,
"invoiceMail"
,
"confirmReceiptMs"
,
"payTime"
];
let
dbList
=
await
find
(
TABLEENUM
.
订单表
,
findParam
,
selectFile
);
let
timeChnageList
=
[
"orderCycleStart"
,
"operationTime"
,
"confirmReceiptMs"
,
"payTime"
];
let
dataList
=
[
selectTitle
];
for
(
let
i
=
0
;
i
<
dbList
.
length
;
i
++
)
{
let
info
=
dbList
[
i
];
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
info
.
userId
},
[
"memberState"
,
"name"
,
"unitName"
,
"documentId"
,
"uscc"
,
"mail"
,
"unitMail"
,
"memberLevel"
,
"phone"
]);
let
subList
=
[];
for
(
let
i
=
0
;
i
<
selectConf
.
length
;
i
++
)
{
let
key
=
selectConf
[
i
];
let
value
=
info
[
key
]
||
""
;
if
(
key
==
"name"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
name
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitName
;
}
if
(
key
==
"card"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
documentId
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
uscc
;
}
if
(
key
==
"mail"
)
{
if
(
info
.
memberCategory
==
MEMBERTYPE
.
个人会员
)
value
=
userInfo
.
mail
;
else
if
(
info
.
memberCategory
==
MEMBERTYPE
.
单位会员
)
value
=
userInfo
.
unitMail
;
}
if
(
key
==
"paymentMethod"
||
key
==
"paymentNum"
)
{
if
(
!
info
.
paymentMethod
)
{
value
=
"-"
;
}
}
if
(
key
==
"orderCycle"
)
value
=
`
${
moment
(
info
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
info
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
if
(
value
&&
value
!=
"-"
)
{
if
(
timeChnageList
.
indexOf
(
key
)
!=
-
1
)
value
=
moment
(
value
).
format
(
"YYYY-MM-DD"
);
else
if
(
key
==
"memberCategory"
)
value
=
changeEnumValue
(
MEMBERTYPE
,
value
);
else
if
(
key
==
"memberLevel"
)
value
=
changeEnumValue
(
MEMBERLEVEL
,
value
);
else
if
(
key
==
"paymentMethod"
)
value
=
changeEnumValue
(
PAYMENTTYPE
,
value
);
}
subList
.
push
(
value
);
}
dataList
.
push
(
subList
);
}
return
{
dataList
};
}
/**
* 发票管理-已开发票-审批历史 todo
* @param param0
* @returns
*/
export
async
function
invoicedHistory
({
id
})
{
let
dbList
=
await
find
(
TABLEENUM
.
订单审批历史表
,
{
orderId
:
id
});
let
dataList
=
[];
dbList
.
sort
((
a
,
b
)
=>
{
return
b
.
operationTime
-
a
.
operationTime
});
dbList
.
forEach
(
info
=>
{
let
item
:
any
=
extractData
(
info
,
[
"operationTime"
,
"operationBehavior"
,
"remarks"
,
"refundImgUrl"
]);
item
.
operationTime
=
moment
(
item
.
operationTime
).
format
(
"YYYY-MM-DD HH:mm:SS"
);
item
.
operationBehavior
=
changeEnumValue
(
ORDEREXAMINE
,
item
.
operationBehavior
);
dataList
.
push
(
item
);
});
return
{
dataList
};
}
/**
/**
...
...
src/config/enum.ts
View file @
b00f02c0
...
@@ -421,7 +421,6 @@ export enum CERTIFICATETYPE {
...
@@ -421,7 +421,6 @@ export enum CERTIFICATETYPE {
export
enum
ORDERSTATE
{
export
enum
ORDERSTATE
{
已支付
=
1
,
已支付
=
1
,
未支付
,
未支付
,
}
}
...
...
src/data/models/model.ts
View file @
b00f02c0
...
@@ -495,7 +495,7 @@ const ModelArray = [
...
@@ -495,7 +495,7 @@ const ModelArray = [
isFirst
:{
type
:
'Boolean'
,
default
:
true
},
//首次订单
isFirst
:{
type
:
'Boolean'
,
default
:
true
},
//首次订单
state
:
'Number'
,
//状态 是否支付 枚举 ORDERSTATE
state
:
'Number'
,
//状态 是否支付 枚举 ORDERSTATE
paymentMethod
:
'Number'
,
//付款方式 枚举 PAYMENTTYPE
paymentMethod
:
'Number'
,
//付款方式 枚举 PAYMENTTYPE
firstPayExamine
:{
type
:
'Boolean'
,
default
:
false
},
//首次订单的审批开关【待支付页审批开关】
firstPayExamine
:{
type
:
'Boolean'
,
default
:
false
},
//首次订单的审批开关【待支付页审批开关】
去掉了
confirmReceipt
:{
type
:
'Number'
,
default
:
0
},
//收款确认【财务核对页收款确认】 RECEIPTCONFIRMATION
confirmReceipt
:{
type
:
'Number'
,
default
:
0
},
//收款确认【财务核对页收款确认】 RECEIPTCONFIRMATION
confirmReceiptMs
:{
type
:
"Number"
,
default
:
0
},
//审核时间 【同上 财务核对页收款确认之后更新时间】
confirmReceiptMs
:{
type
:
"Number"
,
default
:
0
},
//审核时间 【同上 财务核对页收款确认之后更新时间】
invoiceStatus
:{
type
:
'Number'
,
default
:
INVOICESTATUS
.
不具备开票条件
,
index
:
true
},
//发票状态 枚举 INVOICESTATUS 【待开发票页上传发票之后更新状态】
invoiceStatus
:{
type
:
'Number'
,
default
:
INVOICESTATUS
.
不具备开票条件
,
index
:
true
},
//发票状态 枚举 INVOICESTATUS 【待开发票页上传发票之后更新状态】
...
...
src/routers/order/router.ts
View file @
b00f02c0
import
*
as
orderBiz
from
"../../biz/member/order"
;
import
*
as
orderBiz
from
"../../biz/member/order"
;
import
*
as
costVerificationBiz
from
"../../biz/member/finance/costVerification"
;
import
*
as
invoiceBiz
from
"../../biz/member/finance/invoice"
;
export
const
FirstName
=
'会费相关'
;
export
const
FirstName
=
'会费相关'
;
export
const
FirstRouter
=
'/manage/cost'
;
export
const
FirstRouter
=
'/manage/cost'
;
...
@@ -48,11 +50,13 @@ export const Config = {
...
@@ -48,11 +50,13 @@ export const Config = {
{
key
:
"joinStartTime"
,
type
:
"Number"
,
desc
:
"入会开始时间"
,
isNull
:
true
},
{
key
:
"joinStartTime"
,
type
:
"Number"
,
desc
:
"入会开始时间"
,
isNull
:
true
},
{
key
:
"joinEndTime"
,
type
:
"Number"
,
desc
:
"入会结束时间"
,
isNull
:
true
},
{
key
:
"joinEndTime"
,
type
:
"Number"
,
desc
:
"入会结束时间"
,
isNull
:
true
},
{
key
:
"memberLevel"
,
type
:
"[Number]"
,
desc
:
"个人级别职务"
,
isNull
:
true
},
{
key
:
"memberLevel"
,
type
:
"[Number]"
,
desc
:
"个人级别职务"
,
isNull
:
true
},
{
key
:
"paymentType"
,
type
:
"Number"
,
desc
:
"支付方式"
,
isNull
:
true
},
// {key:"paymentType", type:"Number", desc:"支付方式", isNull:true},2024年12月21日去掉
{
key
:
"examineState"
,
type
:
"Number"
,
desc
:
"审批状态 0是全部,1是待审批2是已审批"
,
isNull
:
true
},
{
key
:
"payType"
,
type
:
"Number"
,
desc
:
"支付方式 1是微信支付 2是线下支付"
},
{
key
:
"costType"
,
type
:
"Number"
,
desc
:
"会费类别"
,
isNull
:
true
},
{
key
:
"costType"
,
type
:
"Number"
,
desc
:
"会费类别"
,
isNull
:
true
},
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"分页-当前页面"
}
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"分页-当前页面"
}
],
],
bindBiz
:
order
Biz
.
paidList
bindBiz
:
costVerification
Biz
.
paidList
},
},
{
{
apiName
:
"待开发票"
,
apiName
:
"待开发票"
,
...
@@ -71,7 +75,7 @@ export const Config = {
...
@@ -71,7 +75,7 @@ export const Config = {
{
key
:
"weChartPR"
,
type
:
"String"
,
desc
:
"微信支付单号"
,
isNull
:
true
},
{
key
:
"weChartPR"
,
type
:
"String"
,
desc
:
"微信支付单号"
,
isNull
:
true
},
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"分页-当前页面"
}
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"分页-当前页面"
}
],
],
bindBiz
:
order
Biz
.
billStateList
bindBiz
:
invoice
Biz
.
billStateList
},
},
{
{
apiName
:
"财务核对-收款确认"
,
apiName
:
"财务核对-收款确认"
,
...
@@ -79,7 +83,7 @@ export const Config = {
...
@@ -79,7 +83,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
}
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
}
],
],
bindBiz
:
order
Biz
.
confirmReceiptPass
bindBiz
:
costVerification
Biz
.
confirmReceiptPass
},
},
{
{
apiName
:
"财务核对-退回"
,
apiName
:
"财务核对-退回"
,
...
@@ -89,7 +93,7 @@ export const Config = {
...
@@ -89,7 +93,7 @@ export const Config = {
{
key
:
"isReceive"
,
type
:
"Number"
,
desc
:
"是否受到款项"
},
{
key
:
"isReceive"
,
type
:
"Number"
,
desc
:
"是否受到款项"
},
{
key
:
"returnsReasons"
,
type
:
"String"
,
desc
:
"退回理由"
}
{
key
:
"returnsReasons"
,
type
:
"String"
,
desc
:
"退回理由"
}
],
],
bindBiz
:
order
Biz
.
confirmReceiptOut
bindBiz
:
costVerification
Biz
.
confirmReceiptOut
},
},
{
{
apiName
:
"财务核对-数据导出"
,
apiName
:
"财务核对-数据导出"
,
...
@@ -97,7 +101,7 @@ export const Config = {
...
@@ -97,7 +101,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
],
],
bindBiz
:
order
Biz
.
outPutConfirmReceipt
bindBiz
:
costVerification
Biz
.
outPutConfirmReceipt
},
},
{
{
apiName
:
"财务核对-审批历史"
,
apiName
:
"财务核对-审批历史"
,
...
@@ -105,7 +109,7 @@ export const Config = {
...
@@ -105,7 +109,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
],
],
bindBiz
:
order
Biz
.
confirmReceiptHistory
bindBiz
:
invoice
Biz
.
confirmReceiptHistory
},
},
{
{
apiName
:
"待开发票-上传发票 已开发票-修改发票"
,
apiName
:
"待开发票-上传发票 已开发票-修改发票"
,
...
@@ -114,7 +118,7 @@ export const Config = {
...
@@ -114,7 +118,7 @@ export const Config = {
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
// {key:"invoiceUrl", type:"String", desc:"发票地址"},
// {key:"invoiceUrl", type:"String", desc:"发票地址"},
],
],
bindBiz
:
order
Biz
.
upInvoice
bindBiz
:
invoice
Biz
.
upInvoice
},
},
// {
// {
// apiName:"待开发票-退回发票", 弃用
// apiName:"待开发票-退回发票", 弃用
...
@@ -130,7 +134,7 @@ export const Config = {
...
@@ -130,7 +134,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
],
],
bindBiz
:
order
Biz
.
outPutBillState
bindBiz
:
invoice
Biz
.
outPutBillState
},
},
{
{
apiName
:
"待开发票-审批历史"
,
apiName
:
"待开发票-审批历史"
,
...
@@ -138,7 +142,7 @@ export const Config = {
...
@@ -138,7 +142,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
],
],
bindBiz
:
order
Biz
.
billStateHistory
bindBiz
:
invoice
Biz
.
billStateHistory
},
},
{
{
apiName
:
"待开发票-批量开票确认"
,
apiName
:
"待开发票-批量开票确认"
,
...
@@ -146,7 +150,7 @@ export const Config = {
...
@@ -146,7 +150,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"idList"
,
type
:
"[String]"
,
desc
:
"批量通过的用户列表"
},
{
key
:
"idList"
,
type
:
"[String]"
,
desc
:
"批量通过的用户列表"
},
],
],
bindBiz
:
order
Biz
.
billStateBatchAdopt
bindBiz
:
invoice
Biz
.
billStateBatchAdopt
},
},
{
{
apiName
:
"发票管理-已开发票"
,
apiName
:
"发票管理-已开发票"
,
...
@@ -164,7 +168,7 @@ export const Config = {
...
@@ -164,7 +168,7 @@ export const Config = {
{
key
:
"isPay"
,
type
:
"Number"
,
desc
:
"是否支付"
,
isNull
:
true
},
{
key
:
"isPay"
,
type
:
"Number"
,
desc
:
"是否支付"
,
isNull
:
true
},
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"当前页"
},
{
key
:
"pageNumber"
,
type
:
"Number"
,
desc
:
"当前页"
},
],
],
bindBiz
:
order
Biz
.
invoicedList
bindBiz
:
invoice
Biz
.
invoicedList
},
},
{
{
apiName
:
"已开发票-数据导出"
,
apiName
:
"已开发票-数据导出"
,
...
@@ -172,7 +176,7 @@ export const Config = {
...
@@ -172,7 +176,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
{
key
:
"exportColumns"
,
type
:
"[]"
,
desc
:
"导出数据列"
}
],
],
bindBiz
:
order
Biz
.
outPutInvoiced
bindBiz
:
invoice
Biz
.
outPutInvoiced
},
},
{
{
apiName
:
"已开发票-审批历史"
,
apiName
:
"已开发票-审批历史"
,
...
@@ -180,7 +184,7 @@ export const Config = {
...
@@ -180,7 +184,7 @@ export const Config = {
param
:[
param
:[
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
{
key
:
"id"
,
type
:
"String"
,
desc
:
"订单id"
},
],
],
bindBiz
:
order
Biz
.
invoicedHistory
bindBiz
:
invoice
Biz
.
invoicedHistory
},
},
{
{
apiName
:
"转账单号弹窗"
,
apiName
:
"转账单号弹窗"
,
...
...
src/routers/router.ts
View file @
b00f02c0
...
@@ -31,16 +31,16 @@ export async function setRouter(httpServer){
...
@@ -31,16 +31,16 @@ export async function setRouter(httpServer){
await
getDoc
();
await
getDoc
();
// await initDoc(portalRouter.FirstName, portalRouter.Config, portalRouter.FirstRouter);//网站编辑
// await initDoc(portalRouter.FirstName, portalRouter.Config, portalRouter.FirstRouter);//网站编辑
// await initDoc(publicRouter.FirstName, publicRouter.Config, publicRouter.FirstRouter);//公用组件
// await initDoc(publicRouter.FirstName, publicRouter.Config, publicRouter.FirstRouter);//公用组件
await
initDoc
(
memberRouter
.
FirstName
,
memberRouter
.
Config
,
memberRouter
.
FirstRouter
);
//用户路由
//
await initDoc(memberRouter.FirstName, memberRouter.Config, memberRouter.FirstRouter);//用户路由
// await initDoc(officalWebsiteRouter.FirstName, officalWebsiteRouter.Config, officalWebsiteRouter.FirstRouter);//官网路由
// await initDoc(officalWebsiteRouter.FirstName, officalWebsiteRouter.Config, officalWebsiteRouter.FirstRouter);//官网路由
//
await initDoc(orderRouter.FirstName, orderRouter.Config, orderRouter.FirstRouter);//会费相关
await
initDoc
(
orderRouter
.
FirstName
,
orderRouter
.
Config
,
orderRouter
.
FirstRouter
);
//会费相关
// await initDoc(costRouter.FirstName, costRouter.Config, costRouter.FirstRouter);//支付
// await initDoc(costRouter.FirstName, costRouter.Config, costRouter.FirstRouter);//支付
// await initDoc(outPutRouter.FirstName, outPutRouter.Config, outPutRouter.FirstRouter);//导出路由
// await initDoc(outPutRouter.FirstName, outPutRouter.Config, outPutRouter.FirstRouter);//导出路由
// await initDoc(labelRouter.FirstName, labelRouter.Config, labelRouter.FirstRouter);//标签路由
// await initDoc(labelRouter.FirstName, labelRouter.Config, labelRouter.FirstRouter);//标签路由
// await initDoc("2.0", labelRouter.Config, labelRouter.FirstRouter);//标签路由
// await initDoc("2.0", labelRouter.Config, labelRouter.FirstRouter);//标签路由
// await initDoc("2.0", blacklistRouter.Config, blacklistRouter.FirstRouter);//黑名单路由
// await initDoc("2.0", blacklistRouter.Config, blacklistRouter.FirstRouter);//黑名单路由
// await initDoc("2.0", msgActivityRouter.Config, msgActivityRouter.FirstRouter);//消息活动通知路由
// await initDoc("2.0", msgActivityRouter.Config, msgActivityRouter.FirstRouter);//消息活动通知路由
await
initDoc
(
applyRouter
.
FirstName
,
applyRouter
.
Config
,
applyRouter
.
FirstRouter
);
//变更审批路由
//
await initDoc(applyRouter.FirstName, applyRouter.Config, applyRouter.FirstRouter);//变更审批路由
}
}
analysisRouter
(
httpServer
,
portalRouter
.
Config
,
portalRouter
.
FirstRouter
,
true
);
//网站编辑
analysisRouter
(
httpServer
,
portalRouter
.
Config
,
portalRouter
.
FirstRouter
,
true
);
//网站编辑
analysisRouter
(
httpServer
,
publicRouter
.
Config
,
publicRouter
.
FirstRouter
,
false
);
//公用组件
analysisRouter
(
httpServer
,
publicRouter
.
Config
,
publicRouter
.
FirstRouter
,
false
);
//公用组件
...
...
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