社群与门店结合的零售生意,早期用微信群接单、Excel 记账:客户报"要两箱这个、一箱那个",店员手抄,颜色尺码混着记,发错货和算错钱的次数不少;库存更是凭印象,"还有没有货"要跑到仓库看。
上了货架之后就绕不开两件事:一是同一款商品有颜色、尺码、规格多个组合,每个组合的库存和价格都不一样;二是必须能在线收款,否则还是回到微信转账对账。
所以这套系统的目标很明确:让运营自己就能上新品、改价、看订单,让客户从小程序下单并直接微信支付,不需要每次都找开发。
点击空白处退出提示
社群与门店结合的零售生意,早期用微信群接单、Excel 记账:客户报"要两箱这个、一箱那个",店员手抄,颜色尺码混着记,发错货和算错钱的次数不少;库存更是凭印象,"还有没有货"要跑到仓库看。
上了货架之后就绕不开两件事:一是同一款商品有颜色、尺码、规格多个组合,每个组合的库存和价格都不一样;二是必须能在线收款,否则还是回到微信转账对账。
所以这套系统的目标很明确:让运营自己就能上新品、改价、看订单,让客户从小程序下单并直接微信支付,不需要每次都找开发。
商品与 SKU:同一商品支持多规格组合(颜色 × 尺码 × 规格),每个 SKU 独立维护价格与库存,下单时按所选规格锁定库存。
交易:购物车、下单、微信支付(APIv3)、订单状态机(待付款/待发货/已发货/已完成/已取消)、退款处理、超时未支付自动关单。
营销:优惠券、拼团(成团人数与时效可配)、轮播与首页楼层配置、运费规则配置(满额包邮/固定运费)。
后台:商品与 SKU 管理、订单与发货、退款审核、会员、轮播与分类、经营数据看板、操作日志。
另有网页端商城,和小程序共用一套后端接口。
我独立完成全链路:SKU 数据模型设计、后端接口、小程序端、网页端、管理后台、部署上线。
技术栈:微信小程序原生 / Vue 3 + Vite + Element Plus / Java 17 + Spring Boot / MySQL 8 / 微信支付 APIv3 / Nginx。
关键取舍:
1. 支付不引第三方 SDK,自己封装签名、验签与回调处理(用 JDK 自带的 Signature/Cipher 完成 APIv3 的 RSA 签名与 AES-GCM 解密)。好处是依赖少、升级可控、回调逻辑可以完全按业务写;代价是回调验签和重试幂等要自己保证。
2. 订单状态流转全部收敛在服务端一个状态机里,前端不能直接改状态;每次流转写一条状态日志,退款和售后靠日志回溯。
3. SKU 库存扣减放在下单事务内并带乐观锁版本号,支付回调做幂等(同一笔支付单只处理一次),避免重复发货。
4. 运费、包邮门槛、拼团规则全部做成配置项,运营在后台改,不碰代码。
难点:多规格商品在选择规格时如何"禁用无库存组合"、支付回调与主动查单两条链路如何不打架(最终以主动查单结果为准做对账)、以及小程序审核对"支付类目 + 虚拟商品"的限制,最后调整了商品结构才过。
作品地址:
https://changfeng.club/cases/market.html





评论