This commit is contained in:
Li1304553726 2025-04-13 19:15:49 +08:00
commit 6ee6c10f5f
1 changed files with 22 additions and 21 deletions

View File

@ -30,6 +30,7 @@ export class BaseService<
A extends DelegateArgs<D> = DelegateArgs<D>, A extends DelegateArgs<D> = DelegateArgs<D>,
R extends DelegateReturnTypes<D> = DelegateReturnTypes<D>, R extends DelegateReturnTypes<D> = DelegateReturnTypes<D>,
> { > {
[x: string]: any;
protected ORDER_INTERVAL = 100; protected ORDER_INTERVAL = 100;
/** /**
* Initializes the BaseService with the specified model. * Initializes the BaseService with the specified model.
@ -152,27 +153,27 @@ export class BaseService<
* @example * @example
* const newUser = await service.create({ data: { name: 'John Doe' } }); * const newUser = await service.create({ data: { name: 'John Doe' } });
*/ */
async create(args: A['create'], params?: any): Promise<R['create']> { // async create(args: A['create'], params?: any): Promise<R['create']> {
try { // try {
if (this.enableOrder && !(args as any).data.order) { // if (this.enableOrder && !(args as any).data.order) {
// 查找当前最大的 order 值 // // 查找当前最大的 order 值
const maxOrderItem = (await this.getModel(params?.tx).findFirst({ // const maxOrderItem = (await this.getModel(params?.tx).findFirst({
orderBy: { order: 'desc' }, // orderBy: { order: 'desc' },
})) as any; // })) as any;
// 设置新记录的 order 值 // // 设置新记录的 order 值
const newOrder = maxOrderItem // const newOrder = maxOrderItem
? maxOrderItem.order + this.ORDER_INTERVAL // ? maxOrderItem.order + this.ORDER_INTERVAL
: 1; // : 1;
// 将 order 添加到创建参数中 // // 将 order 添加到创建参数中
(args as any).data.order = newOrder; // (args as any).data.order = newOrder;
} // }
return this.getModel(params?.tx).create(args as any) as Promise< // return this.getModel(params?.tx).create(args as any) as Promise<
R['create'] // R['create']
>; // >;
} catch (error) { // } catch (error) {
this.handleError(error, 'create'); // this.handleError(error, 'create');
} // }
} // }
/** /**
* Creates multiple new records with the given data. * Creates multiple new records with the given data.