Skip to content

YGLF/Contract_Manage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

合同管理系统微服务交付目录

本目录为政企合同管理系统的微服务部署交付版,部署目标为:

  • 操作系统:麒麟 V10 SP3
  • 数据库:南大金仓 GBADE(MySQL 兼容模式)
  • AI 推理:910B 算力服务器 HTTP 推理接口

CentOS 7 仅作为应用系统部署测试环境,不作为实际生产基线。

系统边界保持不变:

  • 仅管理已盖章生效合同的全生命周期
  • 不包含合同起草、签署、电子签、用印流程
  • 审批服务仅承接允许存在的子流程审批

当前目录用途

本目录用于微服务部署、联调、测试和交付,不再作为旧单体版本的开发目录。

根目录保留的重点内容:

  • cmd/:各微服务启动入口
  • internal/:微服务业务实现
  • pkg/:公共组件、中间件、审计、配置、数据库、Outbox
  • frontend/:前端工程
  • docs/:部署与说明文档
  • docker-compose.microservices.yml:微服务编排文件
  • docker-compose.production.yml:生产镜像编排文件
  • Dockerfile.microservice:统一微服务镜像构建入口
  • .env.microservices.example:环境变量模板

微服务清单

cmd/ 下当前包含:

  • gateway-service
  • identity-service
  • audit-service
  • contract-service
  • document-service
  • performance-service
  • approval-workflow-service
  • risk-service
  • amendment-service
  • closure-service
  • archive-service
  • notification-service
  • report-service
  • party-service
  • search-ai-service
  • outbox-dispatcher

部署入口

优先参考以下文件:

Linux 首次部署前,建议先执行:

chmod +x scripts/*.sh

如果现场脚本文件是从 Windows 工作站拷贝出来的,请先确认 shell 脚本为 Unix LF 换行;仓库已通过 .gitattributes 固定 *.shLF。如果仍遇到执行权限或 shebang 问题,可直接使用 bash scripts/<name>.sh 方式兜底执行。

JWT_SECRET 可直接在 Linux 生成,例如:

openssl rand -hex 32

如果现场没有 openssl,可改用:

tr -dc 'A-Za-z0-9' </dev/urandom | head -c 64 && echo

生成后的值请写入 .env,并确保网关和身份服务使用同一套 JWT_SECRET;不要把真实密钥提交到仓库。

启动示例:

docker compose --env-file .env -f docker-compose.microservices.yml up -d

Linux 一键部署示例:

bash scripts/deploy-linux.sh

说明:当前生产镜像构建固定使用项目内 vendor/ 依赖,不再在 Docker 构建期执行 go mod download。如果缺少 vendor/,请先在联网环境执行 go mod vendor,或使用 bash scripts/prepare-offline-bundle.sh 生成并同步离线依赖。

如需先单独校验 vendor/ 是否和当前 go.mod 一致,可执行:

bash scripts/sync-vendor-check.sh

异步通信说明

为避免下游微服务短时故障直接拖垮主业务链路,生产模式下已将以下“写后派生动作”切换为 outbox + dispatcher 异步投递:

  • performance-service -> risk-service
  • risk-service -> notification-service
  • closure-service -> archive-service

边界说明:

  • 合同结案前的绩效检查、未关闭风险检查仍保持同步,这是强一致业务门禁,不能异步化。
  • outbox-dispatcher 现在在 docker-compose.production.yml 中按常驻 worker 运行,默认每 10s 轮询一次待投递事件。
  • 如需调整频率,可在 .env 中配置 OUTBOX_DISPATCH_MODEOUTBOX_DISPATCH_INTERVALOUTBOX_DISPATCH_LIMIT

目录整理说明

为避免旧单体代码和微服务交付目录混用,历史单体源码、旧运行产物、旧日志和旧可执行文件已归档到:

  • _legacy_monolith_archive/

该归档目录仅用于历史追溯,不作为当前微服务交付入口。

建议后续动作

部署前建议继续完成以下检查:

  1. 按麒麟 V10 SP3 / GBADE / 910B 环境修正 .env
  2. 生产环境优先校验 docker-compose.production.yml,联调环境再校验 docker-compose.microservices.yml
  3. 清理或替换默认密钥与测试账号配置
  4. 使用 scripts/deploy-linux.sh 做前后端一键部署和失败诊断

About

采用微服务开发合同管理系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors