海外活动管理项目后端项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
4.8 KiB

1 month ago
  1. /*
  2. Navicat Premium Dump SQL
  3. Source Server : localhost_3306
  4. Source Server Type : MySQL
  5. Source Server Version : 80042 (8.0.42)
  6. Source Host : localhost:3306
  7. Source Schema : lottery_system
  8. Target Server Type : MySQL
  9. Target Server Version : 80042 (8.0.42)
  10. File Encoding : 65001
  11. Date: 10/07/2025 15:00:53
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for lottery_round
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `lottery_round`;
  19. CREATE TABLE `lottery_round` (
  20. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '轮次ID',
  21. `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '轮次名称',
  22. `start_time` datetime NOT NULL COMMENT '开始时间',
  23. `end_time` datetime NOT NULL COMMENT '结束时间',
  24. `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '轮次描述',
  25. `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态(0-未开始,1-进行中,2-已结束)',
  26. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  27. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  28. PRIMARY KEY (`id`) USING BTREE,
  29. INDEX `idx_time`(`start_time` ASC, `end_time` ASC) USING BTREE
  30. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '抽奖轮次表' ROW_FORMAT = Dynamic;
  31. -- ----------------------------
  32. -- Records of lottery_round
  33. -- ----------------------------
  34. -- ----------------------------
  35. -- Table structure for prize
  36. -- ----------------------------
  37. DROP TABLE IF EXISTS `prize`;
  38. CREATE TABLE `prize` (
  39. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '奖品ID',
  40. `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '奖品名称',
  41. `description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '奖品描述',
  42. `image_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '奖品图片URL',
  43. `stock` int NOT NULL DEFAULT 0 COMMENT '库存数量',
  44. `probability` decimal(5, 4) NOT NULL COMMENT '中奖概率(0.0000-1.0000)',
  45. `prize_type` tinyint NOT NULL COMMENT '奖品类型(1-实物,2-虚拟,3-积分)',
  46. `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(0-下架,1-上架)',
  47. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  48. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  49. PRIMARY KEY (`id`) USING BTREE
  50. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '奖品表' ROW_FORMAT = Dynamic;
  51. -- ----------------------------
  52. -- Records of prize
  53. -- ----------------------------
  54. -- ----------------------------
  55. -- Table structure for user
  56. -- ----------------------------
  57. DROP TABLE IF EXISTS `user`;
  58. CREATE TABLE `user` (
  59. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  60. `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名',
  61. `phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号',
  62. `email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '邮箱',
  63. `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态(0-禁用,1-正常)',
  64. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  65. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  66. PRIMARY KEY (`id`) USING BTREE,
  67. UNIQUE INDEX `idx_username`(`username` ASC) USING BTREE,
  68. INDEX `idx_phone`(`phone` ASC) USING BTREE
  69. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
  70. -- ----------------------------
  71. -- Records of user
  72. -- ----------------------------
  73. -- ----------------------------
  74. -- Table structure for winning_record
  75. -- ----------------------------
  76. DROP TABLE IF EXISTS `winning_record`;
  77. CREATE TABLE `winning_record` (
  78. `id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
  79. `user_id` bigint NOT NULL COMMENT '用户ID',
  80. `prize_id` bigint NOT NULL COMMENT '奖品ID',
  81. `round_id` bigint NOT NULL COMMENT '抽奖轮次ID',
  82. `win_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '中奖时间',
  83. `is_claimed` tinyint NOT NULL DEFAULT 0 COMMENT '是否已领取(0-未领取,1-已领取)',
  84. `claim_time` datetime NULL DEFAULT NULL COMMENT '领取时间',
  85. PRIMARY KEY (`id`) USING BTREE,
  86. UNIQUE INDEX `idx_user_round`(`user_id` ASC, `round_id` ASC) USING BTREE,
  87. INDEX `idx_round`(`round_id` ASC) USING BTREE,
  88. INDEX `idx_user`(`user_id` ASC) USING BTREE
  89. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '中奖记录表' ROW_FORMAT = Dynamic;
  90. -- ----------------------------
  91. -- Records of winning_record
  92. -- ----------------------------
  93. SET FOREIGN_KEY_CHECKS = 1;