缘起
在闲鱼上收过几张卡带,才知道二手游戏卡带的库存有多难记:一张卡可能是我自己进的货,可能是玩家拿来换钱的,也可能挂着寄卖、卖掉了还要还给对方。同一张卡在这三种情况下,成本、归属、能不能卖,全都不一样。
通用的进销存把它们当成同一件事,所以我只做一个按这三种来源记账的。
背景
这个类目的账要往下拆到几个层面:卡带、主机、配件是三种货,主机还有版本与语言的区别;回收价随行情天天变,同一张卡上周收的和这周收的成本不同;寄卖的商品在卖掉之前不属于自己,卖掉了要分账,没卖掉要能原样退回;成色从全新到裸卡划痕不一,直接影响能卖多少钱;此外还有报废和售后退换。手工记账在这些分支上一定会错,而错了以后没有凭据可查。
方案
构建了针对 Switch 电玩商家的专用库存管理系统:
- 三类入库:采购入库、玩家回收、寄卖入库,自动调整库存
- 三类出库:销售出库、报废出库、寄卖归还,完整库存流转
- 寄卖管理:独立的寄卖台账,跟踪寄卖状态
- 卡带置换:卡带换卡带的置换台账管理
- 滞销预警:可配置天数阈值,自动标记滞销商品
- 软删除:所有记录支持软删除和数据恢复
- 库存盘点:实物盘点功能
- 审计日志:完整操作审计日志
- 数据导出:所有记录支持 Excel 导出
技术架构
| 模块 | 技术选型 |
|---|---|
| 后端 | Go 1.20+ + Gin + GORM |
| 前端 | Vue3 + Element Plus |
| 数据库 | SQLite |
| 部署 | 单二进制文件(内嵌前端) |
生产模式下编译为单个二进制文件,前端资源内嵌,部署极其简单。
成果
为闲鱼电玩商家提供了一套专业级的库存管理工具。单二进制部署方式让非技术商家也能轻松使用,滞销预警帮助优化库存周转。
