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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oyxm0/article/details/52332518

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

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

主项目:


子模块plugin



一、项目框架:
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、解决营销管理功能,如,限时特卖,明日预告,主推商品,夺宝管理、砍价管理等功能,后续还在升级中。

三、详细功能介绍:



猜你喜欢

转载自blog.csdn.net/oyxm0/article/details/52332518