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

View File

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

View File

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