| | |
| | | â ââ init.sql 建åºå»ºè¡¨ + é¢ç½®è´¦å·ï¼å¿
é¡»æ§è¡ï¼ |
| | | â ââ sql_city_bus.sql åå¸å®¢è¿-å
¬äº¤æåº¦è¡¨ï¼å¿
é¡»æ§è¡ï¼ |
| | | â ââ sql_city_taxi.sql åå¸å®¢è¿-åºç§æåº¦è¡¨/ææè¡¨ï¼å¿
é¡»æ§è¡ï¼ |
| | | â ââ sql_wyc.sql ç½çº¦è½¦å
¨çæ»é/订ååå¸å·è¡¨ï¼å¿
é¡»æ§è¡ï¼ |
| | | â ââ sql_wyc.sql ç½çº¦è½¦å
¨çæ»é/订ååå¸å·è¡¨ï¼å¿
é¡»æ§è¡ï¼ |
| | | â ââ sql_holiday.sql ä¸é¡¹ç»è®¡-éè¦èåæ¥è¡¨ï¼æ§åºè¡¥å»ºæ¶æ§è¡ï¼ |
| | | â ââ sql_holiday_decimal_migration.sql è忥æ°å¼å精度è¿ç§»ï¼æ§åºåçº§ï¼ |
| | | â ââ sql_holiday_comparison_base_migration.sql èåæ¥ç¯æ¯åºæå段è¿ç§»ï¼æ§åºåçº§ï¼ |
| | | ââ README-é¨ç½²è¯´æ.txt |
| | | ``` |
| | | |
| | |
| | | |
| | | ```bash |
| | | cd db |
| | | mysql --default-character-set=utf8mb4 -u root -p < init.sql # å»ºåº + 24 å¼ åºç¡è¡¨ + é¢ç½®è´¦å· |
| | | mysql --default-character-set=utf8mb4 -u root -p < init.sql # å»ºåº + 28 å¼ åºç¡è¡¨ + é¢ç½®è´¦å· |
| | | mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_city_bus.sql |
| | | mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_city_taxi.sql |
| | | mysql --default-character-set=utf8mb4 -u root -p -D traffic_audit < sql_wyc.sql |
| | | ``` |
| | | |
| | | > â ï¸ **`init.sql` æ¯ç ´åæ§ç**ï¼éé¢çåºç¡è¡¨é½å¸¦ `DROP TABLE IF EXISTS`ã**å·²ææ°æ®çåºä¸åä¸ä¸è¦åè· init.sql**ï¼å¦åè¡¨æ°æ®ä¼è¢«æ¸
空é建ã |
| | | > 4 ä¸ªèæ¬å
±è¦ç 29 å¼ è¡¨ï¼init.sql 24 å¼ + åå¸å®¢è¿ 3 å¼ + ç½çº¦è½¦ 2 å¼ ï¼ã |
| | | > æ©æçæ¬åºè¥æ²¡æè忥 4 å¼ è¡¨ï¼æ§è¡ `sql_holiday.sql`ï¼è¥å·²æèåæ¥è¡¨ä½ç¼ºç²¾åº¦æç¯æ¯åºæåæ®µï¼æéæ§è¡ä¸¤ä¸ªè¿ç§»èæ¬ã |
| | | > 4 ä¸ªèæ¬å
±è¦ç 33 å¼ è¡¨ï¼init.sql 28 å¼ ï¼å
¶ä¸å«è忥 4 å¼ + åå¸å®¢è¿ 3 å¼ + ç½çº¦è½¦ 2 å¼ ï¼ã |
| | | |
| | | #### 路线 Bï¼æç°ç½/å¼åæºçæ°æ®æ´å¥æ¬è¿å»ï¼æ¨èï¼ä¸ç¨è·èæ¬ï¼ |
| | | |
| | |
| | | |
| | | - `--databases` 伿 `CREATE DATABASE` + `USE` ä¸èµ·åè¿å¤ä»½ï¼æä»¥ç®æ æºå¨**ä¸ç¨å
建åºãä¹ä¸ç¨è·é£ 4 ä¸ªèæ¬**ã |
| | | - å¤ä»½éå
å« `sys_user`ï¼è´¦å·å¯ç 䏿ºæºå¨å®å
¨ä¸è´ï¼æ¬æºæ¯ `admin / 123456`ï¼ï¼ä¸ä¼è¢«éç½®æ `admin/admin123`ã |
| | | - â ï¸ å¤ä»½éæ¯å¼ 表é½å¸¦ `DROP TABLE IF EXISTS`ï¼å
± 29 å¼ ï¼ï¼**ç®æ åºè¦æ¯å·²ææ°æ®ï¼ä¼è¢«ç´æ¥è¦ç**ã请è¿åå°ç©ºåºï¼æå
èªå·±å¤ä»½ç®æ åºã |
| | | - â ï¸ å¤ä»½éæ¯å¼ 表é½å¸¦ `DROP TABLE IF EXISTS`ï¼ä»¥å®é
å¤ä»½ä¸ºåï¼ææ°ä¸º 33 å¼ ï¼ï¼**ç®æ åºè¦æ¯å·²ææ°æ®ï¼ä¼è¢«ç´æ¥è¦ç**ã请è¿åå°ç©ºåºï¼æå
èªå·±å¤ä»½ç®æ åºã |
| | | - æ¬æ¬¡å·²çæå¹¶**éªè¯è¿**å¤ä»½ï¼`traffic_audit_full_20260913.sql`ï¼45.5 MBï¼8.0.29 客æ·ç«¯å¯¼åºï¼ã |
| | | éªè¯æ¹å¼ï¼æå¤ä»½åºåæ¹æä¸´æ¶åºå¯¼å
¥ï¼é表æ¯å¯¹ `SHOW CREATE TABLE`ï¼è¡¨ç»æï¼ä¸ `COUNT(*)`ï¼è¡æ°ï¼ââ**29 å¼ è¡¨ç»æä¸è¡æ°å 0 å·®å¼**ï¼æ½æ¥ `wyc_order_monthly` 2026-08 æ°æ®ä¸è´ï¼éªè¯åå·²å é¤ä¸´æ¶åºã |
| | | éªè¯æ¹å¼ï¼æå¤ä»½åºåæ¹æä¸´æ¶åºå¯¼å
¥ï¼é表æ¯å¯¹ `SHOW CREATE TABLE`ï¼è¡¨ç»æï¼ä¸ `COUNT(*)`ï¼è¡æ°ï¼ââ**29 å¼ è¡¨ç»æä¸è¡æ°å 0 å·®å¼ï¼æ°å¢èåæ¥æ¨¡åå为 33 å¼ ï¼**ï¼æ½æ¥ `wyc_order_monthly` 2026-08 æ°æ®ä¸è´ï¼éªè¯åå·²å é¤ä¸´æ¶åºã |
| | | |
| | | #### 路线 B2ï¼ç¨ Navicat çãå¤ä»½ / è¿åå¤ä»½ãï¼.nb3ï¼æè´´è¿æ¥å¸¸ä¹ æ¯ï¼ |
| | | |
| | |
| | | | å¯¼åºæ¥ãæªæ¾å°æ±æ»è¡¨æ¯çãYYYYå¹´Mæâ¦ãã | `docs/çææ±æ»å¤§è¡¨` ç¼ºè¯¥ææ¯ç | |
| | | | ç»å½æ¥å£ 500 | `jwt.secret` å¡«äºéæ³å符ï¼å¦ä¸æï¼ï¼æ¹æ 32 ä½åå
è¿å¶ä¸² | |
| | | | 页é¢è½å¼ä½æ¥å£ 404 | èµ° nginx æ¹æ¡æ¶æ²¡é
`/api` åä»£ï¼æ¹ç¨ jar å
åµè®¿é® 8090 | |
| | | | æ°æ®åºè¿æ¥å¤±è´¥ | æ£æ¥ `application.yml`ï¼ç¡®è®¤ 4 个 SQL èæ¬å·²æ§è¡ | |
| | | | æ°æ®åºè¿æ¥å¤±è´¥ | æ£æ¥ `application.yml`ï¼ç¡®è®¤ 5 个 SQL èæ¬å·²æ§è¡ | |
| | | | 端å£å ç¨ | æ¹ `server.port`ï¼å端å¼åç«¯å£ 8080 | |
| | | |
| | | ## åãå¼åç¯å¢æ¥å¸¸å¯å¨ |
| | |
| | | | jar å级ç `backend/application.yml` | é¨ç½²æºçå®å¼ï¼ä¼å
级é«äº jar å
ç½®ï¼ | å¦ | å¦ï¼å¨å
å¤ï¼ç°åºå¡«ï¼ | |
| | | | ç¯å¢åé `TRAFFIC_DB_PASSWORD` / `TRAFFIC_DB_USER` / `TRAFFIC_DB_URL` / `TRAFFIC_JWT_SECRET` / `DEEPSEEK_API_KEY` | è¦ç以ä¸ä»»æä¸é¡¹ | å¦ | å¦ | |
| | | |
| | | ### æ¬æºå¼åï¼å¼æ¾ç¯å¢åéï¼ä¸è½æä»¶ï¼ |
| | | |
| | | ```powershell |
| | | setx TRAFFIC_DB_PASSWORD "æ¬æº MySQL å£ä»¤" # è®¾ä¸æ¬¡å³å¯ï¼ä¹åæ°å¼çç»ç«¯èªå¨å¸¦ä¸ |
| | | setx DEEPSEEK_API_KEY "DeepSeek key" |
| | | # éè¦æ¶åè¦çï¼setx TRAFFIC_DB_URL / TRAFFIC_DB_USER / TRAFFIC_JWT_SECRET |
| | | |
| | | powershell -NoProfile -ExecutionPolicy Bypass -File start-dev.ps1 # ä¼èªå¨ä»æ³¨å表补é½å¹¶æ³¨å
¥å端è¿ç¨ |
| | | ``` |
| | | |
| | | - `traffic-audit-server/config/application.yml` åªç注é说æï¼æ ææï¼ï¼å æå®ä¹ä¸å½±åï¼å¼å
¨å¨ç¯å¢åééï¼ã |
| | | - è¥ç¨ IDE ç´æ¥è·ä¸»ç±»ï¼è¯·å¨**æ°å¼ç**ç»ç«¯/IDE éå¯å¨ï¼è®©æ°ç»ç«¯ç»§æ¿ç¨æ·ç¯å¢åéï¼ï¼ææå¨ `setx` åéå¯ IDEã |
| | | |
| | | ### æå
åèªæ¥ï¼30 ç§ï¼ |
| | | |
| | | ```powershell |
| | |
| | | python -c "import zipfile;print(zipfile.ZipFile('traffic-audit-server/target/traffic-audit-server-1.0.0-SNAPSHOT.jar').read('BOOT-INF/classes/application.yml').decode('utf-8'))" | Select-String "password:|api-key:" |
| | | ``` |
| | | |
| | | |
| | | ### ä¸é®æå
ï¼æ¨èï¼2026-09-27 èµ·ï¼ |
| | | |
| | | ```powershell |
| | | powershell -NoProfile -ExecutionPolicy Bypass -File pack-deploy.ps1 |
| | | # å¯éåæ°ï¼ -OutRoot "E:\è¯éª" -SkipFrontend |
| | | ``` |
| | | |
| | | èæ¬ååä»¶äºï¼ |
| | | 1. `mvn clean package -DskipTests` æå»ºå端 jarï¼ |
| | | 2. **è§£å jar èªæ£**ï¼æ£æ¥ `BOOT-INF/classes/application.yml` æ¯å¦å
¨ä¸ºå ä½ç¬¦ââ䏿¦åç° `sk-` æææå£ä»¤**ç´æ¥ä¸æ¢æå
**ï¼ |
| | | 3. `npm run build` é建å端 `dist`ï¼ |
| | | 4. æ `deploy-templates/` ç»è£
宿´é¨ç½²å
ï¼backend / frontend / db / README-é¨ç½²è¯´æ.txtï¼ï¼è¾åºå° `<OutRoot>\traffic-audit-deploy-<yyyyMMdd>`ã |
| | | |
| | | 模æ¿ä»¶ç»ä¸æ¾å¨ **`deploy-templates/`**ï¼å·²å
¥åºï¼ï¼å¤é¨ `application.yml`ã`start-backend.cmd/.sh`ã`nginx.conf.example`ã`db\{init.sql,sql_city_bus,sql_city_taxi,sql_wyc}.sql`ã`README-é¨ç½²è¯´æ.txt`ãæ¹æ¨¡æ¿å³æ¹æå
产ç©ã |
| | | |
| | | ### è½®æ¢å¯é¥ååæ¥æ¬æº |
| | | |
| | | ```powershell |
| | | powershell -NoProfile -ExecutionPolicy Bypass -File set-secrets.ps1 |
| | | ``` |
| | | |
| | | 交äºå¼è¾å
¥ï¼åè½¦è·³è¿æä¸é¡¹ï¼ï¼èªå¨ `setx` å°ç¨æ·ç¯å¢åéå¹¶æç¤ºéå¯å端ï¼å¼ä¸ä¼åå
¥ä»»ä½æä»¶ã |
| | | |
| | | ### é¨ç½²æºä¸å /æ¢ DeepSeek key |
| | | |
| | | 1. æå
ä¸ä¼ åï¼ç¼è¾ **jar å级**ç `backend/application.yml`ï¼`deepseek.api-key: "ä½ çæ°key"`ï¼ç空åé¡µé¢ AI åæä¸å¯ç¨ï¼å
¶ä½åè½æ£å¸¸ï¼ï¼ |