update delivery entity and add min cost for distance based

This commit is contained in:
2025-12-20 16:26:15 +03:30
parent 18d04d4ab8
commit e468957f3d
3 changed files with 8 additions and 9 deletions
@@ -41,13 +41,13 @@ export class CreateDeliveryDto {
@IsOptional() @IsOptional()
@IsNumber() @IsNumber()
@Type(() => Number) @Type(() => Number)
kilometerNumber?: number; distanceBasedMinCost?: number;
@ApiPropertyOptional({ example: 0, description: 'Delivery fee for kilometer' }) @ApiPropertyOptional({ example: 0, description: 'Delivery fee per kilometer' })
@IsOptional() @IsOptional()
@IsNumber() @IsNumber()
@Type(() => Number) @Type(() => Number)
deliveryFeeForKilometer?: number; perKilometerFee?: number;
@ApiPropertyOptional({ @ApiPropertyOptional({
example: DeliveryFeeTypeEnum.FIXED, example: DeliveryFeeTypeEnum.FIXED,
@@ -5,7 +5,6 @@ import { DeliveryFeeTypeEnum, DeliveryMethodEnum } from '../interface/delivery';
@Entity({ tableName: 'deliveries' }) @Entity({ tableName: 'deliveries' })
export class Delivery extends BaseEntity { export class Delivery extends BaseEntity {
@Enum(() => DeliveryMethodEnum) @Enum(() => DeliveryMethodEnum)
method!: DeliveryMethodEnum; method!: DeliveryMethodEnum;
@@ -19,10 +18,10 @@ export class Delivery extends BaseEntity {
deliveryFeeType: DeliveryFeeTypeEnum = DeliveryFeeTypeEnum.FIXED; deliveryFeeType: DeliveryFeeTypeEnum = DeliveryFeeTypeEnum.FIXED;
@Property({ type: 'decimal', precision: 10, scale: 0, default: 0 }) @Property({ type: 'decimal', precision: 10, scale: 0, default: 0 })
kilometerNumber: number | null = null; perKilometerFee: number | null = null;
@Property({ type: 'decimal', precision: 10, scale: 0, default: 0 }) @Property({ type: 'decimal', precision: 10, scale: 0, default: 0 })
deliveryFeeForKilometer: number | null = null; distanceBasedMinCost: number | null = null;
@Property({ type: 'decimal', precision: 10, scale: 0, default: 0 }) @Property({ type: 'decimal', precision: 10, scale: 0, default: 0 })
minOrderPrice: number = 0; minOrderPrice: number = 0;
@@ -13,7 +13,7 @@ export class DeliveryService {
private readonly deliveryRepository: DeliveryRepository, private readonly deliveryRepository: DeliveryRepository,
private readonly restRepository: RestRepository, private readonly restRepository: RestRepository,
private readonly em: EntityManager, private readonly em: EntityManager,
) { } ) {}
async create(restId: string, createDto: CreateDeliveryDto): Promise<Delivery> { async create(restId: string, createDto: CreateDeliveryDto): Promise<Delivery> {
const restaurant = await this.restRepository.findOne({ id: restId }); const restaurant = await this.restRepository.findOne({ id: restId });
@@ -40,8 +40,8 @@ export class DeliveryService {
enabled: createDto.enabled ?? true, enabled: createDto.enabled ?? true,
order: createDto.order ?? 0, order: createDto.order ?? 0,
deliveryFeeType: createDto.deliveryFeeType, deliveryFeeType: createDto.deliveryFeeType,
kilometerNumber: createDto.kilometerNumber, perKilometerFee: createDto.perKilometerFee ?? null,
deliveryFeeForKilometer: createDto.deliveryFeeForKilometer ?? 0, distanceBasedMinCost: createDto.distanceBasedMinCost ?? null,
}; };
const delivery = this.deliveryRepository.create(data); const delivery = this.deliveryRepository.create(data);