zxhxx 3 anos atrás
pai
commit
f4c1398af3

+ 3 - 0
app/admin/view/finance/user_extract/index.php

@@ -36,6 +36,7 @@
                                 <option value="alipay" {eq name="where.extract_type" value="alipay" }selected="selected"{/eq}>支付宝</option>
                                 <option value="bank" {eq name="where.extract_type" value="bank"}selected="selected"{/eq}>银行卡</option>
                                 <option value="weixin" {eq name="where.extract_type" value="weixin"}selected="selected"{/eq}>微信</option>
+                                <option value="car" {eq name="where.extract_type" value="car"}selected="selected"{/eq}>提车</option>
                             </select>
                             <div class="input-group">
                                   <span class="input-group-btn">
@@ -126,6 +127,8 @@
                                 {elseif condition="$vo['extract_type'] eq 'weixin'"/}
                                 昵称:{$vo.nickname}<br>
                                 微信号:{$vo.wechat}
+                                {elseif condition="$vo['extract_type'] eq 'car'"/}
+                                提车
                                 {else/}
                                 姓名:{$vo.real_name}<br>
                                   支付宝号:{$vo.alipay_code}

+ 30 - 0
app/api/controller/AuthController.php

@@ -357,4 +357,34 @@ class AuthController
         else
             return app('json')->fail('绑定失败');
     }
+    /**
+     * 设置或修改密码
+     * @param Request $request
+     * @return mixed
+     */
+    public function transaction(Request $request)
+    {
+        list($oldpass,$pass) = UtilService::postMore([
+            ['oldpass',''],
+            ['pass',''],
+        ],$request,true);
+        $user = User::where('uid',$request->uid())->find();
+        if(empty($user['transaction']) ||  empty($user['salt']))
+        {
+            if(strlen($pass)!=6) return app('json')->fail('交易密码为6位数字');
+            $data['salt'] = substr(uniqid(),0,6);
+            $data['transaction'] = md5(md5($data['salt'].$pass).$data['salt']);
+            User::edit($data,$request->uid());
+            return app('json')->success('设置成功');
+        }
+        else
+        {
+            if(strlen($oldpass)!=6 || strlen($pass)!=6) return app('json')->fail('原交易密码和新交易密码都是6位数字');
+            $data['salt'] = $user['salt'];
+            if(md5(md5($data['salt'].$oldpass).$data['salt'])!=$user['transaction']) return app('json')->fail('原交易密码错误');
+            $data['transaction'] = md5(md5($data['salt'].$pass).$data['salt']);
+            User::edit($data,$request->uid());
+            return app('json')->success('修改成功');
+        }
+    }
 }

+ 5 - 0
app/api/controller/JuniuController.php

@@ -37,6 +37,11 @@ class JuniuController
         return app('json')->success('获取成功',json_decode($rs,true));
     }
 
+    /**
+     * 获取物流信息
+     * @param Request $request
+     * @return mixed
+     */
     public function getexpress(Request $request)
     {
         $sn = input('sn',0);

+ 4 - 0
app/api/controller/user/UserController.php

@@ -689,5 +689,9 @@ class UserController
             return app('json')->successful([]);
 
     }
+    public function nickname(Request $request)
+    {
+        return app('json')->successful(User::where('uid',input('uid',0))->value('nickname'));
+    }
 
 }

+ 83 - 0
app/api/controller/user/UserExtractController.php

@@ -4,8 +4,10 @@ namespace app\api\controller\user;
 
 use app\admin\model\system\SystemConfig;
 use app\models\store\StoreOrder;
+use app\models\user\User;
 use app\models\user\UserBill;
 use app\models\user\UserExtract;
+use app\models\user\UserTransfer;
 use app\Request;
 use crmeb\services\UtilService;
 
@@ -101,4 +103,85 @@ class UserExtractController
         else
             return app('json')->fail(UserExtract::getErrorInfo('提现失败'));
     }
