This commit is contained in:
2025-12-17 09:55:25 +03:30
parent a2ef48e1c9
commit abc9185285
5 changed files with 15 additions and 15 deletions
@@ -8,9 +8,9 @@ export class CreateDeliveryDto {
@IsEnum(DeliveryMethodEnum)
method!: DeliveryMethodEnum;
@ApiProperty({ example: 'سرو در رستوران', description: 'Delivery method title' })
@ApiProperty({ example: 'سرو در رستوران', description: 'Delivery method display name' })
@IsString()
title!: string;
name!: string;
@ApiProperty({ example: 5000, description: 'Delivery fee' })
@IsNumber()
@@ -5,8 +5,8 @@ import { DeliveryFeeTypeEnum, DeliveryMethodEnum } from '../interface/delivery';
@Entity({ tableName: 'deliveries' })
export class Delivery extends BaseEntity {
@Property()
title!: string;
@Property({ fieldName: 'title' })
name!: string;
@Enum(() => DeliveryMethodEnum)
method!: DeliveryMethodEnum;
@@ -13,7 +13,7 @@ export class DeliveryService {
private readonly deliveryRepository: DeliveryRepository,
private readonly restRepository: RestRepository,
private readonly em: EntityManager,
) {}
) { }
async create(restId: string, createDto: CreateDeliveryDto): Promise<Delivery> {
const restaurant = await this.restRepository.findOne({ id: restId });
@@ -34,7 +34,7 @@ export class DeliveryService {
const data: RequiredEntityData<Delivery> = {
restaurant,
method: createDto.method,
title: createDto.title,
name: createDto.name,
deliveryFee: createDto.deliveryFee,
minOrderPrice: createDto.minOrderPrice,
description: createDto.description,
@@ -77,7 +77,7 @@ export class DeliveryService {
throw new NotFoundException(`روش ارسال با شناسه ${deliveryId} برای رستوران با شناسه ${restId} یافت نشد.`);
}
// If name is being updated, check for conflicts
// If method is being updated, check for conflicts
if (updateDto.method !== undefined && updateDto.method !== delivery.method) {
const existing = await this.deliveryRepository.findOne({
restaurant: { id: restId },
+5 -5
View File
@@ -2,7 +2,7 @@ import { DeliveryMethodEnum } from '../../modules/delivery/interface/delivery';
export interface DeliveryMethodData {
method: DeliveryMethodEnum;
title: string;
name: string;
description: string;
deliveryFee: number;
minOrderPrice: number;
@@ -13,7 +13,7 @@ export interface DeliveryMethodData {
export const deliveryMethodsData: DeliveryMethodData[] = [
{
method: DeliveryMethodEnum.DineIn,
title: 'سرو در رستوران',
name: 'سرو در رستوران',
description: 'سرو غذا در رستوران',
deliveryFee: 0,
minOrderPrice: 0,
@@ -22,7 +22,7 @@ export const deliveryMethodsData: DeliveryMethodData[] = [
},
{
method: DeliveryMethodEnum.CustomerPickup,
title: 'برداشت از رستوران',
name: 'برداشت از رستوران',
description: 'برداشت غذا از رستوران',
deliveryFee: 0,
minOrderPrice: 0,
@@ -31,7 +31,7 @@ export const deliveryMethodsData: DeliveryMethodData[] = [
},
{
method: DeliveryMethodEnum.DeliveryCar,
title: 'تحویل با ماشین',
name: 'تحویل با ماشین',
description: 'تحویل غذا با ماشین',
deliveryFee: 5000,
minOrderPrice: 50000,
@@ -40,7 +40,7 @@ export const deliveryMethodsData: DeliveryMethodData[] = [
},
{
method: DeliveryMethodEnum.DeliveryCourier,
title: 'تحویل با پیک',
name: 'تحویل با پیک',
description: 'تحویل غذا با پیک',
deliveryFee: 10000,
minOrderPrice: 100000,
+3 -3
View File
@@ -19,7 +19,7 @@ export class DeliveryMethodsSeeder {
const delivery = em.create(Delivery, {
restaurant,
method: methodData.method,
title: methodData.title,
name: methodData.name,
description: methodData.description,
deliveryFee: methodData.deliveryFee,
minOrderPrice: methodData.minOrderPrice,
@@ -33,13 +33,13 @@ export class DeliveryMethodsSeeder {
} else {
// Update existing delivery method if needed
if (
existing.title !== methodData.title ||
existing.name !== methodData.name ||
existing.description !== methodData.description ||
existing.deliveryFee !== methodData.deliveryFee ||
existing.minOrderPrice !== methodData.minOrderPrice ||
existing.order !== methodData.order
) {
existing.title = methodData.title;
existing.name = methodData.name;
existing.description = methodData.description;
existing.deliveryFee = methodData.deliveryFee;
existing.minOrderPrice = methodData.minOrderPrice;