Spring cloud 项目———酷派手机商城 (话术)1.0
酷派电商网站
描述:
随着电子商务的发展,网上购物正在趋于一种时尚,电子商务网站也逐渐成为企业顺应潮流的标配。大多数人知道可能在电子商务网站前端有查询,注册登录,购物车等等功能。可是您知道建设电子商务网站后台功能模块都有哪些么?今天我们就聊聊电商网站后台功能模块的那些事。电子商务网站整个系统的后端管理,按功能划分为九大模块,包括商品组织管理、订单处理、内容发布管理等模块。
功能模块:
一、商品模块:
1.商品管理:商品和商品包的添加、修改、 删除、复制、批处理、商品计划上下架、SEO、商品多媒体上传等,可以定义商品是实体还是虚拟,可以定义是否预订、是否缺货销售等。 2.商品目录管理:树形的商品目录组织管理,并可以设置关联/商品推荐。 3.商品类型管理:定义商品的类型,设置自定义属性项、SKU项和商品评论项。 4.品牌管理:添加、修改、删除、上传品牌 LOGO。 5.商品评论管理:回复、删除。
二、销售模块:
1.促销管理:分为目录促销、购物车促销和 优惠券促销三类,可以随意定义不同的促销规则,满足日常促销活动:购物折扣、购物赠送积分、购物赠送优惠券、购物免运输费、特价商品、特定会员购买特定商品、折上折、买二送一等。 2.礼券管理:添加、发送礼券 3.关联/推荐管理――基于规则引擎,可以支持多种推荐类型,可手工添加或者自动评估商品。
三、订单模块:
1.订单管理:可以编辑、解锁、取消订单、 拆分订单、添加商品、移除商品、确认可备货等,也可对因促销规则发生变化引起的价格变化进行调整。订单处理完可发起退货、换货流程。 2.支付:常用于订单支付信息的查看和手工 支付两种功能。手工支付订单,常用于“款到发货”类型的订单,可理解为对款到发货这类订单的一种补登行为。 3.结算:提供商家与第三方物流公司的结算 功能,通常是月结。同时,结算功能也是常用来对“货到付款”这一类型订单支付后的数据进行对帐
四、库存模块:
1.库存管理:引入库存的概念,不包括销售 规则为永远可售的商品,一个SKU对应一个库存量。库存管理提供增加、减少等调整库存量的功能;另外,也可对具具体的SKU设置商品的保留数量、***小库存量、再进货数量。 每条SKU商品的具体库存操作都会记录在库存明细记录里边。 2.查看库存明细记录。 3.备货/发货:创建备货单、打印备货单、打印发货单、打印EMS快递单、完成发货等一系列物流配送的操作。 4.退/换货:对退/换货的订单进行收货流程的处理。
五、内容模块:
1.内容管理:包括内容管理以及内容目录管理。内容目录由树形结构组织管理。类似于商品目录的树形结构,可设置目录是否为链接目录。 2.无限制创建独立内容网页,比如关于我们,联系我们。 3.广告管理:添加、修改、删除、上传广告、 定义广告有效时限。 4.可自由设置商城导航栏目以及栏目内容、栏目链接。
六、用户模块:
1.客户管理:添加、删除、修改、重设密码、 发送邮件等。 2.反馈管理:删除、回复。 3.消息订阅管理:添加、删除、修改消息组 和消息、分配消息组、查看订阅人。 4.会员资格:添加、删除、修改。
七、报表模块:
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和订单的状态,最后然后更新订单(主要就是更改订单的状态,变成取消)。
Spring cloud 项目———酷派手机商城 (话术)1.0的更多相关文章
- 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目
如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...
- Spring Cloud项目中通过Feign进行内部服务调用发生401\407错误无返回信息的问题
问题描述 最近在使用Spring Cloud改造现有服务的工作中,在内部服务的调用方式上选择了Feign组件,由于服务与服务之间有权限控制,发现通过Feign来进行调用时如果发生了401.407错误时 ...
- 【spring】在spring cloud项目中使用@ControllerAdvice做自定义异常拦截,无效 解决原因
之前在spring boot服务中使用@ControllerAdvice做自定义异常拦截,完全没有问题!!! GitHub源码地址: 但是现在在spring cloud中使用@ControllerAd ...
- IntelliJ 启动不同端口的两个spring cloud项目
IntelliJ 启动不同端口的两个spring cloud项目 1,使用maven进行clean package 2,在Terminal界面,输入java -jar xxx.jar --server ...
- Spring Cloud项目
如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 如何使用windows版Docker并在IntelliJ IDEA使用Docke ...
- spring cloud 项目创建过程
在使用spring cloud 项目创建微服务项目时,遇到过很多坑,现在我将整理如下: 条件:Idea 开发工具 maven 项目 1. 创建一个空的mvn项目. 2. 创建完了就添加Module,首 ...
- 关于spring cloud项目搭建问题
spring cloud 是基于spring boot搭建,父项目中引入依赖时候一定要将spring boot和spring cloud 的版本号对应起来,要不然jar包报错,项目也启动不起来!!!下 ...
- 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点: 一.oauth中的角 ...
- 我的spring cloud项目历程(2018.3~2018.9)
前言 今天是9月17日,趁着山竹的临幸,得以在家里舒适的办公.项目从3月底开始,至今刚好半年.抽几十分钟,总结下半年的历程.对后面的项目,应该也有一点帮助吧. 学习前的七个问题 项目开始前,由于某些特 ...
随机推荐
- arm开发板make编译时遇到 make[2]:*** [s-attrtab] 已杀死 问题的解决方案
未验证 出现“make[2]: *** [s-attrtab] 已杀死”log 是由于内存不足 解决方案 增加swapfile 步骤如下: 1. 查看当前swapfile状态 root@ubuntu: ...
- maven项目编译报错:Type Dynamic Web Module 3.0 requires Java 1.6 or newer.
在maven的pom.xml文件中增加: <build> <plugins> <plugin> <groupId>org.a ...
- 问题-CHM文件不显示
原问题:http://bbs.csdn.net/topics/370230310 问题描述: http://download.csdn.net/download/wybneu/3582721 我从这个 ...
- React 服务器端渲染流程
其实我们在访问客户端渲染的页面时,请求到的只是一个 html 空壳,里面引入了一个 js 文件,所有的内容都是通过 js 进行插入的,正是因为页面是由 js 渲染出来的,所以会带来如下几个问题: 1. ...
- 【LuoguP4887】第十四分块(前体)
题目链接 题意 区间两数异或在二进制下有 \(k\) 个 \(1\) 的对数. Sol 普通莫队的话,如果要实时维护好区间内的答案需要支持区间对一个数求答案. 直接做不是很好做,容易发现其实这也就是一 ...
- css,scss解决样式:表格的重叠边框
初始效果: 解决方法: 给带有边框的元素设置如下样式margin:0 0 -borderwidth -borderwidth 这里的borderwidth即为边框的宽度,按照上图所示,则添加样式 ma ...
- 命令行执行while语句
while true;do echo hello world;sleep 1;done
- Miller Rabin 算法简介
0.1 一些闲话 最近一次更新是在2019年11月12日.之前的文章有很多问题:当我把我的代码交到LOJ上,发现只有60多分.我调了一个晚上,尝试用{2, 3, 5, 7, 11, 13, 17, 1 ...
- 浏览器使用小tip
谷歌浏览器截取长图 很多网页长图单个页面截不下来,那么需要如何解决? 首先,在谷歌浏览器chrome中打开需要截图的网页,等待需要截图的网页打开完毕,然后按F12 打开开发者工具,然后按组合键 Ctr ...
- NOI数论姿势瞎总结(Pi也没有)
Miller-Rabin素数检测 费马小定理:没人不会吧. 二次探测:如果\(n\)是质数,\(x^2 \equiv 1\ (\mod n)\)的解只有\(x \equiv 1\)或\(x \equi ...