Files
hospital-front/pac/conf-example/README.md
T
lianlonggangandClaude 535162e63a feat: Kotlin+Solon 重构医院前置机(业务+被控端+Agent+升级流程)
主程序(com.hospital.front):
- Kotlin 2.0.21 + Solon 3.10.7 + MyBatis-Plus + HikariCP + Logback
- HospitalAdapter 策略模式:5 家医院(xinglongyuan/qingyang/ningxia/yanan/jinghe)+ dev Mock
- 三方言 Mapper:bsm(Oracle)/ nx / ya(SqlServer),存储过程参数原样迁移
- 20 个业务接口(/order/*)+ 11 个被控端接口(/api/admin/*,Token 鉴权+脱敏+防穿越)
- 全局异常处理、Result 统一响应、业务开关热更新

Agent(com.hospital.agent,独立进程,单 jar 双 main):
- WebSocket 主动出站连 B 端(指数退避重连),心跳转发主程序健康
- ProcessGuard 看门狗:3 次探测失败自动拉起主程序
- UpgradeCommand:下载→SHA256 校验→备份→替换→拉起→健康检查→失败自动回滚
- 命令分发:PING/日志/配置/重启等 10 类命令

部署(pac/):
- Windows Server 脚本(start.bat/agent.bat/WinSW 服务),纯 ASCII 注释防 GBK 错乱
- 5 家医院配置模板 + agent.properties

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-21 12:35:05 +08:00

49 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 外置配置示例(部署时拷贝到 conf\)
> **使用流程**
> 1. 首次部署:把整个 `conf-example\` 目录拷贝为 `conf\`
> ```
> xcopy /E /I conf-example conf
> ```
> 2. 编辑 `conf\app-{编码}.yml`,把 `CHANGE_ME` 替换为真实密码(或通过环境变量注入)
> 3. 根据实际部署环境修改 `hospital.id`、数据库 URL 等
>
> **本目录不入 Git**(已在 `.gitignore` 中声明 `pac/conf/*.yml`)。
## 5 家医院配置清单
| 医院 | 文件 | 数据库 | 默认端口 | `hm.type` |
|---|---|---|---|---|
| 兴隆园医院 | `app-xinglongyuan.yml` | Oracle | 8082 | `bsm` |
| 庆阳医院 | `app-qingyang.yml` | Oracle | 8082 | `bsm` |
| 宁夏宝石花医院 | `app-ningxia.yml` | SqlServer | 8082 | `nx` |
| 延安医院 | `app-yanan.yml` | SqlServer | 8082 | `ya` |
| 泾河医院 | `app-jinghe.yml` | Oracle | 8082 | `bsm` |
## 切换医院
```batch
# 启动泾河(默认)
bin\start.bat start
# 启动其他医院
set HOSPITAL=xinglongyuan
bin\start.bat start
```
## 环境变量占位
配置文件中使用 `${ENV_VAR:DEFAULT}` 占位语法,例如:
```yaml
password: ${DB_PWD_JINGHE:CHANGE_ME}
```
启动前设置环境变量(推荐,避免明文写密码):
```batch
set DB_PWD_JINGHE=ActualPassword
bin\start.bat start
```
> **安全提示**
> 1. 部署后 `chmod 600` 整个 `conf\` 目录(Linux)或 `Set-Acl`Windows PowerShell
> 2. **不要**把包含真实密码的 yml 提交到 Git