Rename to hkt.sh
This commit is contained in:
42
aff-monitor/src/routes/admin.js
Normal file
42
aff-monitor/src/routes/admin.js
Normal file
@@ -0,0 +1,42 @@
|
||||
/**
|
||||
* 后台管理 — 仪表盘
|
||||
*/
|
||||
const router = require('express').Router();
|
||||
const db = require('../db');
|
||||
const { buildPushMessage } = require('../utils/pushTemplate');
|
||||
|
||||
router.get('/', (req, res) => {
|
||||
const stats = {
|
||||
merchants: db.prepare('SELECT COUNT(*) AS n FROM merchants').get().n,
|
||||
products: db.prepare('SELECT COUNT(*) AS n FROM products').get().n,
|
||||
channels: db.prepare('SELECT COUNT(*) AS n FROM tg_channels').get().n,
|
||||
tasks: db.prepare('SELECT COUNT(*) AS n FROM monitor_tasks').get().n,
|
||||
recentLogs: db.prepare(`SELECT COUNT(*) AS n FROM check_logs WHERE created_at >= datetime('now', '-1 day')`).get().n,
|
||||
};
|
||||
|
||||
const sampleProduct = db.prepare(`
|
||||
SELECT p.*, m.name AS merchant_name,
|
||||
p.generated_aff_url AS product_aff_url,
|
||||
(
|
||||
SELECT url FROM aff_links a
|
||||
WHERE a.product_id = p.id AND a.platform = 'telegram'
|
||||
ORDER BY a.id DESC LIMIT 1
|
||||
) AS tg_aff_url,
|
||||
(
|
||||
SELECT url FROM aff_links a
|
||||
WHERE a.product_id = p.id
|
||||
ORDER BY a.id DESC LIMIT 1
|
||||
) AS any_aff_url
|
||||
FROM products p
|
||||
LEFT JOIN merchants m ON p.merchant_id = m.id
|
||||
ORDER BY p.id DESC LIMIT 1
|
||||
`).get();
|
||||
|
||||
const preview = sampleProduct
|
||||
? buildPushMessage({ ...sampleProduct, aff_url: sampleProduct.product_aff_url || sampleProduct.tg_aff_url || sampleProduct.any_aff_url || sampleProduct.buy_url || sampleProduct.url || null })
|
||||
: null;
|
||||
|
||||
res.render('admin/index', { stats, preview });
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user