This commit is contained in:
ditiqi 2025-02-27 22:37:15 +08:00
parent 04005bb30a
commit 6261df6982
3 changed files with 9 additions and 1 deletions

View File

@ -8,6 +8,7 @@ import {
DelegateFuncs,
UpdateOrderArgs,
TransactionType,
OrderByArgs,
SelectArgs,
} from './base.type';
import {
@ -450,9 +451,10 @@ export class BaseService<
page?: number;
pageSize?: number;
where?: WhereArgs<A['findMany']>;
orderBy?: OrderByArgs<A['findMany']>;
select?: SelectArgs<A['findMany']>;
}): Promise<{ items: R['findMany']; totalPages: number }> {
const { page = 1, pageSize = 10, where, select } = args;
const { page = 1, pageSize = 10, where, select, orderBy } = args;
try {
// 获取总记录数
@ -461,6 +463,7 @@ export class BaseService<
const items = (await this.getModel().findMany({
where,
select,
orderBy,
skip: (page - 1) * pageSize,
take: pageSize,
} as any)) as R['findMany'];

View File

@ -21,6 +21,7 @@ import { BaseTreeService } from '../base/base.tree.service';
import { z } from 'zod';
import { DefaultArgs } from '@prisma/client/runtime/library';
import dayjs from 'dayjs';
import { OrderByArgs } from '../base/base.type';
@Injectable()
export class PostService extends BaseTreeService<Prisma.PostDelegate> {
@ -181,6 +182,7 @@ export class PostService extends BaseTreeService<Prisma.PostDelegate> {
page?: number;
pageSize?: number;
where?: Prisma.PostWhereInput;
orderBy?: OrderByArgs<(typeof db.post)['findMany']>;
select?: Prisma.PostSelect<DefaultArgs>;
}): Promise<{
items: {
@ -197,6 +199,7 @@ export class PostService extends BaseTreeService<Prisma.PostDelegate> {
duration: number | null;
rating: number | null;
createdAt: Date;
views: number;
publishedAt: Date | null;
updatedAt: Date;
deletedAt: Date | null;

View File

@ -206,6 +206,7 @@ model Post {
rating Int? @default(0)
students Staff[] @relation("post_student")
depts Department[] @relation("post_dept")
views Int @default(0) @map("views")
// 索引
// 日期时间类型字段
createdAt DateTime @default(now()) @map("created_at")
@ -238,6 +239,7 @@ model Post {
@@index([type, publishedAt])
@@index([state])
@@index([level])
@@index([views])
@@index([important])
@@map("post")
}