有赞零售移动门店商品实践
一、模块设计
零售移动端的组件化方案 门店商品数据拆分到商品模块。收银开单、营销等模块由商品模块的路由接口搜索门店商品。 商品模块提供商品数据和门店商品的离线同步任务。
二、门店商品离线支持
考虑到门店商家的网络状况,需要离线模式来保证网络不稳定或无网状态下,商家能够正常进行下单、收银操作;商品模块采用离线数据库方式,在有网络时从后端增量拉取变更的门店商品。
2.1 同步任务
启动机制
- 在零售APP回到前台。
- 切换到商品选择页。
商品同步任务 增量拉取
门店商品。
2.2 长连接同步
只采用移动端主动拉取商品的方式,不能保证门店商品数据及时更新:如在APP或PC端进行商品管理时,移动端门店商品信息仍然是旧数据,对门店收银造成困扰。之后采用长连接的商品变更消息方式,来通知移动端及时更新门店商品。
三、门店商品搜索
零售商家门店商品数量,需要支持商品的检索能力;零售的门店商品检索主要分为两个场景:
模糊搜索 精确搜索
3.1 模糊搜索
模糊搜索支持商品的拼音、条码的模糊匹配。
应用场景:商家在门店商品页搜索商品。
在商品页输入指定的商品名称/条码/拼音,商品模块进行商品搜索返回对应的门店商品数组。
3.2 扫码枪模式
扫码枪模式下,支持标准商品条码和生鲜商家自定义的称重条码搜索
PLU
考虑扫枪模式下多应用与识别商品条码场景,与模糊搜索不同,属于条码的精确匹配,在设计上建立商品搜索表的 条码
索引,提升商家的扫码场景收银效率。
四、营销活动
4.1 营销活动组合门店商品
门店的营销活动与门店商品业务解耦,商品模块需要给营销活动模块提供门店商品查询的能力,营销活动模块组合门店商品与营销信息展示。
营销活动请求指定门店商品信息时,可能会存在门店商品尚未离线到本地。如果门店商品未拉取到本地在,则请求服务器对应的门店商品数据,存储到本地后返回给统一返回给营销模块。
4.2 门店商品渲染营销UI
在营销活动模块,启动商品模块的商品规格选择页面时。规格选择页通过不同的活动类型来渲染展示。
请求:商品信息、营销活动信息
{ "pain_type" : "活动类型", "activity_value" : "活动信息json", "goods_value": { "price": 0, "property_price": 1, "amount": 0, "unit": "件", ... } }
返回:营销渲染数据
{ "sku_price" : "¥12.00", "total_price" : "¥12.00", "available_skus" : [12980,12121], "limited_amount" : 0, "info_content" : "" }
五、商品收银
- 商品模块添加商品到交易侧的购物车
- 购物车由路由查询商品参加的营销活动信息
六、待做
门店商品的拼音目前由客户端来进行生成,未对多音字进行处理,后期对多音字的拼音进行优化,解决多音字搜索问题。
欢迎关注我们的公众号