Commit Graph

28 Commits (1a7ab235cb961e4d0978b494ee1ce8f7d4c7c4a0)

Author SHA1 Message Date
fengruixiang 1a7ab235cb fix: update SalesAdminID for local development and add seed script for agent plans 2026-07-23 13:55:49 +08:00
fengruixiang ba133c4fb5 chore(docker): 本地开发栈补齐 PAYG 配置与 .bak 架构补齐脚本
- docker-compose.local.yml: 新增 AppConfig__TwoC__TenantId 与
    IsMockupPayment,隨付即用(PAYG)建单需校验 2C 池租户,否则报
    "TwoC.TenantId is not configured"
  - 新增 local-schema-catchup.sql:AML-local-dev.bak 快照缺
    __EFMigrationsHistory,DbMigrator 无从增量,补上 PAYG /
    AgentUserSetting / SplitOrderType 三个迁移的 DDL,并回补
    IsDeleted 的 DEFAULT 0 约束(全部带存在性判断,可重复执行)
  - 文档 docker-compose-local-dev.md 更名为 readme.md
2026-07-22 11:12:01 +08:00
fengruixiang b2b41e59e4 chore(docker): 本地开发栈迁至 monorepo 根目录并适配跨仓库构建上下文
docker-compose-local-dev/ 从 AML_Backend 子仓库移到父仓库根目录,与
  docs/AML_Backend/ 下的旧副本合并为唯一一份,避免两处各自漂移。

  因为这套栈现在位于 AML_Backend 仓库之外,构建上下文必须跨仓库指向:
  - context 改为 ../AML_Backend;dockerfile 用 ../docker-compose-local-dev/
    Dockerfile.local,从上下文外引用(BuildKit 支持)
  - appsettings.local.json 已不在构建上下文内,原来的
    COPY docker-compose-local-dev/appsettings.local.json 会失效,改用命名附加
    上下文传入:compose 侧 additional_contexts: {localcfg: .},Dockerfile 侧
    COPY --from=localcfg(host 与 migrator 两个 stage 各一处)

  同时补入旧副本没有的 seed-root-ou.sql。AML-local-dev.bak 由 *.bak 规则忽略。
  镜像已重建并实测:恢复 .bak + 跑种子后,门户端点 GetEditionList /
  GetPlanList 均返回 200。

  Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    COPY docker-compose-local-dev/appsettings.local.json 会失效,改用命名附加
    上下文传入:compose 侧 additional_contexts: {localcfg: .},Dockerfile 侧
    COPY --from=localcfg(host 与 migrator 两个 stage 各一处)

  同时补入旧副本没有的 seed-root-ou.sql。AML-local-dev.bak 由 *.bak 规则忽略。
  镜像已重建并实测:恢复 .bak + 跑种子后,门户端点 GetEditionList /
  GetPlanList 均返回 200。
2026-07-21 15:50:55 +08:00
fengruixiang a5d4657a27 fix: update .gitignore to include all .bak and .bak.tmp files 2026-07-14 07:28:52 +08:00
fengruixiang 57ee96e1bf docs(justsolutionsWebV2): 新增多地区多语言架构设计
以路径前缀 /{region}/{lang} 隔离地区、共享 BFF 的整体方案(HTML 文档):
  - 地区(region)与语言(lang)维度分离:地区目录级硬隔离,语言用 i18n 字典软切换
  - public/{region}/ + public/_shared/ 目录结构与请求处理流程
  - BFF 保持共享,按 X-Region 做数据差异化
  - 在线支付以适配器(Strategy)模式承载各地区不同支付方式
  - 已锁定决策 Q1–Q5:兜底 HK(/hk/en)、语言码 BCP47、首批 jp+hk、
    HK 页面为基线、纯路径前缀不用独立域名;Q6/Q7 待定
2026-07-09 16:53:45 +08:00
fengruixiang c021b936d9 Refactor code structure for improved readability and maintainability 2026-07-08 14:43:21 +08:00
fengruixiang c71cfb4c02 chore: 停止将子项目作为 gitlink 跟踪,避免父仓库反复出现幻影改动
AML_Backend / AML_Frontend / justsolutionsWeb 均为各自独立维护的
git 仓库,父仓库不应记录其 commit 指针(且无 .gitmodules)。从索引
移除并加入 .gitignore,子项目提交后父仓库不再出现无法丢弃的
"new commits" 改动。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 13:52:40 +08:00
fengruixiang 91cad89953 chore: 停止将 justsolutionsWebV2 作为 gitlink 跟踪
justsolutionsWebV2 是各自独立维护的子项目,父仓库不应把它当作
submodule/gitlink(且无 .gitmodules)。从索引移除并加入 .gitignore,
避免子项目提交时父仓库反复出现无法丢弃的 "new commits" 改动。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 09:55:23 +08:00
fengruixiang 2255d51fda feat(docs): update database migration guide with detailed steps and prerequisites 2026-07-07 09:44:49 +08:00
fengruixiang d13d7aa7c6 feat(docs): add database migration guide and API integration report 2026-07-07 07:18:02 +08:00
fengruixiang ad0ddcbe8b feat(gitignore): add backup file for local development setup 2026-07-06 19:09:30 +08:00
fengruixiang a0baa7a181 Implement code changes to enhance functionality and improve performance 2026-07-06 16:46:03 +08:00
fengruixiang 9ea206d1b4 Implement code changes to enhance functionality and improve performance 2026-07-06 14:09:09 +08:00
fengruixiang 13fdb70003 feat(docker): add local docker-compose dev stack for AML_Backend
在 docker-compose-local-dev/ 下一键拉起 HttpApi.Host 的自包含本地开发栈
  (mssql + rabbitmq + db-migrator + httpapi-host),构建上下文为仓库根目录。

  - Dockerfile.local:.NET 6 多阶段构建,产出 host / migrator 两个目标
    (替代已过时、写着 .NET 5 且 COPY 不存在文件的 CI Dockerfile)
  - 绕过 Nacos:最新代码把配置切到 Nacos(192.168.1.120:8848,本机不可达);
    构建时用 appsettings.local.json(Nacos 改造前的完整配置快照,不含 NacosConfig)
    覆盖镜像内 appsettings.json,再由 compose 环境变量指向本地服务
  - RabbitMQ:内置 rabbitmq:3.13-management(vhost bthost)并开启 consumer,
    跑通数据采集/报告生成/AI检测/门户订单等异步链路;宿主端口错开为 5673/15673
  - iCS:服务端不在本仓库,iCSRootUrl 指向共享 stag(stag-abp-api.iconsz.com);
    runtime-base 阶段刷新 CA 库,修复 ZeroSSL 部分证书链导致的 HttpClient TLS 握手失败
  - Dockerfile.local.dockerignore:本地专用忽略表,覆盖会排除 appsettings.json 的根 .dockerignore
  - 关闭 SanctionJob(依赖本地未部署的 Elasticsearch)
