diff --git a/src/main/java/eu/org/biwin/screen/controller/AdminController.java b/src/main/java/eu/org/biwin/screen/controller/AdminController.java index 4e91dc4..a0327f0 100644 --- a/src/main/java/eu/org/biwin/screen/controller/AdminController.java +++ b/src/main/java/eu/org/biwin/screen/controller/AdminController.java @@ -116,7 +116,7 @@ public class AdminController { } /** - * 获取所有有效的授权码 + * 获取所有有效的授权码 (用于订单管理) * 仅管理员可访问。 * * @return 授权码列表 @@ -128,6 +128,46 @@ public class AdminController { return jdbcTemplate.queryForList("SELECT code, order_no, login_limit, login_count, expires_at FROM auth_codes WHERE status = 1 ORDER BY created_at DESC"); } + /** + * 获取所有授权码 (用于授权码管理) + * 支持分页查询 + */ + @GetMapping("/auth-codes/list") + @ResponseBody + @SaCheckRole("admin") + public Map getAuthCodesList(@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int size) { + int offset = (page - 1) * size; + String countSql = "SELECT COUNT(*) FROM auth_codes"; + int total = jdbcTemplate.queryForObject(countSql, Integer.class); + + String sql = "SELECT * FROM auth_codes ORDER BY created_at DESC LIMIT ? OFFSET ?"; + List> list = jdbcTemplate.queryForList(sql, size, offset); + + Map result = new HashMap<>(); + result.put("total", total); + result.put("list", list); + return result; + } + + /** + * 更新授权码信息 + */ + @PostMapping("/auth-codes/update") + @ResponseBody + @SaCheckRole("admin") + public String updateAuthCode(@RequestBody Map payload) { + String code = (String) payload.get("code"); + String orderNo = (String) payload.get("order_no"); + String expiresAt = (String) payload.get("expires_at"); + Integer loginLimit = Integer.parseInt(payload.get("login_limit").toString()); + Integer status = Integer.parseInt(payload.get("status").toString()); + + String sql = "UPDATE auth_codes SET order_no = ?, expires_at = ?, login_limit = ?, status = ? WHERE code = ?"; + int rows = jdbcTemplate.update(sql, orderNo, expiresAt, loginLimit, status, code); + + return rows > 0 ? "ok" : "error"; + } + /** * 获取指定授权码的购物车内容 * 仅管理员可访问。 diff --git a/src/main/java/eu/org/biwin/screen/controller/PageController.java b/src/main/java/eu/org/biwin/screen/controller/PageController.java index be72096..de9b1f1 100644 --- a/src/main/java/eu/org/biwin/screen/controller/PageController.java +++ b/src/main/java/eu/org/biwin/screen/controller/PageController.java @@ -56,7 +56,7 @@ public class PageController { } /** - * 授权码管理页面 + * 订单管理页面 (原授权码管理) */ @GetMapping("/admin/codes") @SaCheckRole("admin") @@ -64,6 +64,15 @@ public class PageController { return "admin_codes"; } + /** + * 授权码管理页面 (新增) + */ + @GetMapping("/admin/auth-codes") + @SaCheckRole("admin") + public String adminAuthCodesPage() { + return "admin_auth_codes"; + } + /** * 文章管理页面 */ diff --git a/src/main/resources/templates/admin.html b/src/main/resources/templates/admin.html index 9f07bd0..60a88c8 100644 --- a/src/main/resources/templates/admin.html +++ b/src/main/resources/templates/admin.html @@ -39,7 +39,7 @@ border-radius: 20px; box-shadow: var(--card-shadow); text-align: center; - width: 400px; + width: 600px; } h1 { @@ -49,7 +49,7 @@ .menu-grid { display: grid; - grid-template-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr 1fr; gap: 20px; } @@ -102,6 +102,10 @@

后台管理系统