155 Commits

Author SHA1 Message Date
zhangjf
011a6bfb3f fix: 移动端新增客户表单与后端字段对齐
- 新增联系人(contact)字段,设为必填
- 客户编码(customerCode)设为必填
- 移除后端不支持的字段:简称、客户等级、所属行业
- 表单字段与后端CustomerCreateDTO保持一致
2026-02-23 13:14:17 +08:00
zhangjf
965d98cab5 feat: 移动端新增客户页面添加客户编码字段
- 新增客户编码输入框(customerCode)
- 位于客户名称字段之前
2026-02-23 13:05:57 +08:00
zhangjf
69f437dbb3 fix: 移动端表单优化
1. 新增页面必填项标记
   - expense/Add.vue: 支出标题、支出类型、支出金额添加红色星号必填标记
   - 其他使用 van-form 的页面已有 required 属性标记

2. 错误提示优化
   - 将 showToast 改为 showFailToast 显示错误提示
   - showFailToast 使用红色背景,错误信息更清晰可见
   - 涉及文件:
     - expense/Add.vue
     - requirement/Add.vue
     - receivable/Add.vue
     - project/Add.vue
     - customer/Add.vue
     - my/ChangePassword.vue
2026-02-23 12:56:52 +08:00
zhangjf
b5a954f008 fix: 修复列表页浮动添加按钮被底部Tabbar遮挡的问题
将列表页浮动添加按钮的bottom值从24px调整为80px:
- receivable/List.vue
- expense/List.vue
- requirement/List.vue

Tabbar高度64px,添加按钮需要预留足够空间避免被遮挡
2026-02-23 12:43:42 +08:00
zhangjf
205af48cb6 fix: 修复底部工具栏遮挡页面提交按钮的问题
1. 在App.vue中统一添加padding-bottom: 80px
2. 移除各列表页面重复的padding-bottom设置
   - expense/List.vue
   - requirement/List.vue
   - receivable/List.vue
2026-02-23 12:37:20 +08:00
zhangjf
400b7272d4 feat: 移动端新增修改密码功能
1. 新增修改密码页面 (my/ChangePassword.vue)
   - 支持输入旧密码、新密码、确认密码
   - 密码验证:至少6位、两次输入一致性校验
   - 修改成功后自动清除登录信息并跳转到登录页

2. 新增API接口 (updatePassword)
   - PUT /sys/profile/password
   - 参数: oldPassword, newPassword, confirmPassword

3. 更新路由配置
   - 新增 /my/change-password 路由

4. 更新我的页面
   - 修改密码点击跳转到修改密码页面
2026-02-23 12:32:36 +08:00
zhangjf
e7f1b39ac8 style: 移动端首页UI调整
1. 删除顶部标题区域,节省页面垂直空间
2. 快捷操作调整为2行布局(第一行3个,第二行2个)
3. 优化快捷操作图标和文字大小
2026-02-23 12:26:58 +08:00
zhangjf
d3a77c23f1 feat: 移动端首页重构与业务模块完善
1. 首页布局调整
   - 保留今日概览板块
   - 快捷操作板块:新增需求工单、新增应收款、新增支出、新增项目、新增客户
   - 新增业务服务板块:需求工单、应收款管理、支出管理、项目管理、客户管理入口

2. 新增页面
   - 需求工单:列表页(支持搜索)、新增页
   - 支出管理:列表页(支持搜索)、保留新增页
   - 应收款:新增页、列表页添加搜索功能
   - 项目:新增页、列表页优化搜索参数
   - 客户:新增页、列表页优化搜索参数

3. API更新
   - 新增需求工单相关API(getRequirementList、getRequirementById、createRequirement)
   - 新增项目新增API(createProject)
   - 新增客户新增API(createCustomer)
   - 新增应收款新增API(createReceivable)
   - 更新搜索参数为统一的keyword格式

4. 路由更新
   - 新增需求工单列表/新增路由
   - 新增支出管理列表路由
   - 新增应收款新增路由
   - 新增项目新增路由
   - 新增客户新增路由
2026-02-23 11:51:52 +08:00
zhangjf
5e782ac8cc docs: 增加前端API集中管理设计规范
1. 架构设计文档 v1.7 -> v1.8
   新增 6.1.5 API集中管理规范:
   - 目录结构示例:api/index.ts + api/request.ts + api/modules/
   - api/index.ts 代码示例
   - Vue组件调用示例(正确vs错误对比)
   - 规范要求:禁止硬编码、统一入口、路径简化、便于维护

