hrjy 2 năm trước cách đây
mục cha
commit
9442526006

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

@@ -25,6 +25,7 @@ use app\models\user\UserExtract;
 use app\models\user\UserNotice;
 use crmeb\services\GroupDataService;
 use crmeb\services\UtilService;
+use think\facade\Db;
 
 /**
  * 用户类
@@ -654,4 +655,31 @@ class UserController
             }
         }
     }
+
+
+    public function transfer_account(Request $request)
+    {
+        $param = UtilService::postMore([
+            ['phone', ''],
+            ['price', '']
+        ]);
+        Db::startTrans();
+        $user = User::where('uid', $request->uid())->lock(true)->find();
+        $tr_user = User::where('phone', $param['phone'])->find();
+
+        if (!$tr_user) return app('json')->fail('转账用户不存在');
+        if ($user['brokerage_price'] < $param['price']) return app('json')->fail('佣金余额不足');
+        try {
+            UserBill::expend('佣金', $request->uid(), 'now_money', 'brokerage', $param['price'], 0, $user['brokerage_price']-$param['price'], '佣金转账用户'.$tr_user['phone']);
+            UserBill::expend('佣金', $tr_user['uid'], 'now_money', 'brokerage', $param['price'], 0 , $tr_user['brokerage_price']+$param['price'], '接收用户'.$user['phone'].'转账佣金');
+            User::where('uid', $request->uid())->dec('brokerage_price', $param['price'])->update();
+            User::where('phone', $param['phone'])->inc('brokerage_price', $param['price'])->update();
+            Db::commit();
+            return app('json')->success('转账成功');
+        } catch (\Exception $e) {
+            Db::rollback();
+            return app('json')->fail('转账失败');
+        }
+    }
+
 }

+ 1 - 1
app/models/user/User.php

@@ -527,7 +527,7 @@ class User extends BaseModel
             ->where('o.is_del', 0)->where('o.is_system_del', 0)->alias('o')->fetchSql(true)->select();
         $model = $model->join("(" . $sql . ") p", 'u.uid = p.uid', 'LEFT');
         $model = $model->where('u.uid', 'IN', $uid);
-        $model = $model->field("u.uid,u.nickname,u.avatar,from_unixtime(u.add_time,'%Y/%m/%d') as time,u.spread_count as childCount,u.pay_count as orderCount,p.numberCount");
+        $model = $model->field("u.uid,u.nickname,u.avatar,from_unixtime(u.add_time,'%Y/%m/%d') as time,u.spread_count as childCount,u.pay_count as orderCount,p.numberCount,u.phone");
         if (strlen(trim($keyword))) $model = $model->where('u.nickname|u.phone', 'like', "%$keyword%");
         $model = $model->group('u.uid');
         $model = $model->order($orderBy);

+ 1 - 0
route/api/route.php

@@ -166,6 +166,7 @@ Route::group(function () {
     Route::get('user/level/task/:id', 'user.UserLevelController/task')->name('userLevelTask');//获取等级任务
     //首页获取未支付订单
     Route::get('order/nopay', 'order.StoreOrderController/get_noPay')->name('getNoPay');//获取未支付订单
+    Route::post('user/transfer_account', 'user.UserController/transfer_account')->name('transfer_account');//转账佣金
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {