zxhxx 3 年之前
父节点
当前提交
4699a4a51f

+ 37 - 15
app/admin/view/finance/user_extract/index.php

@@ -31,6 +31,11 @@
                                 <option value="0" {eq name="where.status" value="0"}selected="selected"{/eq}>未提现</option>
                                 <option value="1" {eq name="where.status" value="1"}selected="selected"{/eq}>已通过</option>
                             </select>
+                            <select name="balance_type" aria-controls="editable" class="form-control input-sm">
+                                <option value="-1">提现类型</option>
+                                <option value="0" {eq name="where.balance_type" value="0"}selected="selected"{/eq}>佣金</option>
+                                <option value="1" {eq name="where.balance_type" value="1"}selected="selected"{/eq}>余额</option>
+                            </select>
                             <select name="extract_type"  class="form-control input-sm">
                                 <option value="">提现方式</option>
                                 <option value="alipay" {eq name="where.extract_type" value="alipay" }selected="selected"{/eq}>支付宝</option>
@@ -93,16 +98,17 @@
                 <div class="table-responsive">
                     <table class="table table-striped  table-bordered">
                         <thead>
-                            <tr>
-                                <th class="text-center">编号</th>
-                                <th class="text-center">用户信息</th>
-                                <th class="text-center">提现金额</th>
-                                <th class="text-center">提现方式</th>
-                                <th class="text-center">添加时间</th>
-                                <th class="text-center">备注</th>
-                                <th class="text-center">审核状态</th>
-                                <th class="text-center">操作</th>
-                            </tr>
+                        <tr>
+                            <th class="text-center">编号</th>
+                            <th class="text-center">用户信息</th>
+                            <th class="text-center">提现金额</th>
+                            <th class="text-center">提现方式</th>
+                            <th class="text-center">添加时间</th>
+                            <th class="text-center">备注</th>
+                            <th class="text-center">审核状态</th>
+                            <th class="text-center">提现类型</th>
+                            <th class="text-center">操作</th>
+                        </tr>
                         </thead>
                         <tbody class="">
                         {volist name="list" id="vo"}
@@ -111,23 +117,28 @@
                                 {$vo.id}
                             </td>
                             <td class="text-center">
-                               用户昵称: {$vo.nickname}/用户id:{$vo.uid}
+                                用户昵称: {$vo.nickname}/用户id:{$vo.uid}
                             </td>
                             <td class="text-center" style="color: #00aa00;">
-                                {$vo.extract_price}
+                                提现:{$vo.extract_price}
+                                到账: {$vo.extract_price-$vo.commission}
+                                手续费:{$vo.commission}
                             </td>
                             <td class="text-left">
                                 {if condition="$vo['extract_type'] eq 'bank'"}
                                 姓名:{$vo.real_name}<br>
-                                 银行卡号:{$vo.bank_code}
+                                支行:{$vo.subbranch}<br>
+                                银行卡号:{$vo.bank_code}
                                 <br/>
-                                 银行名称:{$vo.bank_address}
+                                银行名称:{$vo.bank_address}
                                 {elseif condition="$vo['extract_type'] eq 'weixin'"/}
                                 昵称:{$vo.nickname}<br>
                                 微信号:{$vo.wechat}
+                                {elseif condition="$vo['extract_type'] eq 'yz'"/}
+                                手机号:{$vo.name}
                                 {else/}
                                 姓名:{$vo.real_name}<br>
-                                  支付宝号:{$vo.alipay_code}
+                                支付宝号:{$vo.alipay_code}
                                 {/if}
                             </td>
                             <td class="text-center">
@@ -136,6 +147,17 @@
                             <td class="text-center">
                                 {$vo.mark}
                             </td>
+                            <td>
+                                {switch name="vo.balance_type"}
+                                {case value="0"}
+                                佣金
+                                {/case}
+                                {case value="1"}
+                                余额
+                                {/case}
+
+                                {/switch}
+                            </td>
                             <td class="text-center">
                                 {if condition="$vo['status'] eq 1"}
                                 提现通过<br/>

+ 2 - 1
app/api/controller/user/UserExtractController.php

@@ -93,9 +93,10 @@ class UserExtractController
         //可提现佣金
         $commissionCount = $data['brokerage_price'] - $data['broken_commission'];
         if ($extractInfo['money'] > $commissionCount) return app('json')->fail('可提现佣金不足');
+        /*
         if (!$extractInfo['cardnum'] == '')
             if (!preg_match('/^([1-9]{1})(\d{14}|\d{18})$/', $extractInfo['cardnum']))
-                return app('json')->fail('银行卡号输入有误');
+                return app('json')->fail('银行卡号输入有误');*/
         if (UserExtract::userExtract($request->user(), $extractInfo))
             return app('json')->successful('申请提现成功!');
         else

+ 31 - 8
app/models/user/UserExtract.php

@@ -60,19 +60,36 @@ class UserExtract extends BaseModel
         if(!in_array($data['extract_type'],self::$extractType))
             return self::setErrorInfo('提现方式不存在');
         $userInfo = User::get($userInfo['uid']);
-        $extractPrice = $userInfo['brokerage_price'];
-        if($extractPrice < 0) return self::setErrorInfo('提现佣金不足'.$data['money']);
-        if($data['money'] > $extractPrice) return self::setErrorInfo('提现佣金不足'.$data['money']);
-        if($data['money'] <= 0) return self::setErrorInfo('提现佣金大于0');
-        $balance = bcsub($userInfo['brokerage_price'],$data['money'],2);
+        switch(intval($data['balance_type']))
+        {
+            case 0:
+                if($data['money'] <= 0) return self::setErrorInfo('提现佣金大于0');
+                $extractPrice = $userInfo['brokerage_price'];
+                if($extractPrice < 0 || $data['money'] > $extractPrice ) return  self::setErrorInfo('提现佣金不足'.$data['money']);
+                $field = "brokerage_price";
+                $title = "佣金提现";
+                break;
+            case 1:
+                if($data['money'] <= 0) return self::setErrorInfo('提现余额大于0');
+                $extractPrice = $userInfo['now_money'];
+                if($extractPrice < 0 || $data['money'] > $extractPrice ) return  self::setErrorInfo('提现余额不足'.$data['money']);
+                $field = "now_money";
+                $title = "余额提现";
+                break;
+        }
+        $balance = bcsub($userInfo[$field],$data['money'],2);
         if($balance < 0) $balance=0;
+        $commission = sys_config('commission');
         $insertData = [
             'uid' => $userInfo['uid'],
             'extract_type' => $data['extract_type'],
             'extract_price' => $data['money'],
             'add_time' => time(),
             'balance' => $balance,
-            'status' => self::AUDIT_STATUS
+            'status' => self::AUDIT_STATUS,
+            'commission' => $commission,
+            'balance_type'=>$data['balance_type'],
+            'name' => $data['name'],
         ];
         if(isset($data['name']) && strlen(trim($data['name']))) $insertData['real_name'] = $data['name'];
         else $insertData['real_name'] = $userInfo['nickname'];
@@ -94,13 +111,18 @@ class UserExtract extends BaseModel
             if(!$data['weixin']) return self::setErrorInfo('请输入微信账号');
             $mark = '使用微信提现'.$insertData['extract_price'].'元';
         }
+        elseif($data['extract_type'] == 'yz')
+        {
+            $mark = '使用悦赚提现'.$insertData['extract_price'].'元';
+        }
         self::beginTrans();
         try{
             $res1 = self::create($insertData);
             if(!$res1) return self::setErrorInfo('提现失败');
-            $res2 = User::edit(['brokerage_price'=>$balance],$userInfo['uid'],'uid');
-            $res3 = UserBill::expend('余额提现',$userInfo['uid'],'now_money','extract',$data['money'],$res1['id'],$balance,$mark);
+            $res2 = User::edit([$field => $balance], $userInfo['uid'], 'uid');
+            $res3 = UserBill::expend($title, $userInfo['uid'], 'now_money', 'extract', $data['money'], $res1['id'], $balance, $mark);
             $res = $res2 && $res3;
+
             if($res){
                 self::commitTrans();
                 try{
@@ -111,6 +133,7 @@ class UserExtract extends BaseModel
                 return true;
             }else return self::setErrorInfo('提现失败!');
         }catch (\Exception $e){
+
             self::rollbackTrans();
             return self::setErrorInfo('提现失败!');
         }