WIN-2308041133\Administrator 11 godzin temu
rodzic
commit
a4c4df9ded

+ 59 - 0
app/api/controller/User.php

@@ -1692,4 +1692,63 @@ class User extends BaseController
 //        }
 //        }
         return app('json')->success($data);
         return app('json')->success($data);
     }
     }
+
+    /**
+     * 积分明细列表(API端)
+     * @param Request $request
+     * @return mixed
+     */
+    public function scoreDetailList(Request $request)
+    {
+        $post = UtilService::getMore([
+            ['page', 1],
+            ['pageSize', 20],
+            ['type', ''], // 1收入 -1支出
+            ['order_sn', ''],
+        ], $request);
+        
+        $uid = $request->uid;
+        if (!$uid) {
+            return app('json')->fail('用户未登录');
+        }
+        
+        $where = [];
+        $where[] = ['uid', '=', $uid];
+        
+        if (!empty($post['type']) && in_array(strval($post['type']), ["1", "-1"])) {
+            $where[] = ['type', '=', $post['type']];
+        }
+        
+        if (!empty($post['order_sn'])) {
+            $where[] = ['order_id', 'like', '%' . $post['order_sn'] . '%'];
+        }
+        
+        $pageSize = $post['pageSize'] > 50 ? 50 : (int)$post['pageSize'];
+        $page = $post['page'] <= 0 ? 1 : (int)$post['page'];
+        
+        $totalCount = (new UserScoreDetail())->where($where)->count();
+        $list = [];
+        
+        if ($totalCount > 0) {
+            $list = (new UserScoreDetail())
+                ->where($where)
+                ->order('id', 'desc')
+                ->page($page, $pageSize)
+                ->select()
+                ->toArray();
+                
+            // 格式化时间
+            foreach ($list as &$item) {
+                $item['time'] = date('Y-m-d H:i:s', $item['time']);
+                $item['type_name'] = $item['type'] == 1 ? '收入' : '支出';
+            }
+        }
+        
+        return app('json')->success([
+            'list' => $list,
+            'pageSize' => $pageSize,
+            'page' => $page,
+            'totalCount' => $totalCount
+        ]);
+    }
 }
 }

+ 2 - 1
app/api/route/user.php

@@ -80,8 +80,9 @@ Route::group('user', function () {
     Route::rule('comment', 'User/comment');
     Route::rule('comment', 'User/comment');
     //添加客户评论
     //添加客户评论
     Route::rule('getClockList', 'User/getClockList');
     Route::rule('getClockList', 'User/getClockList');
-    
 
 
+    //积分列表
+    Route::rule('scoreDetailList', 'User/scoreDetailList');
 
 
 })->middleware([
 })->middleware([
     AllowOriginMiddleware::class,
     AllowOriginMiddleware::class,

+ 92 - 0
app/system/controller/Member.php

@@ -767,4 +767,96 @@ class Member extends BaseController
         return app('json')->success("数据保存成功");
         return app('json')->success("数据保存成功");
     }
     }
 
 
+    /**
+     * 积分明细列表(管理端)
+     * @param Request $request
+     * @return mixed
+     */
+//    public function scoreList(Request $request)
+//    {
+//        $pageSize = 50;
+//        $post = UtilService::getMore([
+//            ['page', '1'],
+//            ['uid', ''],
+//            ['type', ''],
+//            ['order_sn', ''],
+//            ['mobile', ''],
+//            ['time', []],
+//        ], $request);
+//
+//        $where = [];
+//
+//        // uid搜索
+//        if (!empty($post['uid'])) {
+//            $where[] = ["d.uid", "=", $post['uid']];
+//        } else if (!empty($post['mobile'])) {
+//            $m = Db::name("user")->where("mobile", $post['mobile'])->find();
+//            if (!empty($m)) {
+//                $where[] = ["d.uid", "=", $m['uid']];
+//            }
+//        }
+//
+//        // type搜索(1收入 -1支出)
+//        if (!empty($post['type']) && in_array(strval($post['type']), ["1", "-1"])) {
+//            $where[] = ["d.type", "=", $post['type']];
+//        }
+//
+//        // order_sn搜索
+//        if (!empty($post['order_sn'])) {
+//            $where[] = ["d.order_id", "like", "%" . $post['order_sn'] . "%"];
+//        }
+//
+//        // 时间范围搜索
+//        $startTime = "";
+//        $endTime = "";
+//        if (!empty($post['time'][0]) && !empty($post['time'][1])) {
+//            $startTime = strtotime($post['time'][0]);
+//            $endTime = strtotime($post['time'][1]);
+//            $where[] = ["d.time", "between", "{$startTime},{$endTime}"];
+//        }
+//
+//        $data = (new UserScoreDetailModel)
+//                ->alias("d")
+//                ->field("d.*,u.mobile,u.nickname")
+//                ->leftJoin("user u", "u.uid = d.uid")
+//                ->where($where)
+//                ->page((int)$post["page"], $pageSize)
+//                ->order("d.id", "desc")
+//                ->select()
+//                ->toArray();
+//
+//        $pageCount = (new UserScoreDetailModel)->alias("d")->where($where)->count();
+//
+//        // 计算总收入/总支出
+//        $inWhere = $where;
+//        $inWhere[] = ["d.type", "=", 1];
+//        $inTotal = (new UserScoreDetailModel)->alias("d")->where($inWhere)->sum("d.v");
+//
+//        $outWhere = $where;
+//        $outWhere[] = ["d.type", "=", -1];
+//        $outTotal = (new UserScoreDetailModel)->alias("d")->where($outWhere)->sum("d.v");
+//
+//        $result = UtilService::getParam(
+//            [
+//                'id',
+//                'uid',
+//                'mobile',
+//                'nickname',
+//                'title',
+//                'content',
+//                'type',
+//                ['into', 'v'],
+//                'money',
+//                ['time', 'time', 'date("Y-m-d H:i:s",$1)'],
+//            ], $data);
+//
+//        return app('json')->success([
+//            'list' => $result,
+//            'pageCount' => $pageCount,
+//            'pageSize' => $pageSize,
+//            'page' => $post['page'],
+//            'inTotal' => empty($inTotal) ? 0 : floatval($inTotal),
+//            'outTotal' => empty($outTotal) ? 0 : floatval($outTotal),
+//        ]);
+//    }
 }
 }