|
|
|
@ -3,6 +3,7 @@ |
|
|
|
namespace App\Admin\Controllers; |
|
|
|
|
|
|
|
use App\Admin\Repositories\LanzuMmWithdraw; |
|
|
|
use App\Models\ImsCjdcUser; |
|
|
|
use App\Models\LanzuMmWithdraw as MmWithdraw; |
|
|
|
use App\Models\LanzuMmInfo; |
|
|
|
|
|
|
|
@ -14,6 +15,7 @@ use Dcat\Admin\Grid; |
|
|
|
use Dcat\Admin\Show; |
|
|
|
use Dcat\Admin\Controllers\AdminController; |
|
|
|
use Dcat\Admin\Admin; |
|
|
|
use EasyWeChat\Factory; |
|
|
|
|
|
|
|
class LanzuMmWithdrawController extends AdminController |
|
|
|
{ |
|
|
|
@ -23,8 +25,8 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
*/ |
|
|
|
protected function grid() |
|
|
|
{ |
|
|
|
$user = Admin::user(); |
|
|
|
$buider = new LanzuMmWithdraw(); |
|
|
|
$user = Admin::user(); |
|
|
|
$buider = new LanzuMmWithdraw(); |
|
|
|
//服务商只能看到自己的市场经理提现
|
|
|
|
$mp_info = mpInfo::where('admin_user_id', $user->id)->first(); |
|
|
|
if ($mp_info) { |
|
|
|
@ -39,12 +41,12 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
|
|
|
|
//市场经理只能看到自己的提现
|
|
|
|
$mm_id = LanzuMmInfo::where('admin_user_id', $user->id)->pluck('id')->first(); |
|
|
|
if ($mm_id){ |
|
|
|
$buider = MmWithdraw::where('mm_id',$mm_id); |
|
|
|
if ($mm_id) { |
|
|
|
$buider = MmWithdraw::where('mm_id', $mm_id); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
return Grid::make($buider, function (Grid $grid) use ($mp_info,$mm_id) { |
|
|
|
return Grid::make($buider, function (Grid $grid) use ($mp_info, $mm_id) { |
|
|
|
|
|
|
|
$grid->actions(function (Grid\Displayers\Actions $actions) use ($grid) { |
|
|
|
if ($actions->row->status != 0) { |
|
|
|
@ -72,7 +74,7 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
$filter->equal('id'); |
|
|
|
|
|
|
|
}); |
|
|
|
if ($mm_id){ |
|
|
|
if ($mm_id) { |
|
|
|
//如果是市场经理登陆,禁用编辑操作
|
|
|
|
$grid->disableEditButton(); |
|
|
|
$grid->disableDeleteButton(); |
|
|
|
@ -106,15 +108,20 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
*/ |
|
|
|
protected function form() |
|
|
|
{ |
|
|
|
|
|
|
|
$current_user = Admin::user(); |
|
|
|
$mmId = $this->getMmId(Admin::user()->id); |
|
|
|
return Form::make(new LanzuMmWithdraw(), function (Form $form) use ($mmId,$current_user) { |
|
|
|
$current_user = Admin::user(); |
|
|
|
$mmId = $this->getMmId(Admin::user()->id); |
|
|
|
return Form::make(new LanzuMmWithdraw(), function (Form $form) use ($mmId, $current_user) { |
|
|
|
$form->display('id'); |
|
|
|
$form->hidden('mm_id')->value($mmId); |
|
|
|
$form->display('可提现金额')->value($this->getBalance(Admin::user()->id)); |
|
|
|
$form->display('提现人')->value(Admin::user()->name); |
|
|
|
if ($mmId){//市场经理登陆时
|
|
|
|
$form->hidden('mm_id')->value($mmId); |
|
|
|
$form->display('可提现金额')->value($this->getBalance($current_user->id)); |
|
|
|
$form->display('提现人')->value(LanzuMmInfo::find($mmId)->name); |
|
|
|
}else{//非市场经理登陆时
|
|
|
|
$form->display('提现人')->value(LanzuMmInfo::find($form->model()->mm_id)->name); |
|
|
|
} |
|
|
|
|
|
|
|
if ($form->isEditing()) {//判断是否是编辑请求,如果是编辑请求,判断状态是否被编辑过.
|
|
|
|
$mmId = $form->model()->mm_id; |
|
|
|
$form->display('money'); |
|
|
|
if ($form->model()->status != 0) {//如果提现状态已变更过,则不允许再编辑状态
|
|
|
|
$form->radio('status', '状态') |
|
|
|
@ -126,12 +133,21 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
|
|
|
|
} |
|
|
|
$form->saved(function (Form $form) use ($mmId) { |
|
|
|
$mm = LanzuMmInfo::find($mmId); |
|
|
|
if ($form->status == -1) { |
|
|
|
//如果提现申请被拒绝,返回提现金额
|
|
|
|
$mm = LanzuMmInfo::find($mmId); |
|
|
|
MpBalance::returnBalance($mm->user_id, 0, $form->model()->money); |
|
|
|
} elseif ($form->status == 1) { |
|
|
|
//调用微信企业付
|
|
|
|
$data = []; |
|
|
|
$user = ImsCjdcUser::find($mm->user_id); |
|
|
|
$data['openid'] = $user->openid; |
|
|
|
$data['amount'] = $form->model()->money*100; |
|
|
|
$data['partner_trade_no'] = $form->model()->id; |
|
|
|
$data['re_user_name'] = $mm->name; |
|
|
|
$data['desc'] = $mm->name; |
|
|
|
$res = $this->transfers($data); |
|
|
|
dd($res); |
|
|
|
} |
|
|
|
}); |
|
|
|
} else { |
|
|
|
@ -144,9 +160,9 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
if ($current_user->isRole('lanzu_mm')){ |
|
|
|
$form->text('money')->required(); |
|
|
|
}else{ |
|
|
|
if ($current_user->isRole('lanzu_mm')) { |
|
|
|
$form->number('money')->required()->min(env('MIN_MONEY'))->max(env('MAX_MONEY')); |
|
|
|
} else { |
|
|
|
$form->text('money')->required()->disable(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -197,9 +213,31 @@ class LanzuMmWithdrawController extends AdminController |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 市场经理提现 |
|
|
|
* @throws \EasyWeChat\Kernel\Exceptions\InvalidArgumentException |
|
|
|
* @throws \EasyWeChat\Kernel\Exceptions\InvalidConfigException |
|
|
|
* @throws \GuzzleHttp\Exception\GuzzleException |
|
|
|
*/ |
|
|
|
public function transfers($data = []) |
|
|
|
{ |
|
|
|
$app = Factory::payment(config('wechat.payment.default')); |
|
|
|
$res = $app->transfer->toBalance([ |
|
|
|
'partner_trade_no' => $data['partner_trade_no'], // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
|
|
|
|
'openid' => $data['openid'], |
|
|
|
'check_name' => 'NO_CHECK', // NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名
|
|
|
|
're_user_name' => $data['re_user_name'], // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
|
|
|
|
'amount' => $data['amount'], // 企业付款金额,单位为分
|
|
|
|
'desc' => $data['desc'], // 企业付款操作说明信息。必填
|
|
|
|
]); |
|
|
|
return $res; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public function mmInfoList() |
|
|
|
{ |
|
|
|
echo 11; |
|
|
|
echo 11; |
|
|
|
} |
|
|
|
|
|
|
|
} |