feat: initialize loyalty agent service structure, security configuration, and campaign MCP service orchestration

This commit is contained in:
SonPhung
2026-07-21 23:54:13 +07:00
parent 5b128d8965
commit 64914c8b9a
5 changed files with 119 additions and 67 deletions

View File

@@ -23,7 +23,23 @@ public class CampaignService {
public Result<List<Campaign>> getAll(CampaignCriteria criteria) {
List<Campaign> campaigns = campaignClient.getAll(criteria, Pageable.ofSize(5));
return Result.of(campaigns, "Format these campaigns as a markdown table with columns ID, Name, Start Date, End Date, Status.");
return Result.of(campaigns, """
Khi trả về danh sách chiến dịch, BẮT BUỘC KHÔNG dùng markdown table. Hãy định dạng theo cấu trúc sau:
1. **[Tên Chiến Dịch]** (ID: `[Mã ID]`)
- 👤 Owner: [Tên Owner] (Nếu trống, ghi là: Không có)
- 📝 Mô tả: [Mô tả] (Nếu trống, ghi là: Không có. Nếu dài hơn 100 ký tự, thêm "...")
Ví dụ đầu ra ĐÚNG:
1. **Happy Birthday!** (ID: `LACO`)
- 👤 Owner: Không có
- 📝 Mô tả: Không có
2. **SummerSale GOTIT Campaign** (ID: `YZFG`)
- 👤 Owner: Ngan Ha
- 📝 Mô tả: Không có
Luôn kết thúc bằng một câu hỏi gợi mở để hướng dẫn người dùng bước tiếp theo.
""");
}
public Result<Long> count(CampaignCriteria criteria) {