|
@@ -13,14 +13,16 @@ class ViewService
|
|
|
/**
|
|
|
* 获取视图列表
|
|
|
*
|
|
|
- * @param array $params 查询参数
|
|
|
+ * @param string $viewName 视图名称
|
|
|
+ * @param array $whereParams 查询参数
|
|
|
+ * @param array $pageParams 分页参数
|
|
|
+ * @param array $sortParams 排序参数
|
|
|
*/
|
|
|
- public function viewList($viewName, array $whereParams, array $pageParams, array $sortParams = [])
|
|
|
+ public function viewList($viewName, array $whereParams, array $pageParams, array $sortParams = []): array
|
|
|
{
|
|
|
try {
|
|
|
$query = DB::table($viewName);
|
|
|
|
|
|
- // 获取分页数据
|
|
|
// 条件筛选
|
|
|
foreach ($whereParams as $key => $value) {
|
|
|
if (is_string($value)) {
|
|
@@ -31,23 +33,35 @@ class ViewService
|
|
|
}
|
|
|
|
|
|
// 排序
|
|
|
- ! empty($sortParams) && $query->orderBy($sortParams['orderBy'], $sortParams['orderDir']);
|
|
|
+ if (! empty($sortParams)) {
|
|
|
+ $query->orderBy($sortParams['orderBy'], $sortParams['orderDir']);
|
|
|
+ }
|
|
|
|
|
|
$result = $query->paginate($pageParams['perPage'], ['*'], 'page', $pageParams['page']);
|
|
|
|
|
|
- return response()->json([
|
|
|
- 'code' => 200,
|
|
|
- 'message' => 'success',
|
|
|
- 'data' => $result,
|
|
|
- ]);
|
|
|
+ return [
|
|
|
+ 'data' => [
|
|
|
+ 'items' => $result->items(),
|
|
|
+ 'total' => $result->total(),
|
|
|
+ ],
|
|
|
+ 'msg' => 'success',
|
|
|
+ 'status' => 0,
|
|
|
+ ];
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
|
- Log::error('获取用户列表失败:'.$e->getMessage());
|
|
|
-
|
|
|
- return response()->json([
|
|
|
- 'code' => 500,
|
|
|
- 'message' => '获取用户列表失败',
|
|
|
+ Log::error('获取视图数据失败', [
|
|
|
+ 'view_name' => $viewName,
|
|
|
+ 'error' => $e->getMessage(),
|
|
|
+ 'trace' => $e->getTraceAsString(),
|
|
|
]);
|
|
|
+
|
|
|
+ return [
|
|
|
+ 'data' => [
|
|
|
+ 'items' => [],
|
|
|
+ ],
|
|
|
+ 'msg' => '获取数据失败',
|
|
|
+ 'status' => 1,
|
|
|
+ ];
|
|
|
}
|
|
|
}
|
|
|
}
|