delivery
This commit is contained in:
@@ -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 },
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user