+    /**
+     * 余额转账
+     * @param Request $request
+     */
+    public function transfer(Request $request)
+    {
+        list($to_uid,$pass,$merber,$type) = UtilService::postMore([
+            ['to_uid',''],
+            ['pass',''],
+            ['merber',0],
+            ['type',0],
+        ],$request,true);
+        if(!User::be(['uid'=>$to_uid])) return app('json')->fail('用户不存在');
+        if(strlen($pass)!=6) return app('json')->fail('交易密码只能输入6位数字');
+        $user = $request->user();
+        $money = $user['now_money'];$in = "转出余额";$out = "转入余额";$field="now_money";
+        if($type==1)
+        {
+            $money = $user['consume'];
+            $in = "转入钻石";$out = "转出钻石";
+            $field = "consume";
+        }
+        if(md5(md5($user['salt'].$pass).$user['salt'])!=$user['transaction'])return app('json')->fail('交易密码错误');
+        if(bcsub($money,$merber,2)>=0)
+        {
+            $user = User::where('uid',$request->uid())->lock(true)->find();
+            User::where('uid',$request->uid())->dec($field,$merber)->update();
+            $touser =  User::where('uid',$to_uid)->find();
+            User::where('uid',$to_uid)->inc($field,$merber)->update();
+            $data['uid'] = $request->uid();
+            $data['touid'] = $touser['uid'];
+            $data['money'] = $merber;
+            $data['order_id'] = UserTransfer::getNewOrderId();
+            $data['add_time'] = time();
+            $data['type'] = $type;
+            $data['paid'] =1;
+            UserTransfer::create($data);
+            UserBill::expend($out,$request->uid(),'now_money','transfer_out',$merber,0,bcsub($user['now_money'],$merber,2),'转给'.$touser['nickname']."用户",1);
+            UserBill::income($in,$touser['uid'],'now_money','transfer_in',$merber,0,bcadd($touser['now_money'],$merber,2),'收到用户'.$user['uid'].'转账号');
+            return app('json')->successful('转账成功!');
+        }
+        else
+        {
+            return app('json')->fail($out.'不足');
+        }
+    }
+
+    /**
+     * 转账记录
+     * @param Request $request
+     */
+    public function transfer_list(Request $request)
+    {
+        list($page,$limit,$pm,$type) = UtilService::postMore([
+            ['page',1],
+            ['limit',20],
+            ['pm',0],
+            ['type',0]
+        ],$request,true);
+        if($pm==0)
+        {
+            $count = UserTransfer::where('uid',$request->uid())->where('type',$type)->count();
+            $data =  UserTransfer::where('uid',$request->uid())->where('type',$type)->page($page,$limit)->order("id desc")->select();
+            foreach ($data as &$v)
+            {
+                $v['to_user'] = User::where('uid',$v['touid'])->value('nickname');
+                $v['_add_time'] = date("Y-m-d H:i:s",$v['add_time']);
+            }
+        }
+        else
+        {
+            $count = UserTransfer::where('touid',$request->uid())->where('type',$type)->count();
+            $data =  UserTransfer::where('touid',$request->uid())->where('type',$type)->page($page,$limit)->order("id desc")->select();
+            foreach ($data as &$v)
+            {
+                $v['to_user'] = User::where('uid',$v['uid'])->value('nickname');
+                $v['_add_time'] = date("Y-m-d H:i:s",$v['add_time']);
+            }
+        }
+        return app('json')->successful(compact('count','data'));
+    }
 }

+ 15 - 4
app/models/user/UserExtract.php

@@ -40,9 +40,9 @@ class UserExtract extends BaseModel
     //已提现
     const SUCCESS_STATUS = 1;
 
-    protected static $extractType = ['alipay','bank','weixin'];
+    protected static $extractType = ['alipay','bank','weixin','car'];
 
