文档章节

Java产品设计-微信开发设计5《微商城saas系统之新版架构设计》

半个鼠标
 半个鼠标
发布于 2016/08/26 21:40
字数 1137
阅读 226
收藏 1

由于前面的项目架构让我们感觉到,我们维护成本比较大,并且项目之间的业务需求太过于紧密,我们开始对项目进行架构重组,开始规划这个新版的设计!

新版 的设计,结构很清晰。

一、项目框架:
1、采用Spring3.X+SpringMVC3.X+Mybatis+Bootstrap3.X+MySQL,Spring采用3.X版本,使用注解方式管理bean关系,基于SpringMVC进行封装公共的controller,Spring 自动扫描项目包管理、mybatis Mapper自动扫描等特性;模板采用Bootstrap3.X进行整合的,界面UI优美,并且对于bootstrap模板封装成组件化。
2、项目采用Maven管理,项目分模块化开发,每个业务都是一个plugin,应用项目依赖plugin进行组装打包整合出不同的项目。
3、项目出发点是SAAS理论,因此表的设计与业务设计都是SAAS架构的,数据库表设计都是根据商户ID进行独立存储,业务增删改查都也都是根据商户ID独立管理。
4、权限控制,采用自定义封装权限标签进行管理。
5、CDN存储设计,有微商城、微门店是满足于SAAS架构的,考虑到未来SAAS商户量一大会导致服务器压力大,图片访问资源慢的问题,因此项目设计上所有的图片存储都是采用CDN存储设计,将图片存储到了云端,由云端回源到自己项目域名,以提升项目中图片的存储问题与访问图片资源紧张跟性能的问题。

每一个plugin都是独立的,他跟其他的plugin之间没有耦合关系,我们这样设计的目的就是为了解耦合,同时又希望这些plugin之间可以进行组合成产品,这样一个个的升级plugin,就会有不同的产品组合出来!

下面举例一下其中的一个plugin:

这是微信公众号管理的plugin模块结构,他拥有独立的controller,mapper,service,util这些,这个模块被打包有,会被编译到web项目中的lib目录下,web项目依赖这些plugin模块!

二、项目介绍:

1、重整微信公众平台自带的自定义菜单功能,设计了一套属于自己的更灵活更强大的自定义菜单功能。

2、解决公众平台管理服务功能,如微信公众号管理、微信支付管理、微信自动回复、微信图文管理、自定义菜单功能,模板管理与选择,模板新增等

3、解决权限管理功能,如菜单管理,角色管理,管理员管理等系统功能。

4、解决图片空间管理功能,支持用户自定义创建文件夹,上传图片,右键自定义删除,复制链接,文件夹邮件删除、重命名等功能。

5、解决云服务中心,提供帮助文档说明、人工服务,工单系统等

6、解决店铺管理,如:店铺设置、我的店招,店铺宣传等功能

7、解决商品管理,支持所有行业的商品管理,采用灵活自建属性、规格的方式进行商品创建。商品管理核心功能:支持商品宣传管理,支持官方分类管理(即B2C分类,分一级、二级、三级分类),支持用户自定义创建商品分类并管理分类,分类同样支持三级分类,支持商品发布,选择使用默认的B2C分类,或者自定义创建的分类,可以为分类指定banner跟图标。

8、解决订单管理,支持多状态订单,支持发货等核心订单管理功能。

9、解决用户管理功能,支持用户管理(可指定店长,赠送积分等功能),地址管理,积分管理,余额记录管理等功能

10、解决分销管理功能,支持三级分销中心管理,三级分销报表管理,三级分销用户管理,三级分销订单管理,三级分销提现管理。

11、解决营销管理功能,如,限时特卖,明日预告,主推商品,夺宝管理、砍价管理等功能,后续还在升级中。

兴趣交流qq群:216290480

© 著作权归作者所有

半个鼠标
粉丝 16
博文 7
码字总数 3423
作品 0
深圳
架构师
私信 提问
招聘java工程师

招聘java工程师 职能范围:1、负责Java后台软件设计、开发与维护2、参与微信公众号相关开发 3、根据项目及产品需求,参与实现方案设计,独立完成所负责部分的编码开发与文档及例子的编写 4、...

zhangsaiwow
2017/07/10
242
6
【北京/苏州】清华同方子公司诚聘java/C++工程师/架构师

JAVA开发(初级)5人 岗位职责: 1、负责软件的详细设计,编码,调试等工作; 2、负责软件详细设计和应用操作手册等的编写。 职位要求: 1、计算机及其相关专业,本科以上学历; 2、2年以上从...

宁远
2011/08/17
1K
0
[北京]搜狐高薪招聘JS前端/页面制作/Java架构/开发/运维/搜索

北京搜狐为了构建一个重要的互联网产品, 打造一支精英化队伍, 特招聘有理想有抱负 的同学, 来实现我们共同的理想! 你是否胸中理想? 你是否需要一个大的舞台? 你是否需要一帮聊得来的兄弟, 请...

飞云小侠
2011/07/11
1K
11
[猎头招聘]【互联网JAVA teamleader】(工作地点:广州)

1)【互联网JAVA teamleader】(工作地点:广州) 职责: 1、负责团队日常技术管理以及团队长短目标的规划和方向指引; 2、负责重点项目架构、质量以及进度的把控 岗位要求: 1、本科以上学历...

DROPS
2012/05/25
575
8
搜狐(北京) 高薪招聘 Java 项目经理/架构师/WEB开发工程师

北京搜狐 高薪招聘 Java 项目经理/架构师/WEB开发工程师 有意请联系我 或帮忙转发 联系方式 cnscud@gmail.com msn:cloud@cnscud.com 多谢支持 注明来自 oschina.net更好, 谢谢 薪水范围 10-2...

飞云小侠
2011/05/08
820
7

没有更多内容

加载失败,请刷新页面

加载更多

【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
6
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
4
0
【Medium 万赞好文】ViewModel 和 LIveData:模式 + 反模式

原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知。...

秉心说
昨天
7
0
重学计算机组成原理(十二) - 异常和中断

1 概览 完好的程序都满足以下特征 自动运行 我们的程序和指令都是一条条顺序执行,不需要通过键盘或者网络给这个程序任何输入 正常运行 没有遇到计算溢出之类的程序错误。 不过,现实的软件世...

JavaEdge
昨天
7
0
程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部