Files
full/wiki/产品与服务目录.md
2026-09-22 18:53:53 +08:00

8.4 KiB
Raw Permalink Blame History

产品与服务目录

产品级视图:服务域划分、服务清单、对外协议、实现完成度、跨域耦合与运行拓扑。 逐服务审计明细见 docs/;风险与优先级见 audit-2026-09-22-总体审计报告.md

一、产品定位

BSM Infra Full 是 BSM 后端服务的 Go workspace四个服务域组织,提供账号与身份、后台权限、内容与运营、文件与个人云空间、电商交易、资金支付、社交关系等能力。既有"每服务独立进程"的部署形态(module/*/cmd/main),也有"多服务单进程聚合"的部署形态(pkgs/all 全量、pkgs/ecmall 电商)。

二、服务域与服务清单

服务域 服务 模块路径 主要职责 对外协议 聚合归属
基础与平台 passport module/base/passport 账号、密码/验证码登录、找回、KYC 核验 gRPC + gateway all、ecmall
基础与平台 mgt module/base/mgt 后台登录、组织/角色/权限/部门 原生 REST /rest/mgt all、ecmall
基础与平台 initial module/base/initial 服务探测、客户端配置、版本、国家/区划/字典 gRPC + gateway all、ecmall
基础与平台 sender module/base/sender 短信、邮件、验证码生成与校验 gRPC + gateway all、ecmall
基础与平台 fts module/base/fts 文件上传(本地/MinIO、上传配置 原生 REST /rest/fts all、ecmall
基础与平台 cloud module/base/cloud 网盘、相册、笔记、书签、私人资料、分享、空间 gRPC + gateway 仅 all
基础与平台 cms module/base/cms 文章、页面、分类、标签、评论、赞踩 gRPC + gateway all、ecmall
基础与平台 ads module/base/ads 按广告位分发广告素材 gRPC + gateway all、ecmall
基础与平台 feedback module/base/feedback 意见反馈的增删改查与备注 gRPC + gateway all、ecmall
基础与平台 logs module/base/logs 业务操作日志写入与查询 原生 REST /rest/logs all、ecmall
电商与交易 address module/ec/address 收货地址簿 gRPC + gateway all、ecmall
电商与交易 mall module/ec/mall 店铺、商品、规格、图片、分类、广告、公告、运费、员工 gRPC + gateway all、ecmall
电商与交易 market module/ec/market 代理商、供应商、审核 gRPC + gateway all、ecmall
电商与交易 order module/ec/order 购物车、下单、拆单、订单状态、优惠券 gRPC + gateway all、ecmall
资金与支付 wallet module/finance/wallet 钱包、流水、银行卡、提现、支付渠道、回调 gRPC + gateway all、ecmall
社交 relation module/social/relation 好友、标签、关注、匹配 gRPC + gateway 未接入
社交 group module/social/group 群组、成员、入群申请 gRPC + gateway 未接入
社交 feed module/social/feed 动态、标签、评论、互动计数、时间线 gRPC + gateway 未接入
聚合 all pkgs/all 15 服务聚合宿主gRPC 12000 / HTTP 12001 gRPC + HTTP 多路
聚合 ecmall pkgs/ecmall 14 服务电商聚合宿主gRPC 12300 / HTTP 12301 gRPC + HTTP 多路

预留/空目录(不计入已实现服务):module/ec/supply(仅 READMEmodule/finance/billmodule/finance/loan(空目录)。

三、实现完成度

"占位"指接口已声明但逻辑为空/返回成功/TODO。以下为本次核实结论明细见对应 docs/*.md

服务 完成度 已确认的占位/缺口
cloud 方法齐全 全部 gRPC 方法均有实现;但容量配额只统计不限制、分享链路断裂、私人资料未真正加密
passport 方法齐全 Verify.JumioCallback 为空 stubForget.Verify 为伪实现
sender 部分 腾讯云短信空实现TencentSender);邮件仅 qq 渠道
cms 部分 Site 全系列占位get/fetch/create/modify/delete 均为 TODO
feed 大量占位 4 类 Timelinerecommend/hot/friend/followTag.PostListPost.CommentListSetting.InfoSetting.Rights 共 9 处
wallet 大量占位 支付宝 page/app/wap 支付与转账、微信 APP/Native 下单与转账共 7 处 TODOWxCallback 验签后无业务逻辑
mall 部分 入驻、授权、小程序码、按规格查询、商品批量操作、运费与禁运区域占位;员工验证码登录明确未实现
market 部分 Data 概况/会员/订单统计 5 个文件全部占位
order 部分 管理端 OrderModify 占位;SimulatePay/SimulateShipments/SimulateReceiving 为模拟实现(生产可达,见总体报告 S8
group 部分 Basic.Disband 占位但返回成功
relation 方法齐全 无占位函数,但存在遗留死代码 follow.Do
ads 方法齐全 仅 1 个只读接口README 宣称的 Redis/内存缓存未实现
initial / fts / logs / address / mgt / feedback 方法齐全 无占位,但存在本报告所列的越权/鉴权/分页/键名等缺陷

四、跨域耦合

耦合 说明 影响
order → mall / address 数据表 order 直接读写 mall_productmall_product_specmall_storeaddress_library(散落 8 个文件) 任一表结构变更即运行期报错;订单侧可直接改商品库存
passport ↔ sender 验证码生成/校验依赖 sender但 passport 登录/注册路径实际未调用校验 验证码形同虚设
mall ↔ wallet / order 店铺支付配置由 mall 维护、支付执行在 wallet、订单在 order 店铺凭据当前可被任意登录用户读改
cloud ↔ fts cloud 维护文件/照片业务记录fts 执行实际二进制上传 两者未自动组成完整上传链路
聚合入口 pkgs/allpkgs/ecmall 复用 module/ 同一份代码,仅注册表与端口不同;两入口 internal/server 4 个文件逐字节相同 任一入口的修复需同步两份拷贝

五、运行拓扑

flowchart TD
    C["客户端 / 后台"] --> GA["pkgs/all<br/>gRPC 12000 / HTTP 12001"]
    C --> GE["pkgs/ecmall<br/>gRPC 12300 / HTTP 12301"]
    C --> S1["module/*/cmd/main<br/>独立服务进程"]
    GA --> M1["module/base/* 10"]
    GA --> M2["module/ec/* 4"]
    GA --> M3["module/finance/wallet"]
    GE --> M4["module/base/* 9<br/>不含 cloud"]
    GE --> M2
    GE --> M3
    M1 --> DB[("共享 MySQL")]
    M2 --> DB
    M3 --> DB
    M1 --> R[("共享 Redis / etcd")]
    S2["module/social/*<br/>未接入聚合"] --> DB

pkgs/allpkgs/ecmall 的 HTTP 入口依次承载grpc-gateway → 动态 RPC /rpc/{package}/{service}/{method} → 原生 REST /rest/{module}/...。请求先进入 grpc-gateway返回 404 时回退 Gin此回退判定存在缺陷见总体报告 S29

六、配置与运行入口

入口 配置 端口 备注
pkgs/all etc/default_<runtime>.yaml gRPC 12000 / HTTP 12001 仅有 dev 配置prod 模式启动即 log.Fatalf
pkgs/ecmall etc/default_<runtime>.yaml gRPC 12300 / HTTP 12301 同上
各业务模块 etc/<service>_<runtime>.yaml 各自 Port 部分模块wallet、feedyaml 字段名与 SrvConfig 不匹配,需修配置才能启动

服务启用由聚合 Services 列表或环境变量 BSM_SERVICES 控制(非空则覆盖;值为 all 时注册全部)。

七、文档地图

文档 位置 内容
代码审计索引 docs/README.md 21 篇逐服务审计报告入口
总体审计报告 audit-2026-09-22-总体审计报告.md 风险台账、共性根因、修复优先级
本文 产品与服务目录.md 服务域、清单、完成度、耦合、拓扑
系统架构 architecture.md 模块边界、聚合启动流程、依赖注入
开发与运维 operations.md 配置、启动、验证、构建、发布、排障
API 接入 api/00-overview.md gRPC / 动态 RPC / gateway / 鉴权
历史审计 audit-2026-08-10.md 上一轮 workspace 层审计