在整体架构中,商品的到手价涉及红包,活动等模块的协同工作。通过将商品售价、红包、活动等因素纳入综合考虑,计算出最终的到手价,为顾客提供良好的购物体验。
成都创新互联公司于2013年创立,先为类乌齐等服务建站,类乌齐等地企业,进行企业商务咨询服务。为类乌齐企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
影响商品到手价的主要因素:
如图所示,商品详情页到手价的优惠项明细可用公式总结如下:
商品的到手价 = 商品原价 - 活动促销金额 - 红包最大优惠金额
随着业务需求的变化,系统也需要不断地增加新功能或者对现有功能进行改进,通过版本演进,可以逐步引入新的功能模块或优化现有模块,以满足业务的需求。
商品的到手价设计也是遵循这样规则,从开始的v1.0快速开发上线,响应业务;到v2.0,v3.0进行性能优化,升级改造,使用户体验更佳,更及时。
v1.0流程一共分为两步:
针对v1.0版本长达半个小时更新一次到手价问题,v2.0解决方案如下:
商品上架/商品改价;
商品加入/踢出活动;
商品加入/踢出会馆;
这部分数据的特点是,上述这些操作是能实时拿到商品的infoId,基于这些商品的infoId,可以立即计算这些商品的到手价并更新出去。
商品发布/改价,加入活动/会馆,踢出活动/会馆;接收这些情况下触发的mq消息,携带商品infoId,直接计算到手价。
红包: 新增/更新/删除/过期;
这部分数据的特点是,一是不能很容易能圈出受到影响的这批商品infoIds,二是有些红包的领取和使用范围可能会涉及绝大部分的商品,甚至有些时候大型促销会配置一些全平台红包,影响范围就是全量商品。
综上,结合这两种情况,以及现有的接口及能力实现v2.0;
推送商品的到手价,消息体格式如下,包括商品id,平台类型,到手价:
[
{"infoId":"16606xxxxxxx174465",
"ptType":"10","
realPrice":"638000"}
]
首先在Redis维护全量商品,根据商品上架/下架消息,新增或删除队列中的商品;其次将全量商品保存在10000队列中,每个队列只存一部分商品:
queue1=[infoId...]
queue2=[infoId...]
...
queue9999=[infoId...]
右图显示的是每个队列存储的商品数,队列商品数使其能保持在同一个量级。
多线程并发计算,每个线程只计算自己队列的商品到手价即可;同时增加监控及告警,查看每个线程的计算耗时,右图可以看到大概在120s内各线程计算完成。
注意事项:
综上,结合这两种场景可以做到:
可以看到随着商品数的增加,计算耗时也成比例增加。
解决办法:
新闻标题:聊聊转转商品到手价设计
文章路径:http://www.shufengxianlan.com/qtweb/news25/20175.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联