|
@@ -1,9 +1,11 @@
|
|
|
"use strict";
|
|
"use strict";
|
|
|
|
|
+// oms/src/controllers/messageTemplateController.ts
|
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
|
};
|
|
};
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
const messageTemplateService_1 = require("../services/messageTemplateService");
|
|
const messageTemplateService_1 = require("../services/messageTemplateService");
|
|
|
|
|
+const messageTemplateModel_1 = require("../models/messageTemplateModel");
|
|
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
const mongoose_1 = __importDefault(require("mongoose"));
|
|
|
class MessageTemplateController {
|
|
class MessageTemplateController {
|
|
|
/**
|
|
/**
|
|
@@ -12,9 +14,15 @@ class MessageTemplateController {
|
|
|
*/
|
|
*/
|
|
|
async createTemplate(req, res) {
|
|
async createTemplate(req, res) {
|
|
|
try {
|
|
try {
|
|
|
- const { templateName, messageTitle, messageContent } = req.body;
|
|
|
|
|
- if (!templateName || !messageTitle || !messageContent) {
|
|
|
|
|
- res.status(400).json({ message: "templateName, messageTitle 和 messageContent 都是必需的。" });
|
|
|
|
|
|
|
+ const { templateName, messageTitle, messageContent, templateType } = req.body;
|
|
|
|
|
+ // 验证必需字段
|
|
|
|
|
+ if (!templateName || !messageTitle || !messageContent || typeof templateType === "undefined") {
|
|
|
|
|
+ res.status(400).json({ message: "templateName, messageTitle, messageContent 和 templateType 都是必需的。" });
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 验证 templateType 是否为有效的枚举值
|
|
|
|
|
+ if (typeof templateType !== "number" || !(templateType in messageTemplateModel_1.TemplateType)) {
|
|
|
|
|
+ res.status(400).json({ message: "templateType 必须是有效的数字枚举值。" });
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
const newTemplate = await messageTemplateService_1.messageTemplateService.createTemplate(req.body);
|
|
const newTemplate = await messageTemplateService_1.messageTemplateService.createTemplate(req.body);
|
|
@@ -52,12 +60,26 @@ class MessageTemplateController {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
/**
|
|
/**
|
|
|
- * 获取所有消息模板。
|
|
|
|
|
|
|
+ * 获取所有消息模板,并支持按模板类型筛选。
|
|
|
* GET /api/message-templates
|
|
* GET /api/message-templates
|
|
|
*/
|
|
*/
|
|
|
async getAllTemplates(req, res) {
|
|
async getAllTemplates(req, res) {
|
|
|
try {
|
|
try {
|
|
|
- const templates = await messageTemplateService_1.messageTemplateService.getAllTemplates();
|
|
|
|
|
|
|
+ const { templateType } = req.query;
|
|
|
|
|
+ let templates;
|
|
|
|
|
+ if (templateType) {
|
|
|
|
|
+ // 如果提供了 templateType,则按类型筛选
|
|
|
|
|
+ const type = parseInt(templateType, 10);
|
|
|
|
|
+ if (isNaN(type) || !(type in messageTemplateModel_1.TemplateType)) {
|
|
|
|
|
+ res.status(400).json({ message: "无效的 templateType 参数。" });
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ templates = await messageTemplateService_1.messageTemplateService.getTemplatesByType(type);
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ // 否则获取所有模板
|
|
|
|
|
+ templates = await messageTemplateService_1.messageTemplateService.getAllTemplates();
|
|
|
|
|
+ }
|
|
|
res.status(200).json(templates);
|
|
res.status(200).json(templates);
|
|
|
}
|
|
}
|
|
|
catch (error) {
|
|
catch (error) {
|
|
@@ -71,7 +93,12 @@ class MessageTemplateController {
|
|
|
async updateTemplate(req, res) {
|
|
async updateTemplate(req, res) {
|
|
|
try {
|
|
try {
|
|
|
const { templateName } = req.params;
|
|
const { templateName } = req.params;
|
|
|
- const updatedTemplate = await messageTemplateService_1.messageTemplateService.updateTemplate(templateName, req.body);
|
|
|
|
|
|
|
+ const updateData = req.body;
|
|
|
|
|
+ if (updateData.templateType !== undefined && (typeof updateData.templateType !== "number" || !(updateData.templateType in messageTemplateModel_1.TemplateType))) {
|
|
|
|
|
+ res.status(400).json({ message: "templateType 必须是有效的数字枚举值。" });
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ const updatedTemplate = await messageTemplateService_1.messageTemplateService.updateTemplate(templateName, updateData);
|
|
|
if (updatedTemplate) {
|
|
if (updatedTemplate) {
|
|
|
res.status(200).json(updatedTemplate);
|
|
res.status(200).json(updatedTemplate);
|
|
|
}
|
|
}
|