电商基本模块-促销服务

来源:互联网 发布:java 身份证号取性别 编辑:程序博客网 时间:2024/05/17 02:13

前言

        对于一个电商系统而言,促销也是蛮基础的一个服务。下面我就综合自己做过的相关业务来谈谈这个问题。

从产品的角度来看

        为什么我们要从产品的角度来看这个问题?因为从高处来看我们才能对一个系统有更加深的理解。当然,还有非常重要的一点就是我们需要去了解我们要做的东西即将带来的价值。
        实际上,我们可以从如下的几个角度来看待促销。

促销的作用

        促销的作用实际上和线下的促销活动的作用是基本一致的。那就是通过相关的手段来促进到店铺的流量的转化率,促进商品的成交率。

促销的作用范围

        就目前而言,促销的作用范围以店铺为纬度,当然,更大维度上就是全平台的促销。但是全平台的促销我司已经有类似的概念存在,那就是活动。因此,也就没有必要在做重复的东西。

促销的依赖

        促销作为基本的服务,其服务对象主要是商品,是因为促销只是商品的属性而已,因此,值得说明的是,促销将会将商品和促销信息绑定,而后在实际的展示环节将此信息提供给商品。
        下单流程也对此有一定的依赖,因为在最终下单的时候,我们需要去计算最终的一个订单金额。

业务总结


这里写图片描述


        如上便是对于业务的一个总结,实际上首先是要明确促销的类型,其次就是对于满包邮而言的地区限制等等。其他的就没有什么说的了!

从技术的角度来看

技术选型

        数据库采用MySql,ORM框架采取MyBatis,其次当然就是Spring全家桶了。包括Spring的基本模块以及MVC。
        以上的技术选型是比较符合技术选型的一些标准的,也就是说,相关技术比较成熟稳定,在性能上也有着不错的表现。

数据库设计

        数据库再设计的时候我们主要需要考虑的是有几张表,表之间的关联关系,索引字段的设立等等。如下,便是设计的模型:


这里写图片描述


        如上我们可以看到大致分为四张表。主表的话存储的是唯一性的信息,而商品表和详情表处于同一个层级,实际上,而地区信息表是同促销的详情绑定在一起的。每一个层级可能都会配置相应的地区信息。

是否需要缓存

        缓存实际上是一个大家都在讨论的问题,但是当我们引入缓存的时候我们一定是要注意两个点:一就是缓存的时效性,二就是采取主动缓存还是被动缓存。当然,还有一点,我们的项目是否适合缓存以及是否有缓存的必要性。
        是否需要缓存我们可以去大致的估算下流量,最主要的接口调用应该是商品的页面的展示,也就是数据库的大头是落在查询上的。这是从数据库的主要操作来看。其次,商品的详情页面的展示应该是电商系统里面非常活跃的一个页面。按照10%到20%的商品有促销活动来看的话,这应该也是非常可观的接口调用。因此,从数据的请求量来看,也很有必要。

总结

        做一个系统或业务,实际上我们去审视这个系统,从产品做出来有什么用到产品的技术实现上我们都要有一个整体的把握。总结业务的模型、抽象业务的相关模型真的非常重要,这将让我们的代码写的更快!如果大家有什么更好的东西可以分享给阿福!

0 0