【程序目录】微信提现到零钱优化,需要后台审核才能打款

This commit is contained in:
evoxwht 2022-04-06 16:22:39 +08:00
parent 13ed8bb200
commit 614d213678

View File

@ -179,15 +179,44 @@ class UserExtractServices extends BaseServices
$order_id = '';
break;
}
$insertData = ['order_id' => $order_id, 'nickname' => $nickname, 'phone' => $phone];
$openid = $wechatServices->getWechatOpenid($userExtract['uid'], 'wechat');
//自动提现到零钱
if ($userExtract['extract_type'] == 'weixin' && sys_config('brokerage_type', 0) && $openid) {
/** @var StoreOrderCreateServices $services */
$services = app()->make(StoreOrderCreateServices::class);
$insertData['order_id'] = $services->getNewOrderId();
// 微信提现
$res = WechatService::merchantPay($openid, $insertData['order_id'], $userExtract['extract_price'], '提现佣金到零钱');
if (!$res) {
throw new ValidateException('企业付款到零钱失败,请稍后再试');
}
// 更新 提现申请记录 wechat_order_id
$this->dao->update($id, ['wechat_order_id' => $insertData['order_id']]);
/** @var UserServices $userService */
$userService = app()->make(UserServices::class);
$user = $userService->getUserInfo($userExtract['uid']);
$insertData['nickname'] = $user['nickname'];
$insertData['phone'] = $user['phone'];
}
/** @var CapitalFlowServices $capitalFlowServices */
$capitalFlowServices = app()->make(CapitalFlowServices::class);
$capitalFlowServices->setFlow([
'order_id' => $order_id,
'order_id' => $insertData['order_id'],
'uid' => $userExtract['uid'],
'price' => bcmul('-1', $extractNumber, 2),
'pay_type' => $userExtract['extract_type'],
'nickname' => $nickname,
'phone' => $phone
'nickname' => $insertData['nickname'],
'phone' => $insertData['phone']
], 'extract');
return true;
}
@ -336,6 +365,7 @@ class UserExtractServices extends BaseServices
$extractBank = str_replace("\r\n", "\n", $extractBank);//防止不兼容
$data['extractBank'] = explode("\n", is_array($extractBank) ? ($extractBank[0] ?? $extractBank) : $extractBank);
$data['minPrice'] = sys_config('user_extract_min_price');//提现最低金额
$data['brokerageType'] = sys_config('brokerage_type', 0);//到账方式
return $data;
}
@ -352,8 +382,10 @@ class UserExtractServices extends BaseServices
if (!$user) {
throw new ValidateException('数据不存在');
}
/** @var UserBillServices $userBill */
$userBill = app()->make(UserBillServices::class);
if ($data['extract_type'] == 'weixin' && !sys_config('brokerage_type', 0) && !$data['weixin']) {
throw new ValidateException('请输入微信账号');
}
/** @var UserBrokerageServices $services */
$services = app()->make(UserBrokerageServices::class);
@ -412,16 +444,12 @@ class UserExtractServices extends BaseServices
$wechatServices = app()->make(WechatUserServices::class);
$openid = $wechatServices->getWechatOpenid($uid, 'wechat');
if (sys_config('brokerage_type', 0) && $openid) {
$insertData['status'] = 1;
/** @var StoreOrderCreateServices $services */
$services = app()->make(StoreOrderCreateServices::class);
$insertData['wechat_order_id'] = $services->getNewOrderId();
if ($data['money'] < 1) {
throw new ValidateException('企业微信付款到零钱最低金额为1元');
}
}
}
$res1 = $this->transaction(function () use ($insertData, $data, $uid, $userService, $user, $mark, $openid) {
$res1 = $this->transaction(function () use ($insertData, $data, $uid, $userService, $user, $mark) {
if (!$res1 = $this->dao->save($insertData)) {
throw new ValidateException('提现失败');
}