9 Commits

Author SHA1 Message Date
zhangjf
9a55286869 refactor: migrate ID types from Long to String across modules
- Update BaseEntity to use String IDs (snowflake algorithm format)
- Migrate context holders (UserContextHolder, TenantContextHolder) to String
- Update MyBatis-Plus configs: LongValue -> StringValue for tenant ID
- Fix type conversions in 6 modules: common, sys, cust, proj, req, exp (partial)

Changes by module:
- fund-common: Context holders, interceptors, test fixes
- fund-sys: Test files updated for String IDs
- fund-cust: Service, DTO, VO, Controller, Config updates
- fund-proj: Complete service layer and controller migration
- fund-req: Complete service layer and controller migration
- fund-exp: ExpenseType service layer complete (FundExpense in progress)

Note: JavaScript precision issue resolved by using String for large IDs
2026-03-02 19:33:01 +08:00
zhangjf
e93488d3d8 feat(sql): 更新数据库初始化脚本
-完善各模块表结构定义
- 优化索引和约束配置
- 更新初始化数据
-统一SQL脚本格式
2026-03-02 07:30:29 +08:00
zhangjf
455a20c1df 完善项目配置和测试用例
新增内容:
1. 添加 AGENTS.md 和 CLAUDE.md AI 助手配置文件
2. 添加安全修复说明文档 (doc/security-fixes.md)
3. 新增单元测试用例:
   - fund-common: TenantContextHolderTest, UserContextHolderTest, PageResultTest, ResultTest
   - fund-sys: AuthServiceImplTest, RoleServiceImplTest, TenantServiceImplTest

修改内容:
1. 数据库初始化脚本更新 (fund_sys_init.sql)
2. 前端依赖更新 (package.json)
3. 登录和密码管理功能优化:
   - 管理后台和移动端登录页面
   - 密码修改功能
4. 租户上下文处理优化 (TenantLineHandlerImpl)
5. 网关过滤器增强:
   - TenantGatewayFilter 租户过滤
   - TokenAuthFilter 认证过滤
6. Controller 层代码优化
7. DTO 和 Service 层代码改进

技术改进:
- 密码加密方式从 BCrypt 改为 MD5(前后端一致)
- 登录验证流程优化,支持多租户
- 增加日志输出便于调试
- 代码规范性和可维护性提升
2026-03-01 19:06:42 +08:00
zhangjf
46e30c8b06 优化用户登录密码加密方式:从 BCrypt 改为 MD5
主要变更:
1. 新增 Md5Util 工具类,提供 MD5 加密和密码验证方法
2. 修改 AuthServiceImpl 直接比对 MD5 值(前端已加密,无需再次加密)
3. 修改 UserServiceImpl 使用 MD5 加密用户密码
4. 前端 Login.vue 添加 MD5 加密函数,提交前对密码进行 MD5 加密
5. 更新数据库初始化脚本,将 admin 密码改为 MD5 值
6. 更新设计文档中的密码加密说明
7. 添加 Lombok 依赖到 fund-sys 模块
8. 增加日志打印,记录密码加密过程便于调试

技术细节:
- 前端流程:用户输入 → MD5 加密 → 传递给后端
- 后端流程:接收 MD5 值 → 与数据库 MD5 值直接 equals 比对
- 默认管理员密码:admin/admin123,MD5: 0192023a7bbd73250516f069df18b500
2026-02-28 06:51:20 +08:00
zhangjf
e5d9db10a8 feat: requirement表添加remark字段 2026-02-23 16:42:41 +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
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
8e4afcd1a5 feat: TenantAwareLoadBalancer 整合 TenantRoutingProperties 配置
问题:TenantRoutingProperties 定义了配置但未被使用

解决方案:
1. TenantAwareLoadBalancer 注入 TenantRoutingProperties
   - 使用配置的 tenantHeader 名称
   - 使用配置的 buildTenantGroup 方法
   - 使用配置的 isSharedService 判断
   - 使用配置的 isFallbackToShared 策略

2. 新增功能
   - 支持 enabled=false 禁用租户路由
   - 共享服务跳过租户过滤
   - 可配置是否回退到共享实例

3. 更新测试适配新构造函数
2026-02-19 21:02:25 +08:00
zhangjf
a17307a96e feat: 完成资金服务平台六步实施 - 数据库初始化+服务启动+网关配置
本次提交包含:
1. 11个Maven模块全部创建并编译通过
2. 4个数据库初始化脚本(14张表)
3. fund-sys服务启动验证
4. Gateway路由配置完成
5. API端到端测试通过

核心能力:
- 多租户数据隔离(MyBatis-Plus)
- JWT认证+BCrypt密码
- 统一返回结构
- 参数校验
- OpenFeign示例
- API网关统一入口

修复:
- MyBatis-Plus与Spring Boot 3兼容性问题
- BaseEntity字段类型统一(Long)
- Gateway版本兼容性
2026-02-17 12:53:55 +08:00