-    protected static $extractTypeMsg = ['alipay'=>'支付宝','bank'=>'银行卡','weixin'=>'微信'];
+    protected static $extractTypeMsg = ['alipay'=>'支付宝','bank'=>'银行卡','weixin'=>'微信','car'=>'提车'];
 
     protected static $status = array(
         -1=>'未通过',
@@ -65,8 +65,16 @@ class UserExtract extends BaseModel
         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);
-        $commission = bcmul($data['money'],bcdiv(sys_config('commission',10),100,3),2);
-        $integral = bcmul($data['money'],bcdiv(sys_config('integral',20),100,3),2);
+        if($data['extract_type']=='car')
+        {
+            if($data['money']!=20000) return self::setErrorInfo('提车金额必须20000');
+            $commission = 0;
+            $integral =0;
+        }
+        else {
+            $commission = bcmul($data['money'], bcdiv(sys_config('commission', 10), 100, 3), 2);
+            $integral = bcmul($data['money'], bcdiv(sys_config('integral', 20), 100, 3), 2);
+        }
         if($balance < 0) $balance=0;
         $insertData = [
             'uid' => $userInfo['uid'],
@@ -99,6 +107,9 @@ class UserExtract extends BaseModel
             if(!$data['weixin']) return self::setErrorInfo('请输入微信账号');
             $mark = '使用微信提现'.$insertData['extract_price'].'元';
         }
+        else if($data['extract_type'] == 'car'){
+            $mark = '提车'.$insertData['extract_price'].'元';
+        }
         self::beginTrans();
         try{
             $res1 = self::create($insertData);

+ 7 - 2
app/models/user/UserRecharge.php

@@ -154,7 +154,10 @@ class UserRecharge extends BaseModel
                 $broken_commission = 0;
             $commissionCount = bcsub($user['brokerage_price'], $broken_commission, 2);
             if ($price > $commissionCount) return self::setErrorInfo('转入金额不能大于可提现佣金!');
-            $res1 = User::bcInc($uid, 'now_money', $price, 'uid');
+            $commission = bcmul($price,bcdiv(sys_config('commission',10),100,3),2);
+            $integral = bcmul($price,bcdiv(sys_config('integral',20),100,3),2);
+            $res1 = User::bcInc($uid, 'now_money', bcsub($price,bcadd($commission,$integral,2),2), 'uid');
+            $res1 = User::bcInc($uid, 'integral', $integral, 'uid');
             $res3 = User::bcDec($uid, 'brokerage_price', $price, 'uid');
             $res2 = UserBill::expend('用户佣金转入余额', $uid, 'now_money', 'recharge', $price, 0, $user['now_money'], '成功转入余额' . floatval($price) . '元');
             $extractInfo = [
@@ -164,7 +167,9 @@ class UserRecharge extends BaseModel
                 'extract_price' => $price,
                 'balance' => bcsub($user['brokerage_price'], $price, 2),
                 'add_time' => time(),
-                'status' => 1
+                'status' => 1,
+                'commission'=>$commission,
+                'integral'=>$integral,
             ];
             $res4 = UserExtract::create($extractInfo);
             $res = $res2 && $res1 && $res3;

+ 5 - 0
route/api/route.php

@@ -53,6 +53,11 @@ Route::group(function () {
     Route::get('logout', 'AuthController/logout')->name('logout');// 退出登录
     Route::post('switch_h5', 'AuthController/switch_h5')->name('switch_h5');// 切换账号
     Route::post('binding', 'AuthController/binding_phone')->name('bindingPhone');// 绑定手机号
+
+    Route::post('transaction', 'AuthController/transaction')->name('transaction');// 设置或修改交易密码
+    Route::post('transfer', 'user.UserExtractController/transfer')->name('transfer');// 积分转账
+    Route::post('transfer_list', 'user.UserExtractController/transfer_list')->name('transfer_list');// 转账记录
+    Route::get('nickname', 'user.UserController/nickname')->name('nickname'); //获取昵称
     //产品类
     Route::get('product/code/:id', 'store.StoreProductController/code')->name('productCode');//产品分享二维码 推广员