UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

41 lines (40 loc) 2.16 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.onOrderDeliveredPartially = onOrderDeliveredPartially; /** * 注文ステータス変更時処理 */ const createDebug = require("debug"); const factory = require("../../../factory"); // import { Settings } from '../../../settings'; const factory_1 = require("./onOrderDeliveredPartially/factory"); const debug = createDebug('chevre-domain:service:order'); function onOrderDeliveredPartially(params) { return (repos // settings: Settings ) => __awaiter(this, void 0, void 0, function* () { const setting = yield repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onOrderStatusChanged']); debug('onOrderStatusChanged called.', params.order.orderNumber, params.order.orderStatus, params.order.orderDate); let tasks = []; switch (params.order.orderStatus) { case factory.orderStatus.OrderInTransit: tasks = [ ...(0, factory_1.createInformTasks)({ order: params.order }, setting), // InTransit通知を追加(2024-01-16~) ...(0, factory_1.createNextSendOrderTasks)({ order: params.order }) // 次の配送タスクを作成 ]; break; default: throw new factory.errors.NotImplemented(`${params.order.orderStatus} not implemented`); } yield repos.task.saveMany(tasks, { emitImmediately: true }); }); }