2. Agents.md v1.2 -> v1.3
   新增 5.6 前端API集中管理规范:
   - 目录结构说明
   - 规范要求表格
   - 正确/错误代码示例对比

规范要点:
- 采用独立目录或文件集中管理后台API请求
- Vue组件中禁止直接使用 request.get('/xxx/xxx') 硬编码URL
- 所有API函数从 @/api 统一导出,按模块分组
- API路径变更时只需修改 api/index.ts 一处
2026-02-23 11:26:18 +08:00
zhangjf
2e7fb5f5d4 fix: 修复移动端API路径错误,统一归集到api/index.ts
问题:
- Vue文件中直接使用错误的API路径 /api/v1/xxx
- 导致请求URL重复包含/api/v1,被当作静态资源处理

修复:
1. 重构src/api/index.ts,按模块分类集中定义所有API
   - 用户认证:login, getUserInfo, logout
   - 项目管理:getProjectList, getProjectById
   - 客户管理:getCustomerList
   - 支出管理:createExpense, getExpenseList, getExpenseTypeTree, getTodayExpense
   - 应收款管理:getReceivableList, getUpcomingDueList, getTodayIncome, getUnpaidAmount, getOverdueCount

2. 修复各Vue文件,使用集中的API定义
   - Home.vue: 使用getTodayIncome, getTodayExpense, getUnpaidAmount
   - receivable/List.vue: 使用getReceivableList
   - expense/Add.vue: 使用createExpense, getExpenseTypeTree
   - Login.vue: 使用login

正确的API路径:
- 前端请求: /fund/receipt/receivable/page
- Gateway转发: /api/v1/receipt/receivable/page
2026-02-23 11:18:44 +08:00
zhangjf
610054918a docs: 架构设计文档和Agents.md增加前端部署路径设计
1. 架构设计文档 v1.6 -> v1.7
   新增 6.1 前端部署路径设计章节:
   - 6.1.1 部署路径规划表
   - 6.1.2 Nginx配置示例
   - 6.1.3 前端构建配置(VITE_BASE等)
   - 6.1.4 API请求路径规范
   - 原有章节编号顺延(6.1->6.3, 6.2->6.4)

2. Agents.md v1.1 -> v1.2
   15.2 访问地址 改为 15.2 前端部署路径:
   - 新增前端部署路径规划表
   - 补充移动端H5开发环境访问地址
2026-02-23 11:01:19 +08:00
zhangjf
f8e0a51314 docs: 更新文档中的前端部署路径地址
部署路径更新:
- fund-admin 部署路径: /fadmin/
- fund-mobile 部署路径: /fmobile/
- API网关前缀: /fund

更新内容:
1. 部署运维文档.md
   - 本地开发访问地址添加移动端H5
   - Docker Compose架构图更新前端访问路径
   - 服务清单添加访问路径说明
   - Nginx配置示例更新为子路径部署

2. 单机部署文档.md
   - 部署架构图更新前端路径
   - 前端打包说明添加部署脚本和子路径说明
   - 新增4.5 Nginx配置章节
   - 添加前端解压部署步骤
2026-02-23 10:53:04 +08:00
zhangjf
807f894828 fix: 修复Login.vue登录API路径错误
- 将 '/sys/api/v1/auth/login' 修正为 '/auth/login'
- baseURL已配置为/fund,最终请求地址为 /fund/auth/login
2026-02-23 10:47:30 +08:00
zhangjf
1a5b583c2f feat: fund-mobile支持Nginx子路径/fmobile部署
- 新增.env.development/.env.production环境配置
- vite.config.ts支持VITE_BASE动态base路径
- router使用import.meta.env.BASE_URL
- API baseURL使用环境变量
- 新增vite-env.d.ts类型声明
2026-02-23 10:28:51 +08:00
zhangjf
bd5f8ab468 fix: 数据库脚本与实体类一致性修复 + fund-admin Nginx子路径部署支持
1. 数据库脚本修复:
   - fund_sys_init.sql: sys_config表添加group_code/group_name/sort_order/remark字段
   - fund_proj_init.sql: 添加requirement表(需求工单)
   - fund_exp_init.sql: 添加fund_expense表缺失字段
   - 删除重复的doc/requirement.sql

