Browse Source

一些功能

Kirin 4 năm trước cách đây
mục cha
commit
f68a4a28ad
1 tập tin đã thay đổi với 52 bổ sung1 xóa
  1. 52 1
      app/models/user/UserExtract.php

+ 52 - 1
app/models/user/UserExtract.php

@@ -62,7 +62,58 @@ class UserExtract extends BaseModel
         $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);
+        if($balance < 0) $balance=0;
+        $insertData = [
+            'uid' => $userInfo['uid'],
+            'extract_type' => $data['extract_type'],
+            'extract_price' => $data['money'],
+            'add_time' => time(),
+            'balance' => $balance,
+            'status' => self::AUDIT_STATUS
+        ];
+        if(isset($data['name']) && strlen(trim($data['name']))) $insertData['real_name'] = $data['name'];
+        else $insertData['real_name'] = $userInfo['nickname'];
+        if(isset($data['cardnum'])) $insertData['bank_code'] = $data['cardnum'];
+        else $insertData['bank_code'] = '';
+        if(isset($data['bankname'])) $insertData['bank_address']=$data['bankname'];
+        else $insertData['bank_address']='';
+        if(isset($data['weixin'])) $insertData['wechat'] = $data['weixin'];
+        else $insertData['wechat'] = $userInfo['nickname'];
+        if($data['extract_type'] == 'alipay'){
+            if(!$data['alipay_code']) return self::setErrorInfo('请输入支付宝账号');
+            $insertData['alipay_code'] = $data['alipay_code'];
+            $mark = '使用支付宝提现'.$insertData['extract_price'].'元';
+        }else if($data['extract_type'] == 'bank'){
+            if(!$data['cardnum']) return self::setErrorInfo('请输入银行卡账号');
+            if(!$data['bankname']) return self::setErrorInfo('请输入开户行信息');
+            $mark = '使用银联卡'.$insertData['bank_code'].'提现'.$insertData['extract_price'].'元';
+        }else if($data['extract_type'] == 'weixin'){
+            if(!$data['weixin']) return self::setErrorInfo('请输入微信账号');
+            $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);
+            $res = $res2 && $res3;
+            if($res){
+                self::commitTrans();
+                try{
+                    ChannelService::instance()->send('WITHDRAW', ['id'=>$res1->id]);
+                }catch (\Exception $e){}
+                event('AdminNewPush');
+                //发送模板消息
+                return true;
+            }else return self::setErrorInfo('提现失败!');
+        }catch (\Exception $e){
+            self::rollbackTrans();
+            return self::setErrorInfo('提现失败!');
+        }
     }
 
     /**