hrjy há 2 anos atrás
pai
commit
63311f30e8

+ 35 - 0
app/api/controller/user/UserBillController.php

@@ -358,4 +358,39 @@ class UserBillController
         return app('json')->successful(UserBill::userBillList($request->uid(), $page, $limit, 'integral', ['pm' => $status]));
 
     }
+
+
+    /**
+     * 积分记录
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function now_money_list(Request $request)
+    {
+        list($page, $limit, $status) = UtilService::getMore([
+            ['page', 0], ['limit', 0], ['pm', 0]
+        ], $request, true);
+        return app('json')->successful(UserBill::userBillList($request->uid(), $page, $limit, 'now_money', ['pm' => $status]));
+
+    }
+
+    /**
+     * 积分记录
+     * @param Request $request
+     * @return mixed
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    public function brokerage_list(Request $request)
+    {
+        list($page, $limit, $status) = UtilService::getMore([
+            ['page', 0], ['limit', 0], ['pm', 0]
+        ], $request, true);
+        return app('json')->successful(UserBill::userBillList($request->uid(), $page, $limit, 'brokerage', ['pm' => $status]));
+
+    }
 }

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

@@ -911,6 +911,40 @@ class UserController
         return app('json')->success(compact('user', 'count'));
     }
 
+    public function accounts(Request $request)
+    {
+        if (cache($request->uid())) return app('json')->fail('请勿频繁点击');
+        $data = UtilService::postMore([
+            ['price', ''],
+            ['uid', '']
+        ]);
+        $user = User::where('uid', $data['uid'])->find();
+        $find = User::where('uid', $request->uid())->find();
+        if (!$user) return app('json')->fail('用户不存在');
+        if ($data['price'] < 10) return app('json')->fail('最少转账10');
+        if ($find['now_money'] < $data['price']) return app('json')->fail('余额不足');
+        $receive = $data['price'];
+        $give = $data['price'];
+        $category = 'now_money';
+        Db::startTrans();
+        try {
+            User::bcInc($data['uid'], $category, $receive, 'uid');
+            User::bcDec($request->uid(), $category, $give, 'uid');
+            UserBill::income('接收余额', $user['uid'], 'now_money', 'js_accounts', $receive, '', bcadd($user['now_money'], $receive), '接收余额');
+            UserBill::expend('转账余额', $find['uid'], 'now_money', 'zz_accounts', $give, '', bcsub($find['now_money'], $give), '转账余额');
+
+            cache($request->uid(), 1, 5);
+            Db::commit();
+            return app('json')->success('转账成功');
+        } catch (\Exception $e) {
+            Db::rollback();
+            return app('json')->fail($e->getMessage());
+        }
+
+    }
+
+
+
     /**
      * 每月分红
      * @return void

+ 58 - 23
app/models/user/UserBill.php

@@ -61,30 +61,65 @@ class UserBill extends BaseModel
      */
     public static function userBillList($uid, $page, $limit, $category = 'integral', $where = [])
     {
-        if ($page) {
-            $list = self::where('uid', $uid)
-                ->where('category', $category)
-                ->field('mark,pm,number,add_time')
-                ->where('status', 1)
-                ->where($where)
-                ->order('add_time DESC')
-                ->page((int)$page, (int)$limit)
-                ->select();
-        } else {
-            $list = self::where('uid', $uid)
-                ->where('category', $category)
-                ->field('mark,pm,number,add_time')
-                ->where('status', 1)
-                ->where($where)
-                ->order('add_time DESC')
-                ->select();
-        }
-        $list = count($list) ? $list->toArray() : [];
-        foreach ($list as &$v) {
-            $v['add_time'] = date('Y/m/d H:i', $v['add_time']);
-            $v['number'] = floatval($v['number']);
+        if ($category == 'brokerage'){
+            if ($page) {
+                $list = self::where('uid', $uid)
+                    ->where('category', 'now_money')
+                    ->where('type', 'in','brokerage,bonus,team,push,sale,jt_push,zt_sale')
+                    ->field('mark,pm,number,add_time')
+                    ->where('status', 1)
+                    ->where($where)
+                    ->order('add_time DESC')
+                    ->page((int)$page, (int)$limit)
+                    ->select();
+            } else {
+                $list = self::where('uid', $uid)
+                    ->where('category', 'now_money')
+                    ->where('category', 'in','extract')
+                    ->field('mark,pm,number,add_time')
+                    ->where('status', 1)
+                    ->where($where)
+                    ->order('add_time DESC')
+                    ->select();
+            }
+            $data['zc'] = self::where('uid', $uid)->where('category', 'now_money')->where('type', 'extract')->where('pm', 0)->sum('number');
+            $data['sr'] = self::where('uid', $uid)->where('category', 'now_money')->where('type', 'brokerage,bonus,team,push,sale,jt_push,zt_sale')->where('pm', 1)->sum('number');
+            $data['list'] = count($list) ? $list->toArray() : [];
+            foreach ($data['list'] as &$v) {
+                $v['add_time'] = date('Y/m/d H:i', $v['add_time']);
+                $v['number'] = floatval($v['number']);
+            }
+
+        }else{
+            if ($page) {
+                $list = self::where('uid', $uid)
+                    ->where('category', $category)
+                    ->where('type', 'notIn', 'brokerage,bonus,team,push,sale,jt_push,zt_sale,extract')
+                    ->field('mark,pm,number,add_time')
+                    ->where('status', 1)
+                    ->where($where)
+                    ->order('add_time DESC')
+                    ->page((int)$page, (int)$limit)
+                    ->select();
+            } else {
+                $list = self::where('uid', $uid)
+                    ->where('category', $category)
+                    ->where('category', 'notIn','extract')
+                    ->field('mark,pm,number,add_time')
+                    ->where('status', 1)
+                    ->where($where)
+                    ->order('add_time DESC')
+                    ->select();
+            }
+            $data['zc'] = self::where('uid', $uid)->where('category', $category)->where('type', 'notIn', 'extract')->where('pm', 0)->sum('number');
+            $data['sr'] = self::where('uid', $uid)->where('category', $category)->where('type', 'notIn', 'brokerage,bonus,team,push,sale,jt_push,zt_sale')->where('pm', 1)->sum('number');
+            $data['list'] = count($list) ? $list->toArray() : [];
+            foreach ($data['list'] as &$v) {
+                $v['add_time'] = date('Y/m/d H:i', $v['add_time']);
+                $v['number'] = floatval($v['number']);
+            }
         }
-        return $list;
+        return $data;
     }
 
     /**

+ 3 - 0
route/api/route.php

@@ -150,6 +150,8 @@ Route::group(function () {
     Route::get('spread/count/:type', 'user.UserBillController/spread_count')->name('spreadCount');//推广 佣金 3/提现 4 总和
     Route::get('spread/banner', 'user.UserBillController/spread_banner')->name('spreadBanner');//推广分销二维码海报生成
     Route::get('integral/list', 'user.UserBillController/integral_list')->name('integralList');//积分记录
+    Route::get('now_money/list', 'user.UserBillController/now_money_list')->name('now_money_list');//余额记录
+    Route::get('brokerage/list', 'user.UserBillController/brokerage_list')->name('brokerage_list');//佣金记录
     //提现类
     Route::get('extract/bank', 'user.UserExtractController/bank')->name('extractBank');//提现银行/提现最低金额
     Route::post('extract/cash', 'user.UserExtractController/cash')->name('extractCash');//提现申请
@@ -174,6 +176,7 @@ Route::group(function () {
 
     //发货用户
     Route::get('user/user_list', 'user.UserController/user_list')->name('user_list');//发货用户
+    Route::post('user/accounts', 'user.UserController/accounts')->name('accounts');//转账
 })->middleware(\app\http\middleware\AllowOriginMiddleware::class)->middleware(\app\http\middleware\AuthTokenMiddleware::class, true);
 //未授权接口
 Route::group(function () {