add : api to complete cancel

This commit is contained in:
morteza-mortezai
2025-11-05 20:57:52 +03:30
parent fc2c78c995
commit 4c992f2384
6 changed files with 71 additions and 8 deletions
+23 -2
View File
@@ -2,9 +2,9 @@ import { inject, injectable } from "inversify";
import { isValidObjectId, startSession } from "mongoose";
import { CancelOrderItemRepo, CancelOrderRepo, CancelReasonRepo } from "./cancel.repository";
import { CancelOrderDTO, CreateCancelDTO } from "./DTO/cancel.dto";
import { CancelOrderDTO, CompeleteCancelOrderDTO, CreateCancelDTO } from "./DTO/cancel.dto";
import { CancelReasonDTO } from "./DTO/cancelReason.dto";
import { CommonMessage } from "../../common/enums/message.enum";
import { CommonMessage, OrderMessage } from "../../common/enums/message.enum";
import { OrderItemsStatus } from "../../common/enums/order.enum";
import { AdminCancelsQueries } from "../../common/types/query.type";
import { BadRequestError } from "../../core/app/app.errors";
@@ -13,6 +13,7 @@ import { OrderItemRefEnum, ReasonRefEnum } from "../fine/models/fine.model";
import { FineRepo } from "../fine/repository/fine.repository";
import { OrderItemRepo } from "../order/order.repository";
import { CancellerRefEnum } from "./models/cancel.model";
import { StatusEnum } from "../../common/enums/status.enum";
import { FineRuleRepo } from "../fine/repository/fineRule.repository";
import { NotificationService } from "../notification/notification.service";
@@ -344,6 +345,26 @@ class CancelService {
message: CommonMessage.Deleted,
};
}
async completeCancelOrder(cancelRequestId: string, dto: CompeleteCancelOrderDTO) {
const { refundComment, refundDate, refundReceipt } = dto;
const cancelOrder = await this.cancelOrderRepo.model.findByIdAndUpdate(cancelRequestId, {
status: StatusEnum.Completed,
refundComment,
refundDate,
refundReceipt,
});
if (!cancelOrder) throw new BadRequestError(OrderMessage.NotFound);
return {
message: OrderMessage.CancelCompleted,
};
}
//#######################################################
//#######################################################
//#######################################################
//#######################################################
// async updateReturnReason(reasonId: string, updateReasonDto: UpdateReasonDTO) {