2026-07-03 11:11:09 +08:00
fengruixiang 1ed3fea21c feat(logo): add new logo files for justsolutionsWebV2 2026-07-02 15:00:36 +08:00
fengruixiang c6bff91c45 feat(docker): add local development setup with Docker for AML_Backend 2026-07-02 11:01:14 +08:00
fengruixiang 90b929b081 docs(docker-compose): add local development instructions for AML_Backend using docker-compose 2026-06-25 21:21:48 +08:00
fengruixiang 77a30169a5 docs(justsolutions): update plans-plus API documentation to reflect changes in BR/CI validation requirements 2026-06-24 23:32:08 +08:00
Million_MacMini 4519399cb7 docs(justsolutions): add API analysis for plans-plus real backend integration
Add docs/justsolutionsWebV2/plan-plus-api分析.html mapping each plans-plus
  mock endpoint to the real AMLPortal backend (the same endpoints the old
  justsolutionsWeb PlanService uses), via the V2 BFF pattern.

  Covers per-endpoint field mappings, transformation notes, and the gaps:
  - tenant lookup is by email but queryRenewableTenant searches by name
  - the new 'topup' type has no backend endpoint
  - CreateOrder/TenantRenewal PlanList needs PlanId+PlanDetailId back-fill
  - CreateOrder ignores AdminPassword; BR-or-CI required; no bestValue/note fields
  - QFPay payment signing must move server-side

  Also includes the justsolutionsWeb API-call inventory (api-calls.md/html)
  that this analysis builds on.
2026-06-24 15:58:03 +08:00
Million_MacMini 94c2469f56 docs(claude): update repository overview to include all subprojects and their details 2026-06-23 15:12:32 +08:00
fengruixiang bcf6830814 chore(configuration): add mcp server settings for mssql and playwright 2026-05-25 16:40:27 +08:00
fengruixiang dcdcdf4cb2 add agent.md 2026-05-22 14:53:58 +08:00
fengruixiang c4e27aa58f docs(kyc): add detailed configuration and scanner integration documents
- Add comprehensive KYCConfig analysis covering OCR service, code mappings,
  entity parsing rules, supported certificates, translations, match rules,
  attachment and scan settings, and processor architecture
- Include database storage details for tenant-level configuration overrides
- Add full interface manual for DKePassport Windows SDK including hardware
  specs, protocol, commands, data fields, error codes, and sample usage
- Update Scanner_Integration.md with backend mapping explanation for new SDK
- Document key configuration files and how new SDK changes affect code and
  parsing mappings
- Compare certificate code differences between old and new scanner SDKs
- Highlight required mapping adjustments for fields and certificate codes under
  the new SDK integration
2026-05-07 05:59:47 +08:00
fengruixiang 570a155399 feat(scanner): add intelligent passport web terminal with real-time WS communication
- Implemented WebSocket connection management with connect, disconnect, and send commands
- Added UI for server URL input, command selection, and send button with loading states
- Developed message logging system with text and table views and export functionality
- Included avatar display area supporting base64 image data with lazy loading and error handling
- Created data table showing structured passport information with protocol-based field mappings
- Integrated support for Base64 image data markers and toggleable full data display in logs
- Used Tailwind CSS with custom theme colors and utility classes for consistent styling
- Ensured accessibility with responsive layout and interactive controls
- Added detailed error and connection status messages for better user feedback
2026-04-30 17:05:37 +08:00
fengruixiang 376cb3a15f docs(kyc): add scanner integration analysis and SDK replacement guidance
- Document frontend scanner architecture and PassportReader.js role
- Detail key methods, callbacks, and message protocol formats
- Analyze impact of replacing scanner SDK with three proposed solutions
- Recommend ideal approach preserving PassportReader.js interface
- List relevant frontend and backend file paths for integration
- Provide version and creation date info for the documentation file
2026-04-30 14:39:09 +08:00
fengruixiang 07ad350566 docs(AML): update module structure and correct module path descriptions
- Rename Organization folder to Org in AML module structure
- Add Jobs folder and SurveyService.cs under AML module
- Fix formatting of module path descriptions in main docs README
- Adjust permission allow patterns in .claude settings.json for Bash commands
2026-04-30 14:18:05 +08:00
fengruixiang 60516b7cf1 feat(docs): all modules docs 2026-04-30 10:19:15 +08:00
fengruixiang cf3c61eb24 init 2026-04-30 10:07:35 +08:00