酷派电商网站前端
描述:java
随着电子商务的发展,网上购物正在趋于一种时尚,电子商务网站也逐渐成为企业顺应潮流的标配。大多数人知道可能在电子商务网站前端有查询,注册登陆,购物车等等功能。但是您知道建设电子商务网站后台功能模块都有哪些么?今天咱们就聊聊电商网站后台功能模块的那些事。电子商务网站整个系统的后端管理,按功能划分为九大模块,包括商品组织管理、订单处理、内容发布管理等模块。面试
功能模块:数据库
1、商品模块: 后端
1.商品管理:商品和商品包的添加、修改、 删除、复制、批处理、商品计划上下架、SEO、商品多媒体上传等,能够定义商品是实体仍是虚拟,能够定义是否预订、是否缺货销售等。 2.商品目录管理:树形的商品目录组织管理,并能够设置关联/商品推荐。 3.商品类型管理:定义商品的类型,设置自定义属性项、SKU项和商品评论项。 4.品牌管理:添加、修改、删除、上传品牌 LOGO。 5.商品评论管理:回复、删除。
2、销售模块: 跨域
1.促销管理:分为目录促销、购物车促销和 优惠券促销三类,能够随意定义不一样的促销规则,知足平常促销活动:购物折扣、购物赠送积分、购物赠送优惠券、购物免运输费、特价商品、特定会员购买特定商品、折上折、买二送一等。 2.礼券管理:添加、发送礼券 3.关联/推荐管理――基于规则引擎,能够支持多种推荐类型,可手工添加或者自动评估商品。
3、订单模块: 缓存
1.订单管理:能够编辑、解锁、取消订单、 拆分订单、添加商品、移除商品、确承认备货等,也可对因促销规则发生变化引发的价格变化进行调整。订单处理完可发起退货、换货流程。 2.支付:经常使用于订单支付信息的查看和手工 支付两种功能。手工支付订单,经常使用于“款到发货”类型的订单,可理解为对款到发货这类订单的一种补登行为。 3.结算:提供商家与第三方物流公司的结算 功能,一般是月结。同时,结算功能也是经常使用来对“货到付款”这一类型订单支付后的数据进行对账
4、库存模块: 服务器
1.库存管理:引入库存的概念,不包括销售 规则为永远可售的商品,一个SKU对应一个库存量。库存管理提供增长、减小等调整库存量的功能;另外,也可对具具体的SKU设置商品的保留数量、***小库存量、再进货数量。 每条SKU商品的具体库存操做都会记录在库存明细记录里边。 2.查看库存明细记录。 3.备货/发货:建立备货单、打印备货单、打印发货单、打印EMS快递单、完成发货等一系列物流配送的操做。 4.退/换货:对退/换货的订单进行收货流程的处理。
5、内容模块: 网络
1.内容管理:包括内容管理以及内容目录管理。内容目录由树形结构组织管理。相似于商品目录的树形结构,可设置目录是否为连接目录。 2.无限制建立独立内容网页,好比关于咱们,联系咱们。 3.广告管理:添加、修改、删除、上传广告、 定义广告有效时限。 4.可自由设置商城导航栏目以及栏目内容、栏目连接。
6、用户模块:分布式
1.客户管理:添加、删除、修改、重设密码、 发送邮件等。 2.反馈管理:删除、回复。 3.消息订阅管理:添加、删除、修改消息组 和消息、分配消息组、查看订阅人。 4.会员资格:添加、删除、修改。
7、报表模块:
1.用户注册统计 2.低库存汇总 3.缺货订单 4.订单汇总 5.退换货
项目话术:
面试官您好,我先介绍一下个人这个项目的总体思路。酷派电商网站项目是一个手机的在线销售网站,包括pc端、移动端和WAP端。项目的功能不少,主要产品是手机和配件,购买手机时能够选择随心配一块儿购买,手机也能够由赠品。除了普通产品外,还有积分产品、秒杀产品、预售产品以及优惠券。酷派电商网站上的订单分为普通订单、积分订单、秒杀订单、预售订单、换购订单、优惠券订单等多种类型订单,每种订单类型逻辑也不同。整个网站分为前台和后台,前台用来给用户浏览手机并下单的,后台用来给管理员管理网站的全部产品、订单等内容。项目中配有生动的图文和各类有趣的活动,以此来提升客户的体验度,吸引广大用户的订阅和使用。
项目主要分为:用户模块、商品模块、销售模块、订单模块、库存模块、内容模块以及报表模块,六个大模块旗下又有多个子模块共计二十三个子模块。我主要客户模块和订单模块,那接下来我介绍一下我所负责的模块的流程。
第一个模块是用户模块,主要包括用户的登陆和注册、客户消息、消息订阅和会员资格。由于本项目是一个分布式的项目须要考虑到服务的跨域问题和移动端的Session失效等问题,因此将用户的登陆和注册等子模块作成一个独立的Auth系统。由于本Auth系统的请求响应机制,是基于Http协议的请求头(header)传输。舍弃了Cookie将数据存放在相应中以普通数据的方式发送,从而解决了Session失效的问题。使用Token+Redis的技术缓存服务器端生成的token信息返回给客户端,从而解决跨域的问题。本模块的重点在于Token的应用,在模块制做时也遇到了一些问题。一个在Token置换时老Token以删除新Token尚未生成,那么此时传递的仍然是老Token致使这个阶段操做都是离线操做。这是由于网络传输时网路具备延迟,也就是时间差问题。解决的办法是:Token设置一个保护期,也就是赞成置换Token也不会马上删除老Token,给其留一个时间而后加入新Token。 其次是在模拟测试时,模拟代攻击性的置换请求。发现过于频繁的置换会占满Redis,使得新的请求没法进入。解决的办法是:规定必定的时间内不容许置换,也就是时间隔离保护。
第二个模块是订单模块,建立订单功能、查看订单列表、根据订单id查询订单的详细信息、订单修改、订单取消、订单状态、订单评价等功能的实现。
订单项目的难点是如何建立订单,我介绍一下制做流程:
第一步:获取token中当前登陆用户的信息; 第二步:经过用户Id查询购物车,从购物车获取数据; 第三步:计算出订单的总价(得到总价); 第四步:生成订单; 第五步:将订单批量插入到数据库; 第六步:减小咱们的产品库存; 第七步:清空购物车。
其次是取消订单的制做流程:先获取token中当前登陆用户的信息,而后经过用户id和订单id查询订单新建一个订单,设置订单id和订单的状态,最后而后更新订单(主要就是更改订单的状态,变成取消)。