zywork-app
王振宇
zywork-app是基于SpringBoot,SpringCloud,SpringSecurity,MyBatis,Druid,Redis的快速开发系统,并使用SpringBoot Admin Server进行项目监控。
建议使用IntellijIDEA集成开发工具。
zywork-app依赖于zywork-common(https://github.com/gz-zywork/zywork-common)项目,zywork-common需要自行mvn install。
zywork-common项目依赖了zywork-sdk(https://github.com/gz-zywork/zywork-sdk)中的微信支付SDK,微信支付SDK需要自行mvn install。
官方网站及在线体验
使用的技术
- Maven
- SpringBoot
- SpringBoot Admin
- SpringCloud
- SpringSecurity
- JWT
- MyBatis
- Druid
- MySQL
- Redis
- Activiti
- Slf4j & Logback
- Swagger2
- 微信支付SDK
- 阿里云短信API
- 阿里云邮件推送API
- 阿里云OSS
- 七牛云对象存储、融合CDN
需要的服务器
- MySQL8
- Redis5
数据库脚本
documents/zywork_app.sql
只包含数据库结构
documents/zywork_app_data_test.sql
包含有数据库结构和测试数据
Druid数据监控
http://localhost:8088/druid/index.html
API接口测试
http://localhost:8088/swagger-ui.html
SpringActuator系统监控及SpringBoot Admin
http://localhost:8088/actuator/*
*部分请自行替换
http://localhost:8086
clone并运行zywork-app-admin项目
第三方SDK说明
微信支付SDK,阿里云短信,阿里云邮件推送相关配置请自行修改
目前已实现并测试的功能
- 基于SpringSecurity与JWT的用户认证及权限验证,适配任何前端,可支持多个端同时登录同一账号
- 实现了使用JWT注册登录的新增用户统计与日活跃用户统计功能,并可保存日活数据到数据库
- 基于自定义注解
@SysLog
的系统详细日志记录 - Redis缓存的后台界面管理,如查询缓存,删除缓存
- 定时任务管理,与SpringBoot整合,通过后台页面启动,暂停,恢复,停止或删除定时任务,可配置定时任务是否随系统自动启动
- SpringBoot Admin Server项目监控
- 使用JSON的系统配置存储,如API相关配置等
- 数据表增加
version
版本号字段,使用乐观锁机制解决高并发情况下更新表记录时数据一致性问题 - 用户邮箱加邮箱验证码注册,用户手机号加手机验证码注册,可选填注册邀请码
- 用户邮箱或手机号加密码登录,用户手机号加手机验证码登录
微信公众号
授权登录,微信小程序
授权登录并获取绑定手机号- 用户登录密码和支付密码的邮箱重置、手机验证码重置
- 用户登录密码和支付密码更新
- 组织部门管理,用户隶属于指定的组织机构,用户组织部门查询,组织部门树显示及修改
- 用户详情信息,用户角色信息,用户第三方登录信息
- 系统模块管理,模块权限管理,角色权限管理及分配,支持导入、导出角色信息,支持导入、导出角色权限配置信息
- 用户银行卡管理,根据卡号判断银行卡是否合法及获取银行卡相关信息,绑定银行卡,解除绑定银行卡
- 用户钱包信息,用户充值及充值记录,用户提现申请及提现记录、提现审核、人工完成提现(暂未对接第三方支付系统提现),用户提现查询,用户转账及转账记录,用户资金冻结管理
- 用户账目详情,记录每一笔资金变更
- 余额支付,微信公众号支付,微信小程序支付,微信公众号发送红包
- 用户收货地址管理,添加、删除、设置默认收货地址,查询收货地址等
- 用户注册邀请二维码和邀请链接生成,通过邀请二维码或邀请链接注册时可自动填写邀请码。可生成
带logo图片的二维码
- 用户注册时,若填写了正确的邀请码,则记录用户层级关系及用户路径。如果是普通用户,可用于邀请注册时按分销模式发放邀请奖励
- 实现了部分分销代码,可支持
N级分销
,并可配置。功能包括获取顶级分销商,获取指定分销商的上下K级分销商,获取指定用户所在的用户路径,获取用户关系,用户关系树结构显示等 - 系统消息管理(消息发送给指定的用户),用户消息查询,系统公告管理(所有用户可看)
- 文件上传工具类及文件上传示例,可支持指定图片大小或指定图片压缩比例的方式进行图片压缩
- 文件存储可配置性地选择本地存储,阿里云OSS或七牛云对象存储
- 内容管理:包括文章类别管理,文章管理,文章评论管理等;用户可发表,修改,删除评论
- 工作流管理:流程文件管理,流程部署,流程查询,流程待办任务及执行任务,流程在线设计等
- 商城管理之基础信息管理:商品类目管理,商品属性管理,类目属性管理,商品类目属性分配与排序,店铺信息管理,店铺信息审核,店铺审核历史,商品基础信息管理,商品图片管理(上传、预览及删除),商品图片排序
- 商城管理之商品SKU管理:SKU设置独立图片,SKU详情设置
- 商城管理之购物车管理:购物车管理和购物车信息查询
- 商城管理之订单管理:订单管理,订单项管理,订单物流管理,用户订单查询,用户订单项查询,用户订单物流查询
zywork-app在线体验发布日志
- V1.0.0,2019-01-22 22:45 基础功能,用户,权限,系统配置等
- V1.0.1,2019-01-26 13:30 增加更多页面,包括管理页面与查询页面,如组织部门管理,并优化菜单显示
- V1.0.2,2019-01-28 12:00 增加DruidSQL监控与SpringBoot Admin链接,并修复部分Bug
- V1.0.3,2019-02-06 12:00 更新个人中心页面,增加用户分配角色的界面
- V1.0.4,2019-02-16 10:00 增加内容管理,增加流程管理及商城管理部分功能
- V1.0.5,2019-02-20 18:00 更新首页显示,增加流程管理的所有功能,更新Redis缓存页面,定时任务管理页面,增加报表统计管理菜单
- V1.0.6,2019-02-23 10:30 商城管理中增加商品类目属性分配与排序,店铺信息管理,店铺信息审核及审核历史
- V1.0.7,2019-03-02 17:00 首页增加工作流待办任务;商城管理中增加商品图片设置,商品图片排序,商品SKU管理,商品SKU图片设置,商品SKU详情设置
- V1.0.8,2019-03-09 11:30 更新左侧菜单;文章及公告的发布使用富文本编辑器;增加后台购物车管理;增加分销管理:可查看所有顶级用户和用户分销等级(树结构)
- V1.0.9,2019-03-16 19:30 更新文章和公告管理,使用富文本编辑器;增加商城管理中的订单管理,订单项管理,订单物流管理,用户订单查询,用户订单项查询,用户订单物流查询
- V1.0.10,2019-03-29 17:30 使用七牛云对象存储和CDN服务,富文本编辑器插入图片支持CDN存储