WP Manifestindependent plugin directory
manifest / analytics / tgs_json_rollup

TGS JSON Rollup

tgs_json_rollup

by TGS Development Team · github.com/thuy2k/tgs_json_rollup · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/thuy2k/tgs_json_rollup/archive/refs/heads/main.zip

TGS JSON Rollup Plugin

Giải pháp rollup đơn giản: 1 bảng, 1 JSON, 1 dòng/shop/ngày

Đặc điểm

  • ✅ Đơn giản tối đa: 1 bảng thay vì 10 bảng
  • ✅ Hiệu suất cao: Nhanh hơn 20-50 lần so với tgs_rollup_analytics
  • ✅ Tiết kiệm: Giảm 95% dung lượng database
  • ✅ Dễ mở rộng: Thêm metric mới = thêm key trong JSON
  • ✅ Realtime: Snapshot cuối + Movement hôm nay

Cấu trúc

tgs_json_rollup/
├── tgs-json-rollup.php (main file)
├── includes/
│   ├── class-database.php (schema)
│   ├── class-rollup-inventory.php (core logic)
│   └── class-rollup-helpers.php (helpers)
└── admin/
    └── class-admin-page.php (UI admin)

Cách sử dụng

1. Activate plugin

Plugin sẽ tự động tạo bảng wp_global_daily_rollup

2. Rollup thủ công qua Admin UI

Network Admin → JSON Rollup → Nhập blog_id, from_date, to_date → Chạy Rollup

3. Sử dụng API trong code

// Lấy tồn kho realtime
$helpers = new TGS_JSON_Rollup_Helpers();
$inventory = $helpers->get_realtime_inventory($blog_id);
// ['SKU001' => ['qty' => 100, 'value' => 5000000], ...]

// Lấy tồn của 1 SKU
$sku_data = $helpers->get_sku_inventory($blog_id, 'SKU001');
// ['qty' => 100, 'value' => 5000000, 'avg_cost' => 50000]

// Lấy lịch sử 1 SKU
$history = $helpers->get_sku_history($blog_id, 'SKU001', '2026-01-01', '2026-01-31');

Database Schema

CREATE TABLE wp_global_daily_rollup (
    rollup_id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    blog_id BIGINT UNSIGNED NOT NULL,
    rollup_date DATE NOT NULL,
    rollup_snapshot LONGTEXT NOT NULL,  -- JSON
    rollup_status VARCHAR(20) DEFAULT 'success',
    error_message TEXT,
    created_at DATETIME NOT NULL,
    updated_at DATETIME,
    UNIQUE KEY uk_blog_date (blog_id, rollup_date)
);

JSON Format

{
  "inventory": {
    "SKU001": {"qty": 100, "value": 5000000, "avg_cost": 50000},
    "SKU002": {"qty": 200, "value": 10000000, "avg_cost": 50000}
  },
  "metadata": {
    "total_skus": 2,
    "rollup_version": "1.0",
    "rollup_date": "2026-01-15",
    "blog_id": 123
  }
}

Roadmap

  • [x] Core rollup engine
  • [x] Admin UI
  • [ ] REST API endpoints
  • [ ] Cron job tự động
  • [ ] Rollup doanh thu, khách hàng
  • [ ] Export Excel

So sánh với tgs_rollup_analytics

Tiêu chí tgs_rollup_analytics tgs_json_rollup
Số bảng 5-10 bảng 1 bảng
Số dòng/năm 1.2 tỷ 237,250
Dung lượng 500GB-1TB 20-50GB
Query tồn kho 200-500ms 5-10ms
Mở rộng Khó (ALTER TABLE) Dễ (thêm key)

Version: 1.0.0
Author: TGS Development Team