Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
5907edc1
Commit
5907edc1
authored
Jun 30, 2020
by
zhaoxiqing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
gsb
parent
9fa056e8
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
179 additions
and
25 deletions
+179
-25
esign-sve-merchant/app/base/api/impl/op/action.js
+12
-4
esign-sve-merchant/app/base/db/impl/merchant/merchantDao.js
+23
-6
esign-sve-merchant/app/base/db/impl/merchant/merchantaccountDao.js
+18
-1
esign-sve-merchant/app/base/db/models/merchant/merchantapi.js
+1
-0
esign-sve-merchant/app/base/service/impl/merchant/merchantSve.js
+21
-6
esign-sve-merchant/app/base/service/impl/merchant/merchantaccountSve.js
+31
-5
esign-sve-merchant/app/base/service/impl/merchant/merchanttradeSve.js
+73
-3
No files found.
esign-sve-merchant/app/base/api/impl/op/action.js
View file @
5907edc1
...
...
@@ -78,6 +78,9 @@ class ActionAPI extends APIBase {
case
"merchantOfList"
:
opResult
=
await
this
.
merchantSve
.
merchantOfList
(
action_body
);
break
;
case
"merchantOfInfo"
:
opResult
=
await
this
.
merchantSve
.
merchantOfInfo
(
action_body
);
break
;
//商户审核
case
"auditMerchant"
:
opResult
=
await
this
.
merchantSve
.
auditMerchant
(
action_body
);
...
...
@@ -101,17 +104,22 @@ class ActionAPI extends APIBase {
break
;
//资金流水
//资金流水
case
"merchanttradesOfListAll"
:
opResult
=
await
this
.
merchanttradeSve
.
merchanttradesOfListAll
(
action_body
);
break
;
//代客下单流水
case
"valetorder"
:
opResult
=
await
this
.
merchanttradeSve
.
valetorder
(
action_body
);
break
;
//商户余额
//余额
case
"
accountb
alance"
:
opResult
=
await
this
.
merchantaccountSve
.
accountbalance
(
action_body
);
case
"
reduceAccountB
alance"
:
opResult
=
await
this
.
merchantaccountSve
.
reduce
accountbalance
(
action_body
);
break
;
//可用余额
case
"a
ccountusablebalanc
e"
:
opResult
=
await
this
.
merchantaccountSve
.
a
ccountusablebalanc
e
(
action_body
);
case
"a
ddordelavailabl
e"
:
opResult
=
await
this
.
merchantaccountSve
.
a
ddordelavailabl
e
(
action_body
);
break
;
default
:
...
...
esign-sve-merchant/app/base/db/impl/merchant/merchantDao.js
View file @
5907edc1
...
...
@@ -6,14 +6,31 @@ class MerchantDao extends Dao {
}
async
suggest
(
name
)
{
if
(
!
name
)
{
return
[];
}
var
sql
=
"SELECT id, name FROM `e_merchant` WHERE name LIKE :queryLike AND deleted_at IS NULL "
;
sql
=
sql
+
" ORDER BY id ASC LIMIT 10"
;
var
list
=
await
this
.
customQuery
(
sql
,
{
queryLike
:
"%"
+
name
+
"%"
});
var
sql
=
"SELECT id, name FROM `e_merchant` WHERE deleted_at IS NULL "
;
var
list
=
await
this
.
customQuery
(
sql
);
return
list
||
[];
}
async
findMapByIds
(
ids
,
attrs
)
{
var
result
=
[];
if
(
!
ids
||
ids
.
length
==
0
)
{
return
result
;
}
attrs
=
attrs
||
"*"
;
var
sql
=
"SELECT "
+
attrs
+
" FROM e_merchant where id IN (:ids) "
;
var
list
=
await
this
.
customQuery
(
sql
,
{
ids
:
ids
});
if
(
!
list
||
list
.
length
==
0
)
{
return
result
;
}
for
(
var
item
of
list
)
{
result
[
item
.
id
]
=
item
;
}
return
result
;
}
}
module
.
exports
=
MerchantDao
;
esign-sve-merchant/app/base/db/impl/merchant/merchantaccountDao.js
View file @
5907edc1
...
...
@@ -5,7 +5,6 @@ class MerchantaccountDao extends Dao {
super
(
Dao
.
getModelName
(
MerchantaccountDao
));
}
async
addtomerchantrmb
(
params
)
{
var
sql
=
[];
sql
.
push
(
"UPDATE"
);
...
...
@@ -15,6 +14,24 @@ class MerchantaccountDao extends Dao {
sql
.
push
(
"WHERE merchant_id = :merchant_id"
);
return
await
this
.
customUpdate
(
sql
.
join
(
" "
),
params
);
}
async
addordelmerchantrmb
(
params
)
{
var
sql
=
[];
sql
.
push
(
"UPDATE"
);
sql
.
push
(
this
.
model
.
tableName
);
sql
.
push
(
"SET balance_amount = balance_amount - :amount"
);
sql
.
push
(
"WHERE merchant_id = :merchant_id"
);
return
await
this
.
customUpdate
(
sql
.
join
(
" "
),
params
);
}
async
addordelavailable
(
params
)
{
var
sql
=
[];
sql
.
push
(
"UPDATE"
);
sql
.
push
(
this
.
model
.
tableName
);
sql
.
push
(
"SET available_amount = available_amount + :amount"
);
sql
.
push
(
"WHERE merchant_id = :merchant_id"
);
return
await
this
.
customUpdate
(
sql
.
join
(
" "
),
params
);
}
}
module
.
exports
=
MerchantaccountDao
;
esign-sve-merchant/app/base/db/models/merchant/merchantapi.js
View file @
5907edc1
module
.
exports
=
(
db
,
DataTypes
)
=>
{
return
db
.
define
(
"merchantapi"
,
{
secret
:
DataTypes
.
STRING
,
name
:
DataTypes
.
STRING
,
ip
:
DataTypes
.
TINYINT
,
},{
paranoid
:
true
,
//假的删除
...
...
esign-sve-merchant/app/base/service/impl/merchant/merchantSve.js
View file @
5907edc1
...
...
@@ -60,6 +60,7 @@ class MerchantService extends ServiceBase {
var
merchant
=
null
;
if
(
params
.
id
)
{
merchant
=
await
this
.
dao
.
findById
(
params
.
id
);
delete
params
.
deleted_at
;
}
var
rtn
=
null
;
if
(
merchant
)
{
...
...
@@ -80,7 +81,6 @@ class MerchantService extends ServiceBase {
async
merchantOfList
(
params
)
{
try
{
var
currentPage
=
Number
(
params
.
currentPage
||
0
);
var
pageSize
=
Number
(
params
.
pageSize
||
10
);
var
where
=
{};
...
...
@@ -89,15 +89,17 @@ class MerchantService extends ServiceBase {
[
this
.
db
.
Op
.
like
]:
"%"
+
params
.
name
+
"%"
};
}
if
(
params
.
beginTime
)
{
params
.
beginTime
=
params
.
beginTime
+
" 00:00:00"
;
}
if
(
params
.
entTime
)
{
params
.
entTime
=
params
.
entTime
+
" 23:59:59"
;
}
this
.
addWhereTime
(
where
,
'created_at'
,
params
.
beginTime
,
params
.
entTime
,
true
);
var
orderby
=
[[
"id"
,
'desc'
]];
var
attributes
=
[
`id`
,
`name`
,
`credit_code`
,
`contact_man`
,
`contact_mobile`
,
`contact_email`
,
`account_name`
,
`audit_status`
];
var
page
=
await
this
.
getPageList
(
currentPage
,
pageSize
,
where
,
orderby
,
attributes
);
// if (page && page.rows) {
// for (var row of page.rows) {
// this.handleDate(row, ["created_at"], null);
// }
// }
return
system
.
getResultSuccess
(
page
);
}
catch
(
e
)
{
console
.
log
(
e
);
...
...
@@ -105,6 +107,19 @@ class MerchantService extends ServiceBase {
}
}
async
merchantOfInfo
(
params
)
{
try
{
if
(
!
params
.
id
)
{
return
system
.
getResultFail
(
-
1
,
"商户ID为空"
);
}
var
merchant
=
await
this
.
dao
.
findById
(
params
.
id
)
||
{};
return
system
.
getResultSuccess
(
merchant
);
}
catch
(
e
)
{
console
.
log
(
e
);
return
system
.
getResultFail
();
}
}
async
auditMerchant
(
params
)
{
try
{
if
(
!
params
.
id
)
{
...
...
esign-sve-merchant/app/base/service/impl/merchant/merchantaccountSve.js
View file @
5907edc1
const
ServiceBase
=
require
(
"../../sve.base"
);
const
system
=
require
(
"../../../system"
);
class
MerchantaccountService
extends
ServiceBase
{
constructor
()
{
...
...
@@ -13,20 +14,45 @@ class MerchantaccountService extends ServiceBase {
}
async
accountbalance
(
params
)
{
async
reduce
accountbalance
(
params
)
{
try
{
if
(
!
params
.
merchant_id
)
{
return
system
.
getResultFail
(
-
1
,
"请提供商户ID"
);
}
if
(
!
params
.
amount
)
{
return
system
.
getResultFail
(
-
1
,
"请提供金额"
);
}
else
if
(
0
>
params
.
amount
)
{
return
system
.
getResultFail
(
-
1
,
"交易金额错误"
);
}
var
data
=
await
this
.
dao
.
addordelmerchantrmb
(
params
);
return
system
.
getResultSuccess
(
data
);
}
catch
(
e
)
{
console
.
log
(
e
);
return
system
.
getResultFail
();
}
}
async
a
ccountusablebalanc
e
(
params
)
{
async
a
ddordelavailabl
e
(
params
)
{
try
{
if
(
!
params
.
merchant_id
)
{
return
system
.
getResultFail
(
-
1
,
"请提供商户ID"
);
}
if
(
!
params
.
amount
)
{
return
system
.
getResultFail
(
-
1
,
"请提供金额"
);
}
if
(
0
>
params
.
amount
)
{
var
amount
=
await
this
.
dao
.
findOne
({
merchant_id
:
params
.
merchant_id
});
let
toam
=
Math
.
abs
(
params
.
amount
);
if
(
0
>
(
amount
.
available_amount
-
toam
))
{
return
system
.
getResultFail
(
-
1
,
"可用余额不足"
);
}
}
var
data
=
await
this
.
dao
.
addordelavailable
(
params
);
return
system
.
getResultSuccess
(
data
);
}
catch
(
e
)
{
console
.
log
(
e
);
return
system
.
getResultFail
();
}
}
...
...
esign-sve-merchant/app/base/service/impl/merchant/merchanttradeSve.js
View file @
5907edc1
...
...
@@ -6,6 +6,7 @@ class MerchanttradeService extends ServiceBase {
constructor
()
{
super
(
"merchant"
,
ServiceBase
.
getDaoName
(
MerchanttradeService
));
this
.
merchantaccountSve
=
system
.
getObject
(
"service.merchant.merchantaccountSve"
);
this
.
merchantDao
=
system
.
getObject
(
"db.merchant.merchantDao"
)
}
async
addMerchanttrades
(
params
)
{
...
...
@@ -35,7 +36,7 @@ class MerchanttradeService extends ServiceBase {
params
.
balance_amount
=
params
.
amount
;
if
(
accountamount
)
{
params
.
available_amount
=
params
.
amount
+
accountamount
.
available_amount
;
params
.
balance_amount
=
params
.
a
vailabl
e_amount
;
params
.
balance_amount
=
params
.
a
mount
+
accountamount
.
balanc
e_amount
;
}
var
rtn
=
await
this
.
dao
.
create
(
params
);
return
system
.
getResultSuccess
(
rtn
);
...
...
@@ -55,17 +56,30 @@ class MerchanttradeService extends ServiceBase {
[
this
.
db
.
Op
.
eq
]:
params
.
merchant_id
};
}
if
(
params
.
trade_data_id
)
{
where
.
trade_data_id
=
{
[
this
.
db
.
Op
.
eq
]:
params
.
trade_data_id
};
}
where
.
trade_type
=
{
[
this
.
db
.
Op
.
eq
]:
1
};
if
(
params
.
beginTime
)
{
params
.
beginTime
=
params
.
beginTime
+
" 00:00:00"
;
}
if
(
params
.
entTime
)
{
params
.
entTime
=
params
.
entTime
+
" 23:59:59"
;
}
this
.
addWhereTime
(
where
,
'created_at'
,
params
.
beginTime
,
params
.
entTime
,
true
);
var
orderby
=
[[
"id"
,
'desc'
]];
var
attributes
=
[
`id`
,
`trade_
time
`
,
`amount`
,
`audit_status`
,
`audit_remark`
];
var
attributes
=
[
`id`
,
`trade_
data_id`
,
`trade_time`
,
`merchant_id
`
,
`amount`
,
`audit_status`
,
`audit_remark`
];
var
page
=
await
this
.
getPageList
(
currentPage
,
pageSize
,
where
,
orderby
,
attributes
);
if
(
page
&&
page
.
rows
)
{
for
(
var
row
of
page
.
rows
)
{
this
.
handleDate
(
row
,
[
"trade_time"
],
null
);
}
await
this
.
setMerchantName
(
page
.
rows
);
}
return
system
.
getResultSuccess
(
page
);
}
catch
(
e
)
{
...
...
@@ -74,6 +88,21 @@ class MerchanttradeService extends ServiceBase {
}
}
async
setMerchantName
(
list
)
{
if
(
!
list
||
list
.
length
==
0
)
{
return
;
}
var
merchantIds
=
[];
for
(
var
item
of
list
)
{
merchantIds
.
push
(
item
.
merchant_id
||
0
);
}
var
merchantMap
=
await
this
.
merchantDao
.
findMapByIds
(
merchantIds
,
" id, name "
);
for
(
var
item
of
list
)
{
item
.
merchant
=
merchantMap
[
item
.
merchant_id
]
||
{};
}
}
async
auditMerchanttrade
(
params
)
{
try
{
...
...
@@ -123,14 +152,18 @@ class MerchanttradeService extends ServiceBase {
[
this
.
db
.
Op
.
eq
]:
params
.
amount_type
};
}
where
.
audit_status
=
{
[
this
.
db
.
Op
.
eq
]:
1
};
this
.
addWhereTime
(
where
,
'created_at'
,
params
.
beginTime
,
params
.
entTime
,
true
);
var
orderby
=
[[
"id"
,
'desc'
]];
var
attributes
=
[];
var
page
=
await
this
.
getPageList
(
currentPage
,
pageSize
,
where
,
orderby
,
attributes
);
if
(
page
&&
page
.
rows
)
{
for
(
var
row
of
page
.
rows
)
{
this
.
handleDate
(
row
,
[
"created_at"
,
"trade_time"
,
"updated_at"
],
null
);
this
.
handleDate
(
row
,
[
"created_at"
,
"trade_time"
,
"updated_at"
],
null
);
}
await
this
.
setMerchantName
(
page
.
rows
);
}
return
system
.
getResultSuccess
(
page
);
}
catch
(
e
)
{
...
...
@@ -139,6 +172,43 @@ class MerchanttradeService extends ServiceBase {
}
}
async
valetorder
(
params
)
{
try
{
if
(
!
params
.
merchant_id
)
{
return
system
.
getResultFail
(
-
1
,
"请提供商户ID"
);
}
if
(
!
params
.
trade_data_id
)
{
return
system
.
getResultFail
(
-
1
,
"请提供流水号"
);
}
if
(
!
params
.
amount
)
{
return
system
.
getResultFail
(
-
1
,
"请提供交易金额"
);
}
else
if
(
0
>
params
.
amount
)
{
return
system
.
getResultFail
(
-
1
,
"交易金额错误"
);
}
if
(
!
params
.
trade_voucher
)
{
return
system
.
getResultFail
(
-
1
,
"请提供业务合同"
);
}
params
.
trade_type
=
2
;
//线下充值
params
.
pay_type
=
1
;
//线下支付
params
.
amount_type
=
2
;
//后入
params
.
amount
=
params
.
amount
*
100
;
var
accountamount
=
await
this
.
merchantaccountSve
.
findOne
({
merchant_id
:
params
.
merchant_id
})
params
.
available_amount
=
params
.
amount
;
params
.
balance_amount
=
params
.
amount
;
if
(
accountamount
)
{
params
.
available_amount
=
params
.
amount
+
accountamount
.
available_amount
;
params
.
balance_amount
=
params
.
amount
+
accountamount
.
balance_amount
;
}
var
rtn
=
await
this
.
dao
.
create
(
params
);
return
system
.
getResultSuccess
(
rtn
);
}
catch
(
e
)
{
console
.
log
(
e
);
return
system
.
getResultFail
();
}
}
}
module
.
exports
=
MerchanttradeService
;
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