Files
henan-backend/docs/修改记录.md
T

6.5 KiB
Raw Blame History

修改记录

只记大改动:一个需求 / 一个模块算一条;同一件事的多轮微调合并成一条,不逐轮记。 排序:最新在最上面。 展开细节看 docs/updata_sql.md(数据库改动,含完整可执行 SQL 与回滚)与 .workbuddy/memory/YYYY-MM-DD.md(过程与踩坑)。 维护:完成一个大改动后,在顶部按日期加一条;同一天追加在该日期块末尾。


2026-09-22

  • docker 配置命名统一:changzhou → henan(全套 henan_ 前缀)

    起因:docker/ 下的编排文件里到处是 changzhou,是从同源项目拷贝模板时的命名残留。查实本机 docker volume ls / docker ps -a:从未跑过 changzhou 这套(只存在 hunan 项目的容器与卷 hunan_mysql_db / hunan_redis_cache / hunan_rabbitmq_server,3 个月前创建、均已 Exited)⇒ 改名无数据迁移包袱。统一为 henan 全套前缀,与实跑的 hunan 命名风格对齐。

    改动 7 个文件:

    1. docker/compose/docker-compose.yml —— MYSQL_DATABASE / MYSQL_USER → henan;三个 container_name → henan_mysql_db / henan_redis_cache / henan_rabbitmq_server;网络 → henan_app_network;external 卷 → henan_mysql_data
    2. docker/compose/deploy.sh —— 自动建卷的卷名
    3. docker/compose/migrate-mysql-volume.sh —— NEW_VOL 与旧卷候选列表;docker stop henan_mysql_db
    4. docker/WINDOWS_QUICKSTART.md —— 卷名 / 库名 / 容器名;顺带修正 3 处本身就是错的路径 d:\changzhou_app\changzhou_backend\... → D:\henan_background\henan-backend\docker\compose;第 4 节「和 chengdu 项目切换」→ hunan
    5. ruoyi-admin/src/main/resources/application-dev.yml —— jdbc url 库名 + username
    6. ruoyi-admin/src/main/resources/application-pro.yml —— 同上
    7. bin/logtool.js —— -uhenan、-D henan、容器名 henan_mysql_db

    验证:docker compose -f docker-compose.yml config 解析通过、零报错,name 段全部已生效(库 henan、三个 henan_* 容器名、网络 henan_app_network、external 卷 henan_mysql_data)。零 SQL 变更、零后端代码改动。

    刻意没改:① chengduhipay —— 第三方支付通道名不是地名,application-dev/pro.yml 与 updata_sql.md 里几十处,动了支付会挂;② docs/updata_sql.md 里历史条目的 USE changzhou; —— 台账回改会失真,需要留痕就新加一条;③ 各 target/ dist*/ .lst stats.html —— 里面是 D:/changzhou_app/... 的编译期绝对路径,属产物,重新构建自然消失;④ docs/DEPLOYMENT.md、docs/README.md、docs/麻将胡了设计方案.md(D:\changzhou-cocos\... 是客户端仓库路径)—— 旧项目文档。

    上线前必做两件事:① 卷是 external: true,必须先 docker volume create henan_mysql_data,否则报 external volume not found 直接起不来(deploy.sh up -d 会自动建,手敲 docker-compose up 不会);② 新卷首次初始化会建出空的 henan 库 —— MYSQL_DATABASE / MYSQL_USER / MYSQL_PASSWORD 只在数据卷首次初始化时生效,原有数据需另行导入,否则应用连上的是空库。

    遗留待定:网络没固定 name:,实际名会随执行目录变(在 docker/compose 下执行时是 compose_henan_app_network)。卷已用 external + 固定 name 规避「换目录丢数据」,网络是否同样钉死成 henan_app_network 待定。

  • 下架三个玩法:删除「奥林匹斯 / 荒野争锋 / 极速糖果」的后台菜单与页面

    起因:这三个玩法不再需要,要求从后台左侧菜单移除。

    关键前提:RuoYi 的左侧菜单是数据库驱动的(sys_menu → /getRouters → 前端 sidebarRouters),代码里没有菜单清单,所以必须"先删数据、再删页面文件",只删前端文件的话菜单依然在。

    改动清单(完整 SQL 与回滚语句见 docs/updata_sql.md):

    1. 数据库(库 henan,已执行):sys_menu 删 22 行(3 个顶级 M + 19 个子页面 C);sys_role_menu 删 22 行授权(全属 role_id=103)。无 'F' 按钮权限行。
      • 3130 奥林匹斯 olympus → 子菜单 3131~3137
      • 2105 荒野争锋 bullet → 子菜单 2106~2110、2112
      • 2125 极速糖果 sweet → 子菜单 2126~2131
    2. 前端文件(38 个,删前已确认全部被 git 跟踪):ruoyi-ui/src/views/game/{olympus,bullet,sweet}/(7+6+6)与 ruoyi-ui/src/api/game/{olympus,bullet,sweet}/(7+6+6)。
    3. 文档:本条 + docs/updata_sql.md 新条目(含 44 条回滚 INSERT)。

    验证:

    • 删除后 sys_menu / sys_role_menu 命中行数均为 0(printf 实测);SELECT ... WHERE parent_id = 0 复查剩余 20 个一级菜单,三个玩法已消失。
    • 全量搜索 game/olympus|game/bullet|game/sweet|api/game/... 残留引用 = 0。
    • ruoyi-ui 生产构建 exitcode=0 / DONE Build complete(删掉页面后仍能编译,说明没有别处静态引用它们)。

    刻意没动:

    1. 后端 Java 代码。这些玩法名在后端出现在跨模块共享的文件里 —— TtAccountRecordSource(流水来源码 60=奥林匹斯)、TtboxRecordSource、RedisConstants、MessageCategoryEnum、PromoTurnover*、ApiUserPackSackServiceImpl、WebsiteSetupServiceImpl。删它们会波及其他玩法与推广/发货链路,不在「删页面」范围内。
    2. 数据库业务表:game_olympus_* / game_sweet_* 等原样保留,未 TRUNCATE、未 DROP。数据还在,随时可回。
    3. ruoyi-ui/src/views/game/sugar/(5 api + 5 页面)—— 没有任何菜单引用。菜单「极速糖果」指向的是 game/sweet/*,而 docs/cleanup_records.sql 又把 game_sugar_* 标注为「极速糖果」,两套并存;后端还存在 GameSugarWin/User/StepInfo/Spin 实体。疑似遗留或未接入的开发分支,未确认前不删。

    遗留待定:① 仪表盘「实时 RTP」卡片与「流水统计」折线里仍有 玫瑰女郎(=olympus) 一条 —— 那是后端 /getRtpData 返回的玩法列表,与菜单无关,删菜单不会让它消失;若要一并去掉得动后端。② game/sugar/* 是否清理待定。③ 是否需要把 game_olympus_* / game_sweet_* 业务表也清掉(现在只是入口没了,数据仍在库里占空间)。