切换导航条
此项目
正在载入...
登录
李忠强
/
temporaryfood
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
何书鹏
3 years ago
提交
7c5f9038e63b6a193953918dbb59bde27cdaabb7
1 个父辈
dc317042
提现到账
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
52 行增加
和
9 行删除
application/api/controller/Rider.php
application/api/controller/Rider.php
查看文件 @
7c5f903
...
...
@@ -4,12 +4,18 @@
namespace
app\api\controller
;
use
addons\epay\library\Service
;
use
app\api\model\GoodsComment
;
use
app\api\model\RiderOrder
;
use
app\api\model\Third
;
use
app\api\model\UserMoneyLog
;
use
app\api\model\Withdraw
;
use
app\common\controller\Api
;
use
app\common\model\User
;
use
think\Config
;
use
think\Db
;
use
think\Exception
;
use
think\exception\PDOException
;
/**
* 骑手
...
...
@@ -356,15 +362,52 @@ class Rider extends Api
$money
=
$this
->
request
->
post
(
'money'
);
$user
=
$this
->
auth
->
getUser
();
if
(
$user
[
'money'
]
<
$money
)
$this
->
error
(
'可提现金额不足'
);
$data
=
[
'user_id'
=>
$this
->
auth
->
id
,
'money'
=>
-
$money
,
'before'
=>
$user
->
money
,
'after'
=>
$user
->
money
-
$money
,
'memo'
=>
'提现'
];
UserMoneyLog
::
create
(
$data
);
$user
->
setDec
(
'money'
,
$money
);
// 禁止连点
!
empty
(
cache
(
'withdraw_'
.
$user
[
'id'
]))
&&
$this
->
error
(
'提现频繁,请稍后再试'
);
cache
(
'withdraw_'
.
$user
[
'id'
],
'123'
,
5
);
Db
::
startTrans
();
try
{
$money
=
0.01
;
$order_sn
=
date
(
'Ymd'
)
.
substr
(
implode
(
NULL
,
array_map
(
'ord'
,
str_split
(
substr
(
uniqid
(),
7
,
13
),
1
))),
0
,
8
);
$withdraw
=
Withdraw
::
create
([
'user_id'
=>
$user
[
'id'
],
'order_sn'
=>
$order_sn
,
'money'
=>
$money
,
]);
// 变更会员余额
User
::
money
(
-
$money
,
$user
[
'id'
],
'提现'
);
$config
=
Service
::
getConfig
(
'wechat'
);
$config
[
'app_id'
]
=
$config
[
'miniapp_id'
];
$app
=
Factory
::
payment
(
$config
);
$result
=
$app
->
transfer
->
toBalance
([
'partner_trade_no'
=>
$order_sn
,
// 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
'openid'
=>
Third
::
where
(
'user_id'
,
$this
->
auth
->
id
)
->
value
(
'openid'
),
'check_name'
=>
'NO_CHECK'
,
// NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名
// 're_user_name' => '王小帅', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
'amount'
=>
$money
*
100
,
// 企业付款金额,单位为分
'desc'
=>
'骑手提现'
,
// 企业付款操作说明信息。必填
]);
\think\Log
::
write
(
'企业付款到返回数据:'
.
json_encode
(
$result
,
JSON_UNESCAPED_UNICODE
));
if
(
$result
[
'result_code'
]
!=
'SUCCESS'
){
$this
->
error
(
$result
[
'err_code_des'
]);
}
// 记录企业付款单号
$withdraw
->
payment_no
=
$result
[
'payment_no'
];
$withdraw
->
payment_time
=
$result
[
'payment_time'
];
$withdraw
->
status
=
'1'
;
$withdraw
->
save
();
Db
::
commit
();
}
catch
(
PDOException
$e
)
{
Db
::
rollback
();
$this
->
error
(
$e
->
getMessage
());
}
catch
(
Exception
$e
)
{
Db
::
rollback
();
$this
->
error
(
$e
->
getMessage
());
}
$this
->
success
(
'提现成功'
);
}
...
...
请
注册
或
登录
后发表评论