|
|
@@ -20,6 +20,7 @@ use app\services\wechat\WechatUserServices;
|
|
|
use crmeb\exceptions\AdminException;
|
|
|
use crmeb\services\wechat\Payment;
|
|
|
use crmeb\services\FormBuilder as Form;
|
|
|
+use crmeb\services\WithdrawService;
|
|
|
use crmeb\traits\ServicesTrait;
|
|
|
use think\exception\ValidateException;
|
|
|
use think\facade\Route as Url;
|
|
|
@@ -127,9 +128,9 @@ class UserExtractServices extends BaseServices
|
|
|
/** @var UserServices $userServices */
|
|
|
$userServices = app()->make(UserServices::class);
|
|
|
$user = $userServices->getUserInfo($uid);
|
|
|
- if (!$user) {
|
|
|
- throw new ValidateException('用户不存在');
|
|
|
- }
|
|
|
+ if (!$user) {
|
|
|
+ throw new ValidateException('用户不存在');
|
|
|
+ }
|
|
|
/** @var UserBrokerageServices $userBrokerageServices */
|
|
|
$userBrokerageServices = app()->make(UserBrokerageServices::class);
|
|
|
$this->transaction(function () use ($user, $userBrokerageServices, $uid, $id, $extract_number, $message, $userServices, $status, $fail_time) {
|
|
|
@@ -163,31 +164,31 @@ class UserExtractServices extends BaseServices
|
|
|
if (!$this->dao->update($id, ['status' => 1])) {
|
|
|
throw new AdminException('修改失败');
|
|
|
}
|
|
|
- //配置开启自动到零钱
|
|
|
+ //配置开启自动到零钱
|
|
|
if (sys_config('brokerage_type', 0)) {
|
|
|
/** @var WechatUserServices $wechatServices */
|
|
|
$wechatServices = app()->make(WechatUserServices::class);
|
|
|
$openid = $wechatServices->getWechatOpenid((int)$userExtract['uid'], 'wechat');
|
|
|
if ($openid) {//公众号用户
|
|
|
- $type = Payment::WEB;
|
|
|
- } else {//小程序用户
|
|
|
- $openid = $wechatServices->getWechatOpenid((int)$userExtract['uid'], 'routine');
|
|
|
- $type = Payment::MINI;
|
|
|
- }
|
|
|
- //app微信用户
|
|
|
- if (!$openid) {
|
|
|
- $openid = $wechatServices->getWechatOpenid((int)$userExtract['uid'], 'app');
|
|
|
- $type = Payment::APP;
|
|
|
- }
|
|
|
- if ($openid) {
|
|
|
- /** @var StoreOrderCreateServices $services */
|
|
|
+ $type = Payment::WEB;
|
|
|
+ } else {//小程序用户
|
|
|
+ $openid = $wechatServices->getWechatOpenid((int)$userExtract['uid'], 'routine');
|
|
|
+ $type = Payment::MINI;
|
|
|
+ }
|
|
|
+ //app微信用户
|
|
|
+ if (!$openid) {
|
|
|
+ $openid = $wechatServices->getWechatOpenid((int)$userExtract['uid'], 'app');
|
|
|
+ $type = Payment::APP;
|
|
|
+ }
|
|
|
+ if ($openid) {
|
|
|
+ /** @var StoreOrderCreateServices $services */
|
|
|
$services = app()->make(StoreOrderCreateServices::class);
|
|
|
$wechat_order_id = $services->getNewOrderId();
|
|
|
$res = Payment::merchantPay($openid, $wechat_order_id, $extractNumber, '提现佣金到零钱', $type);
|
|
|
if (!$res) {
|
|
|
throw new ValidateException('企业付款到零钱失败,请稍后再试');
|
|
|
}
|
|
|
- } else {
|
|
|
+ } else {
|
|
|
throw new ValidateException('该用户暂不支持企业付款到零钱,请手动转账');
|
|
|
}
|
|
|
}
|
|
|
@@ -382,6 +383,12 @@ class UserExtractServices extends BaseServices
|
|
|
if (!$user) {
|
|
|
throw new ValidateException('数据不存在');
|
|
|
}
|
|
|
+ $bank_info = WithdrawService::init()::contractInfo($user['enterprise_professional_facilitator_id']);
|
|
|
+ if (!$bank_info['is_contract']) {
|
|
|
+ throw new ValidateException('签约未完成');
|
|
|
+ }
|
|
|
+ $data['cardnum'] = $bank_info['bank_code'];
|
|
|
+ $data['bankname'] = '灵活用工提现';
|
|
|
/** @var UserBrokerageServices $userBrokerageServices */
|
|
|
$userBrokerageServices = app()->make(UserBrokerageServices::class);
|
|
|
$data['broken_commission'] = $userBrokerageServices->getUserFrozenPrice($uid);
|