☰
一条命令跑通 Campus-iMaoTai:Docker 部署茅台自动预约的完整教程
2026/10/18 1:33:32 网站建设 项目流程

一条命令跑通 Campus-iMaoTai:Docker 部署茅台自动预约的完整教程

【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai

Campus-iMaoTai 是基于 Java 的 i茅台自动预约系统:每天 9 点到点批量提交申购,帮你完成茅台预约,你只管看结果。Docker 部署,一条 docker-compose up -d 拉起全部服务。

搭好茅台预约系统:三条命令一键部署

门槛不高:Linux(macOS/Windows 装 Docker Desktop 也行),Docker 20.10+,2G 内存,10G 磁盘。

git clone https://gitcode.com/GitHub_Trending/ca/campus-imaotai cd campus-imaotai/doc/docker docker-compose up -d

这条命令一次拉起四个服务:MySQL(3306,自动建库 campus_imaotai)、Redis(6379)、Nginx(80)、应用服务 campus-server(8160),细节见 docker-compose.yml。注意两点:所有服务都走 host 网络,3306/6379/80/8160 被占用就先停掉旧进程;/docker 下的 mysql、redis、nginx、server 挂载目录要提前建好。库里没有表的话,手动执行 doc/sql 里的初始化 SQL。

它是怎么替你预约的:从登录到出结果

账号录入:验证码登录,凭据落库

在用户管理里填 i茅台手机号,点「发送验证码」,输入短信码完成登录。成功后系统把 userId、MT-Token、MT-Device-ID 和到期时间存进库,你再填上目标门店的省市和自己的坐标。每个账号一套独立 token 和配置,多加一个账号就是多一条并行的预约线。

门店选择:先看出货量,再算直线距离

每次预约前先拉取该商品在所在省市的投放门店列表(Redis 缓存 60 分钟),按你设置的省份过滤,再按你选的门店类型分流:类型 1 优先挑你所在城市出货量最大的门店,本市没有就用 Haversine 公式算到省内各门店的直线距离,取最近的;类型 2 直接走「本省最近」。门店列表页能看到全部门店的经纬度和地址,也可以手动刷新。

一天的自动预约时间线

排期集中在 CampusIMTTask.java:凌晨 1:10 随机打乱各账号的预约分钟(避免所有人挤同一秒);7:10、7:55 刷新 App 版本号、当日商品和门店列表;9 点整点开始,每分钟挑出分钟数匹配的用户提交,人之间隔 3 秒;18:05 查询申购结果并写日志。操作日志页里每个账号一行,好不好一眼看到。

预约失败?三步定位原因

⚠️ 大多数故障落在这三类里,按顺序排查:

  1. 服务起不来 / 端口冲突—— 症状:启动后容器反复重启或端口被占。排查:docker ps 看容器状态,ss -lntp 看端口被谁占。解决:四个服务直接占用宿主机 3306/6379/80/8160,先把冲突的 MySQL 或 Nginx 停掉。
  2. 预约不执行 / 鉴权报错—— 症状:日志里出现「登录失败」或预约异常。排查:看用户管理页的到期时间列,再看日志里版本号刷新是否失败。解决:重新登录刷新 token;版本号拉不下来就是出网被挡,检查代理配置和代理是否存活。
  3. 并发慢—— 症状:账号多了出现连接池告警。排查:连接池水位、Redis 内存。解决:在 application-prod.yml 里适当调大连接池:
hikari: maxPoolSize: 20 minIdle: 10 connectionTimeout: 30000 maxLifetime: 1800000

缓存 TTL 也盯一下:sessionId 2 小时、门店列表 2 小时、省市商品列表 60 分钟,别调成秒级,否则每分钟都打官方接口,容易触发风控。

跑稳之后:时间窗口、门店策略与备份加固

  • 时间窗口:提交在 9 点整点,凌晨 1:10 打乱分钟让各账号错峰出手;18:05 出结果;旅行奖励窗口 9~20 点。服务器时钟开 NTP 同步,差几分钟整个流程就错。
  • 门店策略:离大店近就设类型 1(本市出货量最大优先);只在意提货距离就设 2(本省最近优先);坐标填得越准,距离排序越准。
  • 备份:/docker/mysql/data 是数据挂载目录,定期 tar 一份即可;用户表和日志表是核心数据。
  • 加固:改掉 docker-compose 里的 MYSQL_ROOT_PASSWORD(默认 123456789);管理后台在 80 端口,暴露公网就配 HTTPS 和防火墙。

想加功能,改哪块

登录、权限、日志这些基础设施在 campus-framework 模块,业务代码集中在 campus-modular,PushPlus 推送通道也已经接好。想加新的预约目标或新的定时任务,补一套实体、mapper 和 cron 任务就行,不用碰框架层。

【免费下载链接】campus-imaotaii茅台app自动预约,每日自动预约,支持docker一键部署(本项目不提供成品,使用的是已淘汰的算法)项目地址: https://gitcode.com/GitHub_Trending/ca/campus-imaotai

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询