2. fund-admin Nginx子路径部署支持:
   - 新增.env.development/.env.production环境配置
   - vite.config.ts支持VITE_BASE动态base路径
   - router使用import.meta.env.BASE_URL
   - API baseURL使用环境变量
   - deploy-frontend-nginx.sh支持/fadmin部署前缀

3. 架构文档更新:
   - 数据库设计文档新增4.4实体类与SQL脚本同步规范
   - 新增4.5自动化检查机制
2026-02-23 00:12:39 +08:00
zhangjf
8490b7a2c6 fix: 全面修复网关路由与前端API路径一致性问题
问题分析:
1. 后端Controller路径不一致:
   - fund-cust: /api/v1/customer (不是/api/v1/cust/customer)
   - fund-proj: /api/v1/project (不是/api/v1/proj/project)
   - fund-sys: /api/v1/auth 和 /api/v1/sys/* 两种路径

2. 之前的错误修改导致路径不匹配

解决方案:
- 网关: StripPrefix=1 + PrefixPath=/api/v1
- 前端: baseURL=/fund,路径直接对应后端路径

网关路由配置:
- fund-sys: /fund/auth/**,/fund/sys/** -> /api/v1/auth/*,/api/v1/sys/*
- fund-cust: /fund/customer/** -> /api/v1/customer/*
- fund-proj: /fund/project/**,/fund/requirement/** -> /api/v1/project/*,/api/v1/requirement/*
- fund-exp: /fund/exp/** -> /api/v1/exp/*
- fund-receipt: /fund/receipt/** -> /api/v1/receipt/*
- fund-report: /fund/report/** -> /api/v1/report/*
- fund-file: /fund/file/** -> /api/v1/file/*

前端API路径规范:
- 认证: /auth/login -> /api/v1/auth/login
- 用户: /sys/user/page -> /api/v1/sys/user/page
- 客户: /customer/page -> /api/v1/customer/page
- 项目: /project/page -> /api/v1/project/page
- 支出: /exp/expense/page -> /api/v1/exp/expense/page
- 收款: /receipt/receivable/page -> /api/v1/receipt/receivable/page
- 报表: /report/stats -> /api/v1/report/stats
- 文件: /file/upload -> /api/v1/file/upload

修改文件:
- fund-gateway/application.yml: 路由配置调整
- TenantGatewayFilter.java: 白名单路径修正
- TokenAuthFilter.java: 白名单路径修正
- fund-admin/src/api/*.ts: 所有API路径修正
- fund-mobile/src/api/index.ts: 所有API路径修正
- FileUpload组件: 上传路径修正
2026-02-22 23:06:54 +08:00
zhangjf
3b0b10d5b2 fix: 修复前端API路径与网关路由配置匹配
问题:前端API包含/api/v1导致路径重复
- 前端: /fund/sys/api/v1/auth/login
- 网关StripPrefix=2后: /api/v1/auth/login
- PrefixPath=/api/v1后: /api/v1/api/v1/auth/login 

修复:移除前端API中的/api/v1前缀

fund-admin修改:
- auth.ts: /sys/auth/login
- user.ts: /sys/sys/user/page
- tenant.ts: /sys/sys/tenant/page
- customer.ts: /cust/cust/customer/page
- project.ts: /proj/proj/project/page
- expense.ts: /exp/exp/expense/page
- receivable.ts: /receipt/receipt/receivable/page
- report.ts: /report/report/dashboard/stats
- file.ts: /file/file/upload
- menu.ts: /sys/sys/menu/tree
- role.ts: /sys/sys/role/page
- dept.ts: /sys/sys/dept/list
- config.ts: /sys/sys/config/page
- FileUpload组件: /fund/file/file/upload

fund-mobile修改:
- index.ts: 统一移除/api/v1,添加模块名重复

路由流程示例:
- 前端请求: /fund/sys/auth/login
- StripPrefix=2: /auth/login
- PrefixPath=/api/v1: /api/v1/auth/login ✓
2026-02-22 22:56:00 +08:00
zhangjf
e6f3f85581 fix: 修复网关路由配置,添加PrefixPath补全API路径
问题:
- StripPrefix=2 后路径缺少 /api/v1 前缀
- 健康检查路径不正确,无法访问

修改:
1. application.yml: 所有路由添加 PrefixPath=/api/v1
2. TenantGatewayFilter: 更新白名单健康检查路径
3. TokenAuthFilter: 更新白名单健康检查路径

路由流程示例:
- 登录: /fund/sys/auth/login
  → StripPrefix=2 → /auth/login
  → PrefixPath=/api/v1 → /api/v1/auth/login ✓

- 健康检查: /fund/sys/sys/health
  → StripPrefix=2 → /sys/health
  → PrefixPath=/api/v1 → /api/v1/sys/health ✓

注意:健康检查路径需要重复模块名
- /fund/{module}/{module}/health
2026-02-22 22:48:32 +08:00
zhangjf
92d8234fcb fix: 更新网关Filter白名单路径,适配/fund前缀
修改文件:
- TenantGatewayFilter.java: 白名单路径添加/fund前缀
- TokenAuthFilter.java: 白名单路径添加/fund前缀

白名单路径变更:
- 旧: /sys/api/v1/auth/login
- 新: /fund/sys/auth/login

说明:
- Filter在网关层执行,使用原始请求路径(含/fund前缀)
- StripPrefix在Filter之后执行,转发时才剥离前缀
2026-02-22 22:35:45 +08:00
zhangjf
797feff8c2 feat: fund-gateway增加/fund context path
修改内容:
1. fund-gateway/application.yml:
   - 所有路由Path添加/fund前缀
   - StripPrefix从1改为2(剥离/fund和模块名两级)
   - 例:/fund/sys/... -> 转发到 /api/v1/sys/...

2. 前端API配置:
   - fund-admin/src/api/request.ts: baseURL改为'/fund'
   - fund-mobile/src/api/request.ts: baseURL改为'/fund'

3. Nginx部署脚本:
   - 添加/fund/路径代理配置
   - 保留/api/代理兼容旧版

API调用示例:
- 旧版:/sys/auth/login
- 新版:/fund/sys/auth/login

网关路由:
- /fund/sys/** -> lb://fund-sys/api/v1/sys/**
- /fund/cust/** -> lb://fund-cust/api/v1/cust/**
- ...
2026-02-22 22:24:20 +08:00
zhangjf
961b669b16 docs: 更新部署运维文档,添加启动脚本与日志配置说明
更新内容:
- 5.2.1 日志配置:添加logback-spring.xml关键配置
  - APP_NAME使用app.instance.name区分多实例
  - LOG_PATTERN直接配置避免shell解析问题
  - 多实例日志隔离示例
- 5.2.2 启动脚本配置:新增章节
  - start.sh核心逻辑说明
  - 关键参数说明表
  - 单实例/多实例启动示例
- 5.2.3 ELK日志收集:章节号调整
- 版本更新:v2.0 -> v2.1
2026-02-22 21:20:29 +08:00
zhangjf
69556c047a feat: 日志目录使用INSTANCE_NAME区分多实例
问题:多实例部署时,APP_NAME相同导致日志互相覆盖
- 实例1: fund-sys (普通租户)
- 实例2: fund-sys-vip (VIP租户)
- 日志都写入 /datacfs/applogs/fund-sys/ 

修改:
- start.sh:
  - 添加 -Dapp.instance.name=${INSTANCE_NAME} 参数
  - 日志目录改为 ${LOG_HOME}/${INSTANCE_NAME}
- logback-spring.xml (9个服务):
  - APP_NAME source改为 app.instance.name
  - 默认值保持服务名用于fallback

效果:
- 实例1: /datacfs/applogs/fund-sys/info.log
- 实例2: /datacfs/applogs/fund-sys-vip/info.log 
2026-02-22 21:14:48 +08:00
zhangjf
480bd796f4 refactor: 将LOG_HOME移至env.properties统一管理
- env.properties: 添加LOG_HOME配置项
- start.sh: LOG_HOME从环境变量读取,提供默认值fallback

优势:
- 日志路径集中配置,便于统一修改
- 不同环境可配置不同日志目录
- 启动脚本无需修改即可适应不同环境
2026-02-22 21:02:33 +08:00
zhangjf
88bb3193e5 fix: 修复日志路径重复问题
问题:LOG_HOME已包含服务名,logback又加APP_NAME导致重复
- start.sh: LOG_HOME="/datacfs/applogs/${INSTANCE_NAME}"
- logback: ${LOG_PATH}/${APP_NAME}/info.log
- 结果: /datacfs/applogs/fund-gateway/fund-gateway/info.log

修复:
- start.sh: LOG_HOME改为"/datacfs/applogs"(不含服务名)
- logback会自动添加APP_NAME子目录
- 结果: /datacfs/applogs/fund-gateway/info.log

多租户场景:
- 通过传入不同的logging.file.path区分实例日志
- 如 -Dlogging.file.path=/datacfs/applogs/fund-sys-vip001
2026-02-22 20:58:09 +08:00
zhangjf
ca1d0edd56 fix: 移除启动命令中的日志格式参数,避免shell解析错误
问题:
- LOG_PATTERN包含特殊字符(百分号、方括号等)
- 通过-D参数传递导致shell解析错误

修改:
- start.sh: 移除LOG_LEVEL_ROOT/LOG_LEVEL_APP/LOG_PATTERN参数
  只保留logging.file.path用于指定日志目录
- logback-spring.xml: 日志格式改为直接配置
  使用<property>而非<springProperty>
- env.properties: 更新注释说明日志配置由logback管理

优势:
- 启动命令简洁,无特殊字符解析问题
- 日志配置统一在logback-spring.xml管理
- 避免shell注入风险
2026-02-22 20:52:46 +08:00
zhangjf
1f30315a2f refactor: 将conf目录加入classpath,移除spring.config.location参数
- start.sh:
  - ClassPath改为 lib/*:conf
  - 移除CONFIG_OPTS参数
  - Spring Boot自动从classpath加载配置文件

优势:
- 启动命令更简洁
- 配置文件作为classpath资源自动加载
- 符合Spring Boot标准做法
2026-02-22 20:37:20 +08:00
zhangjf
2184dce6a8 refactor: 优化打包结构,主JAR放入lib目录并带版本号
- pom.xml: 移除finalName配置,JAR保留版本号
- assembly.xml: 主JAR放入lib目录(useProjectArtifact=true)
- start.sh: 简化启动逻辑
  - ClassPath统一为 lib/*
  - 无需单独匹配主JAR文件名
  - 只需配置MAIN_CLASS即可启动

优势:
- 主JAR带版本号便于版本识别和升级
- 所有JAR统一放lib目录,结构清晰
- 启动脚本更简洁,无需APP_NAME匹配JAR
2026-02-22 20:30:28 +08:00
zhangjf
a4aa4b4156 feat: 优化打包方式为普通JAR+依赖分离
- pom.xml:
  - 添加finalName配置去除版本号
  - maven-jar-plugin排除资源文件
  - 禁用spring-boot-maven-plugin repackage
  - 各服务移除冗余的plugin配置

- assembly.xml:
  - 主JAR放根目录(仅服务代码)
  - lib目录放依赖JAR

- start.sh:
  - 支持java -cp classpath模式启动
  - 从service.properties读取MAIN_CLASS
  - 向后兼容fat jar模式

- service.properties:
  - 所有服务添加MAIN_CLASS配置

优势:
- 主JAR从131MB缩小到103KB
- 多服务部署可共享lib目录
- 资源文件外置便于修改
2026-02-22 20:22:27 +08:00
zhangjf
b8044c3769 fix: 修复Assembly打包与启动脚本JAR查找问题
- assembly.xml: 主JAR放到根目录,移除lib目录
  - Spring Boot fat jar已包含所有依赖
  - 避免依赖JAR冗余和混淆

- start.sh: 优化JAR文件查找逻辑
  - 优先查找根目录: ${APP_HOME}/${APP_NAME}.jar
  - fallback到lib目录(向后兼容)
  - 添加JAR_FILE到启动日志输出
2026-02-22 20:03:29 +08:00
zhangjf
151f780900 chore: 添加deploy目录到gitignore 2026-02-22 19:46:37 +08:00
zhangjf
8190887de8 feat: 数据库脚本优化、前端部署脚本、租户ID支持
- 数据库脚本优化
  - 新增01_create_user.sql创建fundsp用户
  - 新增02_grant_user.sql授权脚本
  - 新增fund_exp_init.sql、fund_receipt_init.sql
  - 修复SQL脚本与实体类一致性
  - 密码更新为fundSP@123

- 前端部署脚本
  - 新增build-frontend.sh前端构建脚本
  - 新增deploy-frontend-nginx.sh Nginx部署脚本
  - 打包输出到deploy目录

- 租户ID支持
  - fund-admin/fund-mobile支持query参数读取tid
  - 新增tenant.ts store管理租户状态
  - 请求拦截器添加X-Tenant-Id header

- 启动脚本修复
  - 修复INSTANCE_NAME变量替换问题
  - 更新所有service.properties配置

- 配置更新
  - 更新所有服务数据库密码
  - 更新docker-compose.yml配置
2026-02-22 19:45:52 +08:00
zhangjf
84a14b118b docs: 架构设计文档v1.6,新增单机部署配置章节
- 新增 6.3 单机部署配置章节
  - 6.3.1 配置文件架构:统一配置+个性化配置分离
  - 6.3.2 统一配置 env.properties
  - 6.3.3 个性化配置 service.properties
  - 6.3.4 打包目录结构
  - 6.3.5 多租户部署配置示例
  - 6.3.6 日志配置集中化
  - 6.3.7 脚本加载逻辑
2026-02-22 16:21:06 +08:00
zhangjf
7909daf8a4 docs: 更新架构文档,添加单机部署配置总结
- Agents.md v1.1: 新增配置文件分离架构说明
  - 统一配置 env.properties(所有服务共用)
  - 个性化配置 service.properties(每服务独立)
  - 配置加载顺序说明
  - 打包目录结构
  - 日志配置集中化
  - 多租户部署配置示例

- 单机部署文档 v2.2: 同步更新配置说明
  - 添加配置文件架构章节
  - 添加多租户部署示例
  - 更新打包结构说明
2026-02-22 16:16:53 +08:00
zhangjf
1225d8387e feat: 配置文件分离为统一配置和个性化配置
- 新增service.properties:每个服务独立的个性化配置
  - APP_NAME: 服务名称
  - INSTANCE_NAME: 实例名称(多租户场景)
  - TENANT_ID: 租户标识

- env.properties:所有服务共用的统一配置
  - Nacos/Redis/日志等公共参数

- 加载顺序:先env.properties,后service.properties(个性化覆盖统一)

- 更新assembly.xml:service.properties打包到conf目录
- 更新启动脚本:统一使用load_properties函数加载配置
2026-02-22 16:10:03 +08:00
zhangjf
dd8de5d96e refactor: APP_NAME从JAR文件自动推断
- APP_NAME不再写在env.properties,而是从lib/*.jar自动推断
- env.properties只保留INSTANCE_NAME和TENANT_ID(多租户场景使用)
- 所有脚本(start.sh/stop.sh/status.sh)统一从JAR文件获取APP_NAME
- 避免打包后所有服务的env.properties都一样导致APP_NAME冲突
2026-02-22 15:59:53 +08:00
zhangjf
3e73b6c086 feat: 脚本支持多租户实例部署
- env.properties新增APP_NAME、INSTANCE_NAME、TENANT_ID配置
- APP_NAME: 服务名称(对应JAR文件名)
- INSTANCE_NAME: 实例名称(区分多租户实例,用于日志目录和PID文件)
- TENANT_ID: 租户标识(用于Nacos元数据路由)
- start.sh传递spring.application.name和TENANT_ID参数
- stop.sh和status.sh同步支持INSTANCE_NAME
2026-02-22 15:46:09 +08:00
zhangjf
faded43266 refactor: 统一日志配置到logback-spring.xml
- logback-spring.xml从环境变量读取日志级别和格式
- 移除各服务application.yml中的logging配置
- env.properties添加LOG_PATH、LOG_LEVEL_ROOT、LOG_LEVEL_APP参数
- 启动脚本start.sh传递日志相关JVM参数
- assembly.xml将env.properties打包到conf目录
2026-02-22 15:36:04 +08:00
zhangjf
cb0affa2cf refactor: 补充env.properties配置参数覆盖
- 新增Redis连接池配置参数
- 新增Hikari连接池公共配置参数
- 新增Sentinel配置参数
- 新增网关限流配置参数
- 新增腾讯云COS配置参数
- 新增文件上传配置参数
- 各服务application.yml引用对应环境变量
2026-02-22 15:25:17 +08:00
zhangjf
2557cac757 refactor: 统一配置参数到env.properties
- 更新env.properties,添加Nacos/Redis/日志/多租户等公共配置
- 各服务application.yml使用环境变量引用公共配置
- 数据库配置保持独立,不纳入统一配置
2026-02-22 15:19:48 +08:00
zhangjf
072fe267bb chore: 删除废弃的server-deploy目录
脚本已统一迁移到项目根目录scripts/
2026-02-22 15:09:36 +08:00
zhangjf
dfce5b0566 refactor: 统一脚本管理,优化Assembly打包配置
- 将各服务脚本统一到项目根目录scripts目录
- Assembly配置引用根目录scripts,避免重复
- 脚本自动从目录名推断服务名称
- 排除docker相关配置文件(application-docker.yml)
- 新增env.properties环境变量配置模板
- 更新单机部署文档至v2.1
2026-02-22 14:43:41 +08:00
zhangjf
7a3fcb3ed7 feat: 使用Maven Assembly实现标准化打包
主要更新:
- 每个服务打包为独立tar.gz,包含bin/lib/conf目录
- bin目录:启动/停止/重启/状态脚本
- lib目录:服务JAR包及所有依赖
- conf目录:配置文件(application.yml等)

新增文件:
- 各模块src/main/assembly/assembly.xml配置
- 各模块src/main/scripts启动脚本
- server-deploy/scripts一键管理脚本
- server-deploy/assembly/assembly.xml模板

更新文档:
- 单机部署文档v2.0,说明assembly打包方式
2026-02-22 14:04:57 +08:00
zhangjf
734dafe975 docs: 新增单机部署文档和服务部署脚本
包含内容:
- 单机部署文档(环境安装、数据库初始化、服务部署指南)
- 9个微服务的启动/停止/重启脚本
- 一键启动/停止/重启所有服务脚本
- 服务状态查看脚本
- 日志统一存放在/datacfs/applogs/服务名称目录
2026-02-22 13:48:23 +08:00
zhangjf
fa0a356d08 docs: 更新部署运维文档至v2.0
主要更新内容:
- 新增Docker Compose部署章节
- 更新服务端口配置(Gateway:8000, fund-sys:8100等)
- 新增多租户混合负载模式说明
- 更新Prometheus+Grafana监控体系配置
- 新增链路追踪日志格式(TraceId+SpanId)
- 更新环境变量配置
- 新增访问地址汇总和默认账号信息
2026-02-22 13:30:21 +08:00
zhangjf
04ffcd804a docs: 新增项目开发规范文档 Agents.md
包含以下规范内容:
- 项目概述与技术栈
- 项目结构规范
- 命名规范
- 数据库设计规范
- API设计规范
- 多租户规范
- 链路追踪规范
- Token认证规范
- 日志规范
- 异常处理规范
- Git提交规范
- 代码规范
- 配置规范
- 常见问题处理
2026-02-20 20:55:53 +08:00
zhangjf
4154b94206 fix: 修复Gateway路由配置错误
fund-cust 路由路径配置错误,修正为 /cust/**
2026-02-20 19:08:49 +08:00
zhangjf
44e7efdfc0 fix: Gateway Token验证修复
1. Gateway Redis database 改为 0(与业务服务一致)
2. TokenInfo 添加 @JsonIgnoreProperties(ignoreUnknown = true)
3. TokenInfo.isExpired() 添加 @JsonIgnore 避免序列化
4. isExpired() 方法增加 null 检查
2026-02-20 18:52:54 +08:00
zhangjf
52c926dcd6 fix: Gateway添加Nacos服务发现依赖,修复负载均衡器配置
1. fund-gateway pom.xml 添加 spring-cloud-starter-alibaba-nacos-discovery 依赖
2. TenantLoadBalancerAutoConfig 使用 @LoadBalancerClients 注解配置
3. TenantAwareLoadBalancer 增加 serviceId null 检查
2026-02-20 18:43:38 +08:00
zhangjf
a78ccaeae5 fix: NacosMetadataConfig添加@ConditionalOnBean避免Gateway加载失败
NacosMetadataConfig仅在Registration bean存在时生效,
解决Gateway等不需要服务注册的场景无法启动的问题
2026-02-20 18:15:20 +08:00
zhangjf
4af7d712cd fix: Gateway不扫描fund-common避免依赖冲突 2026-02-20 18:04:30 +08:00