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
ccd4ce71
Commit
ccd4ce71
authored
Mar 21, 2024
by
lixinming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
882cd34b
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
12 deletions
+33
-12
cost.ts
src/biz/member/cost.ts
+26
-8
examine.ts
src/biz/member/examine.ts
+2
-2
order.ts
src/biz/member/order.ts
+2
-1
errorEnum.ts
src/config/errorEnum.ts
+2
-0
model.ts
src/data/models/model.ts
+1
-1
No files found.
src/biz/member/cost.ts
View file @
ccd4ce71
...
...
@@ -2,7 +2,7 @@
* 收费
*/
import
{
INDIVIDUALMEMBERTYPE
,
MEMBERLEVEL
,
MEMBERTYPE
,
ORDERSTATE
,
PAYMENTTYPE
,
WEICHARTPAYSTATE
}
from
"../../config/enum"
;
import
{
ORDERSTATE
,
PAYMENTTYPE
,
RECEIPTCONFIRMATION
,
WEICHARTPAYSTATE
}
from
"../../config/enum"
;
import
{
TABLEENUM
}
from
"../../data/models/model"
;
import
{
findOnce
}
from
"../../data/select"
;
import
{
eccEnumValue
}
from
"../../util/verificationEnum"
;
...
...
@@ -33,11 +33,10 @@ const pay = new WxPay({
* @returns
*/
export
async
function
placeAnOrder
({
id
})
{
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
},
[
"id"
,
"loginId"
,
"userId"
,
"memberCategory"
,
"money"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"weChartState"
]);
let
orderInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
id
},
[
"id"
,
"loginId"
,
"userId"
,
"memberCategory"
,
"money"
,
"orderCycleStart"
,
"orderCycleEnd"
,
"weChartState"
,
"state"
]);
if
(
!
orderInfo
||
!
orderInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
订单不存在
);
if
(
orderInfo
.
state
==
ORDERSTATE
.
已支付
)
throw
new
BizError
(
ERRORENUM
.
该订单已支付
);
if
(
orderInfo
.
weChartState
!=
WEICHARTPAYSTATE
.
未提交
)
throw
new
BizError
(
ERRORENUM
.
该订单正在支付
);
/**生成 out_trade_no */
let
out_trade_no
=
generateWXOrderId
(
orderInfo
.
memberCategory
,
orderInfo
.
userId
);
let
desc
=
`
${
orderInfo
.
loginId
}
_
${
moment
(
orderInfo
.
orderCycleStart
).
format
(
"YYYY-MM-DD"
)}
至
${
moment
(
orderInfo
.
orderCycleEnd
).
format
(
"YYYY-MM-DD"
)}
`
;
...
...
@@ -103,9 +102,29 @@ export async function orderClose({id, weChartPR}) {
* 微信回调函数【微信用】
*/
export
async
function
payCallback
(
body
)
{
console
.
log
(
body
);
if
(
body
.
reource
)
{
if
(
body
.
resource
&&
body
.
summary
==
"支付成功"
)
{
const
wechartCallbackData
=
pay
.
decipher_gcm
(
body
.
resource
.
ciphertext
,
body
.
resource
.
associated_data
,
body
.
resource
.
nonce
,
V3Key
);
if
(
wechartCallbackData
.
trade_state
==
"SUCCESS"
)
{
/**支付成功 */
let
oldInfo
=
await
findOnce
(
TABLEENUM
.
订单表
,
{
weChartPR
:
wechartCallbackData
.
out_trade_no
});
if
(
!
oldInfo
||
!
oldInfo
.
id
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
let
updateInfo
:
any
=
{
paymentNum
:
wechartCallbackData
.
transaction_id
,
state
:
ORDERSTATE
.
已支付
,
paymentMethod
:
PAYMENTTYPE
.
微信支付
};
if
(
!
oldInfo
.
isFirst
)
{
updateInfo
.
confirmReceipt
=
RECEIPTCONFIRMATION
.
待确认
;
}
await
updateOneData
(
TABLEENUM
.
订单表
,
{
weChartPR
:
wechartCallbackData
.
out_trade_no
},
updateInfo
);
return
{
code
:
"SUCCESS"
,
message
:
"成功"
}
}
else
{
throw
new
BizError
(
ERRORENUM
.
支付失败
,
wechartCallbackData
.
trade_state_desc
);
}
}
else
{
throw
new
BizError
(
ERRORENUM
.
微信支付回调错误
,
body
.
summary
);
}
}
\ No newline at end of file
src/biz/member/examine.ts
View file @
ccd4ce71
...
...
@@ -60,7 +60,7 @@ export async function pendingReviewList({unitName, joinTime, memberType, sheng,
* @returns
*/
export
async
function
adopt
({
id
,
session
})
{
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
id
,
isAdmin
:
STATE
.
否
},
[
"userId"
,
"registerFlow"
,
"userRegisterState"
,
"memberType"
,
"unitName"
,
"name"
]);
let
userInfo
=
await
findOnce
(
TABLEENUM
.
用户表
,
{
userId
:
id
,
isAdmin
:
STATE
.
否
},
[
"userId"
,
"registerFlow"
,
"
loginId"
,
"
userRegisterState"
,
"memberType"
,
"unitName"
,
"name"
]);
if
(
!
userInfo
||
!
userInfo
.
userId
)
throw
new
BizError
(
ERRORENUM
.
目标数据不存在
);
if
(
userInfo
.
memberType
==
MEMBERTYPE
.
个人会员
&&
userInfo
.
registerFlow
!=
REGISTERFLOW
.
完成第二步
)
{
throw
new
BizError
(
ERRORENUM
.
不具备审批条件
,
`
${
userInfo
.
userId
}
为个人会员,并没有完成第二步`
);
...
...
@@ -97,7 +97,7 @@ export async function adopt({id, session}) {
//todo 创建一条初始订单
await
createOrder
(
id
,
unitName
,
NowMs
,
MEMBERLEVEL
.
普通会员
,
userInfo
.
memberType
,
subType
,
true
);
await
createOrder
(
id
,
u
serInfo
.
loginId
,
u
nitName
,
NowMs
,
MEMBERLEVEL
.
普通会员
,
userInfo
.
memberType
,
subType
,
true
);
await
updateOneData
(
TABLEENUM
.
用户表
,
{
userId
:
id
},
addInfo
);
...
...
src/biz/member/order.ts
View file @
ccd4ce71
...
...
@@ -25,7 +25,7 @@ import { updateOneData } from "../../data/update";
* @param isFirst 是否首次缴费
* @returns
*/
export
async
function
createOrder
(
id
:
string
,
unitName
:
string
,
orderStartMs
:
number
,
memberLv
:
number
,
memberType
:
number
,
subType
:
number
,
isFirst
:
boolean
)
{
export
async
function
createOrder
(
id
:
string
,
loginId
:
string
,
unitName
:
string
,
orderStartMs
:
number
,
memberLv
:
number
,
memberType
:
number
,
subType
:
number
,
isFirst
:
boolean
)
{
/**计算订单周期 */
const
EndMs
=
moment
(
orderStartMs
).
add
(
1
,
'years'
).
valueOf
();
/**订单id */
...
...
@@ -57,6 +57,7 @@ export async function createOrder(id:string, unitName:string, orderStartMs:numbe
money
,
paymentMethod
:
0
,
userId
:
id
,
loginId
,
memberCategory
:
memberType
,
paymentNum
:
""
,
invoiceAdd
:
''
,
...
...
src/config/errorEnum.ts
View file @
ccd4ce71
...
...
@@ -43,6 +43,8 @@ export enum ERRORENUM {
请求已被退回请重新申请
,
不满足重新请求条件
,
该订单正在支付
,
微信支付回调错误
,
支付失败
}
export
enum
ERRORCODEENUM
{
...
...
src/data/models/model.ts
View file @
ccd4ce71
...
...
@@ -446,7 +446,7 @@ const ModelArray = [
userId
:{
type
:
'String'
,
index
:
true
},
//会员id
loginId
:{
type
:
'String'
,
index
:
true
},
//登陆名
phone
:
"String"
,
//登陆手机号
paymentNum
:{
type
:
'String'
,
default
:
""
},
//支付单号(与订单号不一样) 线下付款时录入
paymentNum
:{
type
:
'String'
,
default
:
""
},
//支付单号(与订单号不一样) 线下付款时录入
如果微信付款使用 微信支付的订单号
offlinePaymentUrl
:{
type
:
'String'
,
default
:
""
},
//转账图片
memberCategory
:
'Number'
,
//会员类别 枚举 MEMBERTYPE
weChartPR
:{
type
:
'String'
,
default
:
""
},
//微信订单号 微信支付用
...
...
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