项目介绍加链接

主要技术

  • 后端技术:spring、SpringMVC、Mybatis

  • 前端技术:JSP、JSTL、jQuery、Ajax、EasyUI、KindEditor(富文本编辑器)、CSS+DIV

  • 缓存技术:Redis(缓存服务器)

  • 消息队列:RabbitMQ

  • 搜索技术:Solr(搜索)

  • 远程调用技术:httpclient(调用系统服务)

  • 数据库:MySQL

  • 服务器: Nginx(web服务器)和tomcat

  • 版本控制:git

开发工具和环境

  • Eclipse Java EE IDE for Web Developers. Version: Luna Service Release 1 (4.4.1),自带maven插件。

  • Maven 3.3.9

  • Apache Tomcat/7.0.47(Maven Tomcat Plugin)

  • JDK 1.7

  • Mysql 5.6

  • Nginx 1.5.1

  • Redis 2.8.9

  • Win7 操作系统

功能模块

  • 后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。详细开发流程。点我

  • 前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。详细开发流程。点我

  • 单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。详细开发流程。点我

  • 订单系统:提供下单、查询订单、修改订单状态、定时处理订单。详细开发流程。点我

  • 购物车系统:集中管理订单。详细开发流程。点我

  • 搜索系统:提供商品的搜索功能。详细开发流程。点我

源码demo

源码已上传至github,链接点这里。点我

 

 

云商城项目打造的是“社区+电商”的模式,用户不只是在社区中有自己的圈子,还可以将电商加入到社区中,整个电商网站实现的功能非常之多,采用分布式的架构设计,包括后台管理、前台系统、订单系统、单点登录系统、搜索系统、会员系统等。B2C现货交易平台包括前台模块与后台模块。前台主要包括个人信息管理、商品信息查询、商品信息浏览、购物车管理、订单确定、在线支付、物流查询、商品搜索、智能排序等。后台主要包括:用户管理、角色管理、权限管理、商品管理、订单管理、物流信息管理等模块。各系统都是使用Spring+SpringMVC+Mybatis框架,采用分布式架构部署,各模块之间交互采用 接口调用,缓存采用Redis框架,异步消息处理采用Ajax与solr搜索引擎。支付模块主要调用订单模块获取商品信息,调用支付接口判断是否阻塞交易,负责订单信息入库,获取支付通道,调用支付接入系统接口,维护更新订单状态,支付后各类通知与同步等。
    ①该项目是公司的产品,我们公司负责整个网站的运营,属于B2C平台;
    ②系统的用途:

     主要是提供B2C的平台,其中自营商品也有商家入住,类似天猫与淘宝。
    ③系统架构:
     采用分布式的系统架构,其中前台系统和单点登录系统采用了集群的方式部署,在后台管理系统中采用了Maven的多模块化的管理,其中采用了水平切分的方式,将pojo、dao、service、web分层开发,这样做的好处就是可以重用性更高。
系统内部接口调用采用Httpclient,并且使用Httpclient的连接池技术,接口提供端采用RESTful方式的接口定义;
系统之间的通知机制采用MQ的方式,使用RabbitMQ的实现,使用了RabbitMQ的消息订阅模式的消息机制;
系统的接口还对JS的跨域做了支持,采用了jsonp的解决方法,在后台接口中扩展了spirng提供的jackson数据转化器实现;
    ④部署方面:

    采用了Nginx+tomcat的模式,其中nginx的作用一方面是做反向代理、负载均衡、另一方面是做图片等静态资源的服务器。

1、首先,用户表:
 用户id、用户名、密码、昵称、邮箱、电话、生日、地址、性别、状态及激活码
 字段都比较简单,没必要做特别说明
2、商品分类表:
 分类id及分类名称。也很简单
3、商品表:
  商品id、商品名称、市场价及商城价、图片路径、上架时间、是否热门、简介、商品状态及分类id
 这里由于商品表与分类表有多对一的关系,所以在多方(商品表)中加一个外键,用来记录商品所属分类信息。
 4、订单表:
  订单id、订单名称、订单总价、订单状态、送货地址、收货人姓名、收货人电话、用户id、支付方式
 这里订单状态:1 未付款 、2 未发货、 3 未签收、4 已收货
 另一个支付方式是我自己加的,也没什么必要
 这里因为订单表与用户表也是一对多的关系,所以加了一个外键用户id来表示这种关系
5、购物项表,由于订单表与商品表为多对多之间的关系,所以建了一个中间表来描述这种关系
 购物项id(可以不写)、商品数量、小计、商品id、订单id
商品数量与小计均为描述每一购物项的属性。
 6、后期为了持久化购物车的数据,可能还会建立一个购物车中购物项表,这里也列一下
  用户id、商品id、商品数量、创建时间、小计
 购物车逻辑后面会讲到。
 以上就是全部的表了。都是一些基本表,没什么逻辑可言,重要的是需要清楚这中间各个表中的关系。
好了,以上就是这个项目的一些准备工作。没什么特别重要或者难以理解的,只要清楚流程即可。
原文地址:https://www.cnblogs.com/shan1393/p/9568167.html