一、立项背景与目标
传统批发零售企业长期靠电话、微信留言、纸质目录订货,存在报价混乱、零售与批发价易串货、合作商资质难管控、下单对账效率低等痛点。本项目构建"零售+批发"双轨并行的电商平台,实行差异化定价与准入机制:普通用户在用户端小程序按零售价自助下单;合作商户须提交资质、经平台审核入驻后,才能在批发端享受专属批发价批量采购。两端商品同源但价格体系严格隔离,确保批发价不外泄。平台方在后台统一完成入驻审批、双轨价格配置、交易管理与数据分析。我负责后端核心业务与三端接口开发。
二、核心功能模块
1、用户端小程序(零售):首页装修渲染、分类搜索、多规格SKU联动选款、购物车结算、快递/自提切换、微信/余额/货到付款多种支付、优惠券满减营销、退款售后评价、物流查询、会员等级与钱包资产体系;普通用户仅见零售价,支持价格脱敏。
2、批发端(合作商户专属):入驻申请(营业执照/身份证OCR识别、银行账户绑定)与审核状态查询;审核通过后解锁专属批发价与阶梯报价,价格与零售端严格隔离防外泄;商家后台支持SPU/SKU发布、批量上下架导入导出、阶梯批发价与库存管理、新订单提醒、发货/改价/退款审核、营销配置、拖拽式页面装修、门店店员管理与自提核销、结算提现、多维销售统计看板、按钮级动态权限。
3、平台管理后台:商家入驻与合作申请审批、平台订单与商品监管、结算审核、地区与插件市场管理、云存储/短信/打印机等全局配置与版本管理。
三、业务流程与功能路径
1、零售下单:浏览商品→SKU选款→加入购物车→选配送方式与支付→下单→商家发货→物流跟踪→确认收货/售后。
2、批发入驻与采购:商户提交资质申请→平台审核→入驻通过解锁批发价→登录批发端按阶梯价批量采购→商家履约→结算提现。
3、平台监管:审批入驻→配置双轨价格→监管订单与商品→审核结算→数据分析。
三端协同覆盖"零售下单—批发采购—商家履约—平台监管"完整闭环。
一、整体架构与技术栈
采用 Spring Cloud 微服务架构,按业务域拆分为用户、商品、订单、营销、结算等独立服务。Nacos 同时承担注册中心与配置中心;Spring Cloud Gateway 统一网关负责路由与全局鉴权;服务间通过 OpenFeign 调用;XXL-Job 处理超时关单、自动确认收货、商家结算等定时任务。
技术栈:Spring Cloud + Nacos + OpenFeign + Gateway 为骨架;MyBatis-Plus 持久层;MySQL 主数据;Redis 缓存与分布式锁;Shiro + JWT 三端鉴权;百度OCR + 三要素实名核验;微信/余额/货到付款多渠道支付。
二、我负责的模块与结果
独立负责微服务拆分设计与核心业务开发。
1、多端商品与价格隔离:商户端与用户端各自维护独立商品池及定价体系,商品表通过 channel 字段标识所属端,查询层按登录端强制注入过滤条件,防 SQL 遗漏致跨端泄露;商户端须入驻审核通过后开放专属列表,从数据源杜绝价格交叉泄露。
2、商户入驻闭环:C端用户提交入驻申请→百度OCR识别营业执照/身份证并回填、与手填交叉校验→三要素实名与银行账户校验→平台审核状态机(待审/通过/拒绝,驳回必填理由)→通过自动创建商户主账号并下发初始密码,商户可建多个操作员子账号,数据以 shop_user_id + tenant_id 双字段隔离。
3、订单状态机:单一状态字段驱动全生命周期(待付→已付→已发→已收→完成/退款),转移规则集中维护,流转写审计日志,乐观锁防并发;退款支持原路与余额双通道,成功后自动回滚库存,同服务内本地事务保证原子性。
三、难点、坑与解决
1、三端用户隔离与防越权:超管/商户/C端用户分三张表、三套 Shiro Realm,按 URL 前缀路由对应 Realm;JWT 声明含 clientType,Filter 校验其与请求前缀匹配,C端 token 调商户端接口直接401,无法伪造身份切端;再配合 @DataScope 注解 + MyBatis 拦截器自动注入当前商户过滤条件,防跨租户数据越权。
2、跨服务数据一致性:订单与库存优先收敛同服务用本地事务;跨服务场景用最终一致性 + 重试,关键节点写审计日志,刻意不引入分布式事务中间件以降低复杂度。
3、超时关单幂等与并发:XXL-Job 扫描超时未付单,Redis 分布式锁防重复关单;关单前二次校验状态,防与支付回调并发冲突;关单后触发库存回滚。