feat(SPG-1078): summary all item queue
parent
5f6214eeb6
commit
55e89426d9
|
@ -68,6 +68,14 @@ export class QueueDataService extends BaseReadService<QueueModel> {
|
||||||
return queues.filter((q) => q.items.length > 0);
|
return queues.filter((q) => q.items.length > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async allQueue() {
|
||||||
|
const queues = await this.itemQueueRepo.find({
|
||||||
|
relations: ['items'],
|
||||||
|
});
|
||||||
|
|
||||||
|
return queues.filter((q) => q.items.length > 0);
|
||||||
|
}
|
||||||
|
|
||||||
async lastQueue(item_queue_id: string) {
|
async lastQueue(item_queue_id: string) {
|
||||||
const start = moment().startOf('day').valueOf();
|
const start = moment().startOf('day').valueOf();
|
||||||
const end = moment().endOf('day').valueOf();
|
const end = moment().endOf('day').valueOf();
|
||||||
|
|
|
@ -187,6 +187,15 @@ export class QueueOrchestrator {
|
||||||
return manager.recommend(recommendItems);
|
return manager.recommend(recommendItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async queueItemSummary(): Promise<any> {
|
||||||
|
const recommendItems = await this.queueDataService.allQueue();
|
||||||
|
const recommendIds = recommendItems.map((item) => item.id);
|
||||||
|
const queues = await this.queueService.queues(recommendIds);
|
||||||
|
const manager = new CustomerQueueRecommendManager(null);
|
||||||
|
manager.currentQueues(queues);
|
||||||
|
return manager.recommend(recommendItems);
|
||||||
|
}
|
||||||
|
|
||||||
async queueItems(order_id: string): Promise<any> {
|
async queueItems(order_id: string): Promise<any> {
|
||||||
const tickets = await this.dataService.queueTickets(order_id);
|
const tickets = await this.dataService.queueTickets(order_id);
|
||||||
const queueItemIds = this.getQueueItemFromTickets(tickets);
|
const queueItemIds = this.getQueueItemFromTickets(tickets);
|
||||||
|
|
|
@ -71,6 +71,11 @@ export class QueueController {
|
||||||
return await this.orchestrator.queueItemRecommendation(id);
|
return await this.orchestrator.queueItemRecommendation(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Get(':id/queue-summary')
|
||||||
|
async queueItemSummary(): Promise<void> {
|
||||||
|
return await this.orchestrator.queueItemSummary();
|
||||||
|
}
|
||||||
|
|
||||||
@Get(':id/items')
|
@Get(':id/items')
|
||||||
async queueItems(@Param('id') id: string): Promise<void> {
|
async queueItems(@Param('id') id: string): Promise<void> {
|
||||||
return await this.orchestrator.queueItems(id);
|
return await this.orchestrator.queueItems(id);
|
||||||
|
|
Loading…
Reference in New Issue