Compare commits

..

2 Commits

Author SHA1 Message Date
shuzheng be7a9b3e00 update 2017-05-21 23:02:02 +08:00
shuzheng bfcb04d05a update 2017-05-20 00:31:48 +08:00
389 changed files with 1550 additions and 22669 deletions

4
.gitignore vendored
View File

@ -10,6 +10,4 @@ target
generatorConfig.xml
.DS_Store
*.cache
*.lock
/build/
*.settings
*.lock

View File

@ -1,7 +0,0 @@
---
language: java
sudo: false
jdk:
- oraclejdk8
notifications:
email: false

11
LICENSE
View File

@ -1,6 +1,15 @@
MIT License
Copyright (c) 2017 https://github.com/shuzheng/zheng
项目名称zheng
项目介绍基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构提供整套公共微服务服务模块集中权限管理单点登录、内容管理、支付中心、用户管理支持第三方登录、微信平台、存储系统、配置中心、日志分析、任务和通知等支持服务治理、监控和追踪努力为中小型企业打造全方位J2EE企业级开发解决方案。
作者:张恕征
469741414
官网http://www.zhangshuzheng.cn
Githubhttps://github.com/shuzheng/zheng
码云http://git.oschina.net/shuzheng/zheng
Copyright (c) 2017 ZhangShuzheng
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

185
README.md
View File

@ -1,15 +1,14 @@
# zheng
[![Build Status](https://travis-ci.org/shuzheng/zheng.svg?branch=master)](https://travis-ci.org/shuzheng/zheng)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shuzheng/zheng/pulls)
[![GitHub stars](https://img.shields.io/github/stars/shuzheng/zheng.svg?style=social&label=Stars)](https://github.com/shuzheng/zheng)
[![GitHub forks](https://img.shields.io/github/forks/shuzheng/zheng.svg?style=social&label=Fork)](https://github.com/shuzheng/zheng)
交流QQ群133107819、284280411、305155242🈵、528049386、157869467🈵、570766789🈵、601147566🈵、309985359🈵、336380857🈵、522723488、556447629、654558397🈵、392564561🈵、494594000🈵、494070275🈵、168267539🈵、652798487🈵、650979251🈵、622461564🈵、219381522🈵、487874426🈵、398342630🈵、205986087🈵、574153262🈵、606890936🈵、565434047🈵、680947971🈵、341884034🈵、562977817🈵、478962414🈵、679219230🈵、676766033🈵、621874750🈵、522903600🈵、524932879🈵、376261902🈵、481096887🈵、232104667🈵、637879277🈵、697575367🈵、702995203🈵、708665910🈵、697141239🈵、574057714🈵、631332162🈵、591739143🈵、731016871🈵、598738752🈵、748759166🈵、159816595(群内含各种工具、文档、视频教程下载)
交流QQ群133107819(群内含各种工具和文档下载)
## 前言
  `zheng`项目不仅仅是一个开发架构,而是努力打造一套从 **前端模板** - **基础框架** - **分布式架构** - **开源项目** - **持续集成** - **自动化部署** - **系统监测** - **无缝升级** 的全方位J2EE企业级开发解决方案。
  `zheng`项目创建于2016年10月4日正在慢慢成长中目的不仅仅是一个开发架构,而是努力打造一套从 **前端模板** - **基础框架** - **分布式架构** - **开源项目** - **持续集成** - **自动化部署** - **系统监测** - **无缝升级** 的全方位J2EE企业级开发解决方案。
## 项目介绍
@ -17,67 +16,7 @@
### 组织结构
``` lua
zheng
├── zheng-common -- SSM框架公共模块
├── zheng-admin -- 后台管理模板
├── zheng-ui -- 前台thymeleaf模板[端口:1000]
├── zheng-config -- 配置中心[端口:1001]
├── zheng-upms -- 用户权限管理系统
| ├── zheng-upms-common -- upms系统公共模块
| ├── zheng-upms-dao -- 代码生成模块,无需开发
| ├── zheng-upms-client -- 集成upms依赖包提供单点认证、授权、统一会话管理
| ├── zheng-upms-rpc-api -- rpc接口包
| ├── zheng-upms-rpc-service -- rpc服务提供者
| └── zheng-upms-server -- 用户权限系统及SSO服务端[端口:1111]
├── zheng-cms -- 内容管理系统
| ├── zheng-cms-common -- cms系统公共模块
| ├── zheng-cms-dao -- 代码生成模块,无需开发
| ├── zheng-cms-rpc-api -- rpc接口包
| ├── zheng-cms-rpc-service -- rpc服务提供者
| ├── zheng-cms-search -- 搜索服务[端口:2221]
| ├── zheng-cms-admin -- 后台管理[端口:2222]
| ├── zheng-cms-job -- 消息队列、任务调度等[端口:2223]
| └── zheng-cms-web -- 网站前台[端口:2224]
├── zheng-pay -- 支付系统
| ├── zheng-pay-common -- pay系统公共模块
| ├── zheng-pay-dao -- 代码生成模块,无需开发
| ├── zheng-pay-rpc-api -- rpc接口包
| ├── zheng-pay-rpc-service -- rpc服务提供者
| ├── zheng-pay-sdk -- 开发工具包
| ├── zheng-pay-admin -- 后台管理[端口:3331]
| └── zheng-pay-web -- 演示示例[端口:3332]
├── zheng-ucenter -- 用户系统(包括第三方登录)
| ├── zheng-ucenter-common -- ucenter系统公共模块
| ├── zheng-ucenter-dao -- 代码生成模块,无需开发
| ├── zheng-ucenter-rpc-api -- rpc接口包
| ├── zheng-ucenter-rpc-service -- rpc服务提供者
| └── zheng-ucenter-web -- 网站前台[端口:4441]
├── zheng-wechat -- 微信系统
| ├── zheng-wechat-mp -- 微信公众号管理系统
| | ├── zheng-wechat-mp-dao -- 代码生成模块,无需开发
| | ├── zheng-wechat-mp-service -- 业务逻辑
| | └── zheng-wechat-mp-admin -- 后台管理[端口:5551]
| └── zheng-ucenter-app -- 微信小程序后台
├── zheng-api -- API接口总线系统
| ├── zheng-api-common -- api系统公共模块
| ├── zheng-api-rpc-api -- rpc接口包
| ├── zheng-api-rpc-service -- rpc服务提供者
| └── zheng-api-server -- api系统服务端[端口:6666]
├── zheng-oss -- 对象存储系统
| ├── zheng-oss-sdk -- 开发工具包
| ├── zheng-oss-web -- 前台接口[端口:7771]
| └── zheng-oss-admin -- 后台管理[端口:7772]
├── zheng-message -- 实时通知系统
| ├── zheng-message-sdk -- 开发工具包
| ├── zheng-message-server -- 服务端[端口:8881,SocketIO端口:8882]
| └── zheng-message-client -- 客户端
├── zheng-shop -- 电子商务系统
└── zheng-demo -- 示例模块(包含一些示例代码等)
├── zheng-demo-rpc-api -- rpc接口包
├── zheng-demo-rpc-service -- rpc服务提供者
└── zheng-demo-web -- 演示示例[端口:9999]
```
![组织结构](project-bootstrap/zheng_project.png)
### 技术选型
@ -112,7 +51,6 @@ AliOSS & Qiniu & QcloudCOS | 云存储 | [https://www.aliyun.com/product/oss/](
Protobuf & json | 数据序列化 | [https://github.com/google/protobuf](https://github.com/google/protobuf)
Jenkins | 持续集成工具 | [https://jenkins.io/index.html](https://jenkins.io/index.html)
Maven | 项目构建管理 | [http://maven.apache.org/](http://maven.apache.org/)
Netty-socketio | 实时推送 | [https://github.com/mrniko/netty-socketio](https://github.com/mrniko/netty-socketio)
#### 前端技术:
技术 | 名称 | 官网
@ -121,7 +59,6 @@ jQuery | 函式库 | [http://jquery.com/](http://jquery.com/)
Bootstrap | 前端框架 | [http://getbootstrap.com/](http://getbootstrap.com/)
Bootstrap-table | Bootstrap数据表格 | [http://bootstrap-table.wenzhixin.net.cn/](http://bootstrap-table.wenzhixin.net.cn/)
Font-awesome | 字体图标 | [http://fontawesome.io/](http://fontawesome.io/)
material-design-iconic-font | 字体图标 | [https://github.com/zavoloklom/material-design-iconic-font](https://github.com/zavoloklom/material-design-iconic-font)
Waves | 点击效果插件 | [https://github.com/fians/Waves](https://github.com/fians/Waves)
zTree | 树插件 | [http://www.treejs.cn/v3/](http://www.treejs.cn/v3/)
Select2 | 选择框插件 | [https://github.com/select2/select2](https://github.com/select2/select2)
@ -133,7 +70,6 @@ zhengAdmin | 后台管理系统模板 | [https://github.com/shuzheng/zhengAdmin
autoMail | 邮箱地址自动补全插件 | [https://github.com/shuzheng/autoMail](https://github.com/shuzheng/autoMail)
zheng.jprogress.js | 加载进度条插件 | [https://github.com/shuzheng/zheng.jprogress.js](https://github.com/shuzheng/zheng.jprogress.js)
zheng.jtotop.js | 返回顶部插件 | [https://github.com/shuzheng/zheng.jtotop.js](https://github.com/shuzheng/zheng.jtotop.js)
socket.io.js | SocketIO插件 | [https://socket.io/](https://socket.io/)
#### 架构图
@ -174,9 +110,9 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
> zheng-api
服务网关,对外暴露统一规范的接口和包装响应结果,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,可在该模块支持验签、鉴权、路由、限流、监控、容错、日志等功能。示例图:
接口总线系统,对外暴露统一规范的接口,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,示例图:
![API网关](project-bootstrap/gateway_config.png)
![API网关](project-bootstrap/zheng-api.png)
> zheng-cms
@ -199,15 +135,27 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理、消息群发等基础功能外,还有二维码推广、营销活动、微网站、会员卡、优惠券等。
> zheng-wechat-app
> zheng-ucenter-app
微信小程序后台
> zheng-message
> zheng-shop
基于Netty实现SocketIO的实时推送系统。支持命名空间、二进制数据、SSL、ACK等功能。
电子商务系统
## 环境搭建QQ群内有“zheng环境搭建和系统部署文档.doc”
> zheng-im
即时通讯系统
> zheng-oa
办公自动化系统
> zheng-eoms
运维系统
## 环境搭建
#### 开发工具:
- MySql: 数据库
@ -221,17 +169,16 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
- Navicat for MySQL: 数据库客户端
#### 开发环境:
- Jdk7+
- Mysql5.5+
- Jdk7
- Mysql5.5
- Redis
- Zookeeper
- ActiveMQ
- Dubbo-admin
- Dubbo-monitor
### 工具安装
环境搭建和系统部署文档(作者小兵QQ群共享提供下载)
[环境搭建和系统部署文档(作者:小兵)](http://git.oschina.net/shuzheng/zheng/attach_files "环境搭建和系统部署文档(作者:小兵)")
### 资源下载
@ -263,54 +210,39 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
- 127.0.0.1 wechat.zhangshuzheng.cn
- 127.0.0.1 api.zhangshuzheng.cn
- 127.0.0.1 oss.zhangshuzheng.cn
- 127.0.0.1 config.zhangshuzheng.cn
- 127.0.0.1 zkserver
- 127.0.0.1 rdserver
- 127.0.0.1 dbserver
- 127.0.0.1 mqserver
### 编译流程
~~zheng-admin、zheng-common => zheng-upms => 其他~~
maven编译安装zheng/pom.xml文件即可
### 启动顺序(后台)
> 准备工作
```
- 新建zheng数据库导入project-datamodel文件夹下的zheng.sql
- 修改各dao模块和rpc-service模块的redis.properties、jdbc.properties、generator.properties数据库连接等配置信息其中master.redis.password、master.jdbc.password、slave.jdbc.password、generator.jdbc.password密码值使用了AES加密请使用com.zheng.common.util.AESUtil工具类修改这些值
- 启动Zookeeper、Redis、ActiveMQ、Nginx配置文件参考project-tools/nginx下的*.conf文件
> **zheng-upms**
- 首先启动 zheng-upms-rpc-service(直接运行src目录下的ZhengUpmsRpcServiceApplication#main方法启动) => zheng-upms-server(jetty)然后按需启动对应子系统xxx的zheng-xxx-rpc-service(main方法) => zheng-xxx-webapp(jetty)
```
![启动演示](project-bootstrap/start.png)
- 访问 [http://upms.zhangshuzheng.cn:1111/](http://upms.zhangshuzheng.cn:1111/ "统一后台地址")子系统菜单已经配置到zheng-upms权限中不用直接访问子系统默认帐号密码admin/123456
```
- 访问 [统一后台地址 http://upms.zhangshuzheng.cn:1111/]子系统菜单已经配置到zheng-upms权限中不用直接访问子系统默认帐号密码admin/123456
- 登录成功后,可在右上角切换已注册系统访问
```
> **zheng-cms**
### 启动顺序(前台)
- zheng-cms-admin启动ActiveMQ-启动 => 启动zheng-rpc-service => 启动zheng-cms-admin
```
- 启动nginx代理zheng-ui静态资源配置文件可参考 [nginx.conf](http://git.oschina.net/shuzheng/zheng/attach_files)
- zheng-cms-web启动nginx代理zheng-ui静态资源配置文件可参考 [nginx.conf](http://git.oschina.net/shuzheng/zheng/attach_files)
- 启动前台系统应用服务器
```
> **zheng-oss**
- 首先启动zheng-oss-web服务
- 开发阶段如果zheng-oss-web没有公网域名推荐使用`ngrok`内网穿透工具,为开发环境提供公网域名,实现上传回调
- 启动nginx代理zheng-ui静态资源
### 开发演示QQ群内有“zheng十分钟视频从检出到启动.wmv”
### 开发演示
```
- 创建数据表建议使用PowerDesigner
- 直接运行对应项目dao模块中的generator.main()可自动生成单表的CRUD功能和对应的model、example、mapper、service代码
@ -319,27 +251,22 @@ maven编译安装zheng/pom.xml文件即可
- 已包含抽象类BaseServiceImpl只需要继承抽象类并传入泛型参数即可默认实现mapper接口所有方法特殊需求直接扩展即可
- BaseServiceImpl默认已实现四种根据条件分页接口
- selectByExampleWithBLOBsForStartPage()
- selectByExampleForStartPage()
- selectByExampleWithBLOBsForOffsetPage()
- selectByExampleForOffsetPage()
- BaseServiceImpl默认已实现`selectByExampleWithBLOBsForStartPage()`、`selectByExampleForStartPage()`、`selectByExampleWithBLOBsForOffsetPage()`、`selectByExampleForOffsetPage()`四种根据条件分页接口
- BaseServiceImpl方法根据读写操作自动切换主从数据源继承的扩展接口可手动通过`DynamicDataSource.setDataSource(DataSourceEnum.XXX.getName())`指定数据源
- 启动流程优先rcp-service服务提供者再启动其他webapp
- 扩展流程可扩展和拆分rpc-api和rpc-service模块可按微服务拆分或场景拆分
```
### 部署方式QQ群内有“zheng十分钟视频从打包到linux服务器部署.wmv”
### 部署方式
```
- war包项目使用tomcat等web容器启动
- rpc-service服务提供者jar包将打包后的zheng-xxx-rpc-service-assembly.tar.gz文件解压使用bin目录的管理脚本运行即可支持优雅停机。
```
### 框架规范约定
@ -419,32 +346,10 @@ maven编译安装zheng/pom.xml文件即可
- 界面没有样式因为zheng-admin没有编译安装到本地仓库
- linux下执行rpc-service脚本报“bin/bash^M 坏的解释器”使用sed -i 's/\r$//' filename删除脚本中\r字符
## 附件
### zheng相关博客
- [zheng-1环境搭建及项目部署](http://www.jianshu.com/p/b2fb42e17b58 "zheng-1环境搭建及项目部署")
- [zheng项目新建一个module学习学习](http://blog.csdn.net/u014449653/article/details/78294862 "zheng项目新建一个module学习学习")
- [zheng项目系统简单的分析记录](http://blog.csdn.net/u014449653/article/details/78319135 "zheng项目系统简单的分析记录")
- [zheng项目-从rpc-service开始](http://blog.csdn.net/u014449653/article/details/78341171 "zheng项目-从rpc-service开始")
- [进击zheng项目zheng-umps-server](http://blog.csdn.net/u014449653/article/details/78355849 "进击zheng项目zheng-umps-server")
- [zheng环境搭建](http://blog.csdn.net/u011781521/article/details/79012311 "zheng环境搭建")
- [让zheng支持activiti工作流](http://blog.csdn.net/ctmold/article/details/79082406 "让zheng支持activiti工作流")
- [让zheng更完美地支持ajax提交的json数据](http://blog.csdn.net/ctmold/article/details/79081483 "让zheng更完美地支持ajax提交的json数据")
### 优秀文章和博客
- [Git原理及使用](https://zhuanlan.zhihu.com/p/66506485 "Git原理及使用")
- [创业互联网公司如何搭建自己的技术框架](http://shuzheng5201314.iteye.com/blog/2330151 "创业互联网公司如何搭建自己的技术框架")
- [微服务实战](https://segmentfault.com/a/1190000004634172 "微服务实战")
@ -487,8 +392,6 @@ maven编译安装zheng/pom.xml文件即可
- [如何细粒度地控制你的MyBatis二级缓存](http://blog.csdn.net/luanlouis/article/details/41800511 "如何细粒度地控制你的MyBatis二级缓存")
- [Git 在团队中的最佳实践--如何正确使用Git Flow](hhttps://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow "Git 在团队中的最佳实践--如何正确使用Git Flow")
- [做个男人,做个成熟的男人,做个有城府的男人](http://shuzheng5201314.iteye.com/blog/1387820 "做个男人,做个成熟的男人,做个有城府的男人")
@ -522,4 +425,4 @@ maven编译安装zheng/pom.xml文件即可
## 许可证
[MIT](LICENSE "MIT")
[MIT](http://opensource.org/licenses/MIT "MIT")

View File

@ -28,8 +28,10 @@
<module>zheng-ucenter</module>
<module>zheng-wechat</module>
<module>zheng-shop</module>
<module>zheng-im</module>
<module>zheng-oa</module>
<module>zheng-eoms</module>
<module>zheng-api</module>
<module>zheng-message</module>
<module>zheng-demo</module>
</modules>
</project>

View File

@ -1,3 +1,66 @@
# project-bootstrap
本目录为项目介绍资源目录,包含模块依赖图、拓扑图等
本目录为项目介绍资源目录,包含模块依赖图、拓扑图等
### 组织结构
``` lua
zheng
├── zheng-common -- SSM框架公共模块
├── zheng-admin -- 后台管理模板
├── zheng-ui -- 前台thymeleaf模板[端口:1000]
├── zheng-upms -- 用户权限管理系统
| ├── zheng-upms-common -- upms系统公共模块
| ├── zheng-upms-dao -- 代码生成模块,无需开发
| ├── zheng-upms-client -- 集成upms依赖包提供单点认证、授权、统一会话管理
| ├── zheng-upms-rpc-api -- rpc接口包
| ├── zheng-upms-rpc-service -- rpc服务提供者
| └── zheng-upms-server -- 用户权限系统及SSO服务端[端口:1111]
├── zheng-cms -- 内容管理系统
| ├── zheng-cms-common -- cms系统公共模块
| ├── zheng-cms-dao -- 代码生成模块,无需开发
| ├── zheng-cms-rpc-api -- rpc接口包
| ├── zheng-cms-rpc-service -- rpc服务提供者
| ├── zheng-cms-search -- 搜索服务[端口:2221]
| ├── zheng-cms-admin -- 后台管理[端口:2222]
| ├── zheng-cms-job -- 消息队列、任务调度等[端口:2223]
| └── zheng-cms-web -- 网站前台[端口:2224]
├── zheng-pay -- 支付系统
| ├── zheng-pay-common -- pay系统公共模块
| ├── zheng-pay-dao -- 代码生成模块,无需开发
| ├── zheng-pay-rpc-api -- rpc接口包
| ├── zheng-pay-rpc-service -- rpc服务提供者
| ├── zheng-pay-sdk -- 开发工具包
| ├── zheng-pay-admin -- 后台管理[端口:3331]
| └── zheng-pay-web -- 演示示例[端口:3332]
├── zheng-ucenter -- 用户系统(包括第三方登录)
| ├── zheng-ucenter-common -- ucenter系统公共模块
| ├── zheng-ucenter-dao -- 代码生成模块,无需开发
| ├── zheng-ucenter-rpc-api -- rpc接口包
| ├── zheng-ucenter-rpc-service -- rpc服务提供者
| └── zheng-ucenter-web -- 网站前台[端口:4441]
├── zheng-wechat -- 微信系统
| ├── zheng-wechat-mp -- 微信公众号管理系统
| | ├── zheng-wechat-mp-dao -- 代码生成模块,无需开发
| | ├── zheng-wechat-mp-service -- 业务逻辑
| | └── zheng-wechat-mp-admin -- 后台管理[端口:5551]
| └── zheng-ucenter-app -- 微信小程序后台
├── zheng-api -- API接口总线系统
| ├── zheng-api-common -- api系统公共模块
| ├── zheng-api-rpc-api -- rpc接口包
| ├── zheng-api-rpc-service -- rpc服务提供者
| └── zheng-api-server -- api系统服务端[端口:6666]
├── zheng-oss -- 对象存储系统
| ├── zheng-oss-sdk -- 开发工具包
| ├── zheng-oss-web -- 前台接口[端口:7771]
| └── zheng-oss-admin -- 后台管理[端口:7772]
├── zheng-shop -- 电子商务系统
├── zheng-im -- 即时通讯系统
├── zheng-oa -- 办公自动化系统
├── zheng-eoms -- 运维系统
└── zheng-demo -- 示例模块(包含一些示例代码等)
├── zheng-demo-rpc-api -- rpc接口包
├── zheng-demo-rpc-service -- rpc服务提供者
└── zheng-demo-web -- 演示示例[端口:8888]
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{22E867D0-73E2-4C77-BB68-28135519D681}" Label="" LastModificationDate="1493219578" Name="zheng" Objects="518" Symbols="80" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<?PowerDesigner AppLocale="UTF16" ID="{22E867D0-73E2-4C77-BB68-28135519D681}" Label="" LastModificationDate="1493219433" Name="zheng" Objects="517" Symbols="80" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -4848,8 +4848,8 @@ DESTINATION 0 新宋体,8,N</a:FontList>
<o:ReferenceSymbol Id="o97">
<a:CreationDate>1493218927</a:CreationDate>
<a:ModificationDate>1493219424</a:ModificationDate>
<a:Rect>((23021,-116895), (29293,-115645))</a:Rect>
<a:ListOfPoints>((28893,-116270),(23421,-116270))</a:ListOfPoints>
<a:Rect>((23021,-116871), (29873,-115621))</a:Rect>
<a:ListOfPoints>((29473,-116246),(23421,-116246))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -4870,8 +4870,8 @@ DESTINATION 0 新宋体,8,N</a:FontList>
<o:ReferenceSymbol Id="o100">
<a:CreationDate>1493218932</a:CreationDate>
<a:ModificationDate>1493219429</a:ModificationDate>
<a:Rect>((39557,-127943), (40807,-118709))</a:Rect>
<a:ListOfPoints>((40182,-119109),(40182,-127543))</a:ListOfPoints>
<a:Rect>((39564,-127943), (40814,-118297))</a:Rect>
<a:ListOfPoints>((40189,-118697),(40189,-127543))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -5766,7 +5766,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1493217330</a:CreationDate>
<a:ModificationDate>1493219424</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((28893,-119109), (52015,-112737))</a:Rect>
<a:Rect>((29473,-118697), (51435,-113149))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@ -9759,7 +9759,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Code>ucenter_user_oauth</a:Code>
<a:CreationDate>1493217330</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
<a:ModificationDate>1493219578</a:ModificationDate>
<a:ModificationDate>1493218841</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>用户认证方式表</a:Comment>
<a:TotalSavingCurrency/>
@ -9811,22 +9811,6 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o409">
<a:ObjectID>71376A67-43DC-4A05-BB32-C14FEF21AFF0</a:ObjectID>
<a:Name>第三方ID</a:Name>
<a:Code>open_id</a:Code>
<a:CreationDate>1493219500</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
<a:ModificationDate>1493219578</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>第三方ID</a:Comment>
<a:DataType>varbinary(50)</a:DataType>
<a:Length>50</a:Length>
<a:Column.Mandatory>1</a:Column.Mandatory>
<a:ExtendedAttributesText>{F4F16ECD-F2F1-4006-AF6F-638D5C65F35E},MYSQL50,57={4A2BD2F3-4A8A-4421-8A48-A8029BDA28E8},Unsigned,5=false
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o410">
<a:ObjectID>1F7F940A-FB11-4942-8EB6-59DC8F02E1F7</a:ObjectID>
<a:Name>绑定状态(0:解绑,1:绑定)</a:Name>
<a:Code>status</a:Code>
@ -9841,7 +9825,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o411">
<o:Column Id="o410">
<a:ObjectID>0D58E41B-962F-4139-8EFA-8E625F36F2F6</a:ObjectID>
<a:Name>创建时间</a:Name>
<a:Code>create_time</a:Code>
@ -9858,7 +9842,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o412">
<o:Key Id="o411">
<a:ObjectID>9B7D3240-ED0C-4DD0-A620-4821A9EF2D03</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -9872,7 +9856,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o412"/>
<o:Key Ref="o411"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o148">
@ -9886,7 +9870,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>认证方式表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o413">
<o:Column Id="o412">
<a:ObjectID>90C6365F-585E-4973-AC86-16A82E898D60</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>oauth_id</a:Code>
@ -9902,7 +9886,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o414">
<o:Column Id="o413">
<a:ObjectID>2AFF2C35-6DF6-49A7-B4C7-C747A29128DE</a:ObjectID>
<a:Name>认证方式名称</a:Name>
<a:Code>name</a:Code>
@ -9916,7 +9900,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o415">
<o:Key Id="o414">
<a:ObjectID>37EAA472-5F51-46D3-B398-528C74690B33</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -9925,12 +9909,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493218429</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o413"/>
<o:Column Ref="o412"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o415"/>
<o:Key Ref="o414"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o149">
@ -9944,7 +9928,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>用户详情表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o416">
<o:Column Id="o415">
<a:ObjectID>D0224209-69E0-42FB-B7EE-49E1107080C1</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>user_id</a:Code>
@ -9959,7 +9943,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o417">
<o:Column Id="o416">
<a:ObjectID>4DE45073-FF0B-4A0D-A10A-C83E81414324</a:ObjectID>
<a:Name>个性签名</a:Name>
<a:Code>signature</a:Code>
@ -9971,7 +9955,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(300)</a:DataType>
<a:Length>300</a:Length>
</o:Column>
<o:Column Id="o418">
<o:Column Id="o417">
<a:ObjectID>1BF99A0A-7513-4206-90E6-23A0C2997D61</a:ObjectID>
<a:Name>真实姓名</a:Name>
<a:Code>real_name</a:Code>
@ -9983,7 +9967,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(20)</a:DataType>
<a:Length>20</a:Length>
</o:Column>
<o:Column Id="o419">
<o:Column Id="o418">
<a:ObjectID>6F3CE863-6A0B-4756-A09F-45F4BCC58537</a:ObjectID>
<a:Name>出生日期</a:Name>
<a:Code>birthday</a:Code>
@ -9994,7 +9978,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>出生日期</a:Comment>
<a:DataType>timestamp</a:DataType>
</o:Column>
<o:Column Id="o420">
<o:Column Id="o419">
<a:ObjectID>47DD4186-2274-4648-AF3C-9EAB6C6C2C2B</a:ObjectID>
<a:Name>帐号安全问题</a:Name>
<a:Code>question</a:Code>
@ -10006,7 +9990,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(100)</a:DataType>
<a:Length>100</a:Length>
</o:Column>
<o:Column Id="o421">
<o:Column Id="o420">
<a:ObjectID>08CBA375-C38A-4471-B4A3-91DBE8CF7251</a:ObjectID>
<a:Name>帐号安全答案</a:Name>
<a:Code>answer</a:Code>
@ -10020,7 +10004,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o422">
<o:Key Id="o421">
<a:ObjectID>032C752F-E78F-42B9-9714-6229347F0DD1</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -10029,12 +10013,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493218800</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o416"/>
<o:Column Ref="o415"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o422"/>
<o:Key Ref="o421"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o150">
@ -10048,7 +10032,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>用户操作日志表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o423">
<o:Column Id="o422">
<a:ObjectID>6AB6AF03-2213-4C04-B12D-5F375D857144</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>user_log_id</a:Code>
@ -10064,7 +10048,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o424">
<o:Column Id="o423">
<a:ObjectID>87955ADE-EFC0-420A-81F5-658F2A7C3725</a:ObjectID>
<a:Name>用户编号</a:Name>
<a:Code>user_id</a:Code>
@ -10078,7 +10062,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o425">
<o:Column Id="o424">
<a:ObjectID>F67D38B6-42C5-4D36-B234-7EF752AD41B6</a:ObjectID>
<a:Name>内容</a:Name>
<a:Code>content</a:Code>
@ -10090,7 +10074,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varbinary(100)</a:DataType>
<a:Length>100</a:Length>
</o:Column>
<o:Column Id="o426">
<o:Column Id="o425">
<a:ObjectID>B0E51B1F-1AC9-43BB-BAFE-C981C106A9C4</a:ObjectID>
<a:Name>操作IP地址</a:Name>
<a:Code>ip</a:Code>
@ -10102,7 +10086,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(20)</a:DataType>
<a:Length>20</a:Length>
</o:Column>
<o:Column Id="o427">
<o:Column Id="o426">
<a:ObjectID>5B146716-3913-4E2A-B0D9-9AAB19123DAB</a:ObjectID>
<a:Name>操作环境</a:Name>
<a:Code>agent</a:Code>
@ -10114,7 +10098,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varbinary(200)</a:DataType>
<a:Length>200</a:Length>
</o:Column>
<o:Column Id="o428">
<o:Column Id="o427">
<a:ObjectID>31733B24-9ACB-4A00-81B3-1E1C2B5CB4B7</a:ObjectID>
<a:Name>操作时间</a:Name>
<a:Code>create_time</a:Code>
@ -10128,7 +10112,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o429">
<o:Key Id="o428">
<a:ObjectID>04CD6C40-DA72-4141-8E03-ED25B7E1D20D</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -10137,12 +10121,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493219387</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o423"/>
<o:Column Ref="o422"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o429"/>
<o:Key Ref="o428"/>
</c:PrimaryKey>
</o:Table>
</c:Tables>
@ -10168,7 +10152,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o430">
<o:ReferenceJoin Id="o429">
<a:ObjectID>3F0B667A-CDBD-4B6B-B332-CABFD6F9D7DD</a:ObjectID>
<a:CreationDate>1478091704</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10204,7 +10188,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o215"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o431">
<o:ReferenceJoin Id="o430">
<a:ObjectID>0CEDFF63-6B27-412C-9125-4D779A3C06D1</a:ObjectID>
<a:CreationDate>1478091704</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10240,7 +10224,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o432">
<o:ReferenceJoin Id="o431">
<a:ObjectID>8EB7FCFD-7007-4495-A8F2-F250345B5FF3</a:ObjectID>
<a:CreationDate>1478095245</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10276,7 +10260,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o226"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o433">
<o:ReferenceJoin Id="o432">
<a:ObjectID>C0664F33-F705-41FE-84EC-953097D116F9</a:ObjectID>
<a:CreationDate>1478095255</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10312,7 +10296,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o434">
<o:ReferenceJoin Id="o433">
<a:ObjectID>A963D0E8-21CA-43A9-A687-19B58277A2DE</a:ObjectID>
<a:CreationDate>1478095260</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10348,7 +10332,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o226"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o435">
<o:ReferenceJoin Id="o434">
<a:ObjectID>8B851B5D-580C-4AF9-9AFE-4E3CE2E1175C</a:ObjectID>
<a:CreationDate>1478095263</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10384,7 +10368,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o436">
<o:ReferenceJoin Id="o435">
<a:ObjectID>BCB9648F-4C63-4EF1-8731-76BB8CD65BB2</a:ObjectID>
<a:CreationDate>1478095268</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10420,7 +10404,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o437">
<o:ReferenceJoin Id="o436">
<a:ObjectID>DECB1879-335A-4035-BF38-7DF8D9FBD6BB</a:ObjectID>
<a:CreationDate>1478095270</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10456,7 +10440,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o438">
<o:ReferenceJoin Id="o437">
<a:ObjectID>117D49F2-950E-4426-8301-D743A73B414A</a:ObjectID>
<a:CreationDate>1478153486</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10492,7 +10476,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o439">
<o:ReferenceJoin Id="o438">
<a:ObjectID>545F73A8-DE53-40F5-A280-7DA338E0A003</a:ObjectID>
<a:CreationDate>1483619847</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10528,7 +10512,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o271"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o440">
<o:ReferenceJoin Id="o439">
<a:ObjectID>BF1F3E99-09A6-421B-81D1-F7E281FCE260</a:ObjectID>
<a:CreationDate>1483619849</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10564,7 +10548,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o441">
<o:ReferenceJoin Id="o440">
<a:ObjectID>0DF9BBFC-D655-482D-9904-4F3A26CB08FB</a:ObjectID>
<a:CreationDate>1483620005</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10600,7 +10584,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o290"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o442">
<o:ReferenceJoin Id="o441">
<a:ObjectID>42E952C2-D56E-4170-AA72-D984BD0E0FD1</a:ObjectID>
<a:CreationDate>1483620007</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10636,7 +10620,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o310"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o443">
<o:ReferenceJoin Id="o442">
<a:ObjectID>2C07D64B-3F3D-4A16-A632-1E2CA02771EB</a:ObjectID>
<a:CreationDate>1483624336</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10672,7 +10656,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o290"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o444">
<o:ReferenceJoin Id="o443">
<a:ObjectID>B23C6A33-5699-42C6-BC24-F87A18B3BFC0</a:ObjectID>
<a:CreationDate>1483624340</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10708,7 +10692,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o445">
<o:ReferenceJoin Id="o444">
<a:ObjectID>D8D34A08-BFC5-414F-A545-2D0FA5319323</a:ObjectID>
<a:CreationDate>1483624615</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10744,7 +10728,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o310"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o446">
<o:ReferenceJoin Id="o445">
<a:ObjectID>87D27293-4E31-4426-BBCB-10C6ADDB859A</a:ObjectID>
<a:CreationDate>1483624617</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10780,7 +10764,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o447">
<o:ReferenceJoin Id="o446">
<a:ObjectID>0B8BF9CE-2C3F-473E-9774-17A0EFFEBE30</a:ObjectID>
<a:CreationDate>1484124946</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10816,7 +10800,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o448">
<o:ReferenceJoin Id="o447">
<a:ObjectID>EE34A350-75F8-4591-9E36-1F6910EF895B</a:ObjectID>
<a:CreationDate>1484124984</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10852,7 +10836,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o256"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o449">
<o:ReferenceJoin Id="o448">
<a:ObjectID>1643C054-4AA3-4F06-9C27-EE4627B70709</a:ObjectID>
<a:CreationDate>1484124996</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10888,7 +10872,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o256"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o450">
<o:ReferenceJoin Id="o449">
<a:ObjectID>FA740D36-5612-4457-A6C7-3BBE27BDD037</a:ObjectID>
<a:CreationDate>1484125007</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10924,7 +10908,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o451">
<o:ReferenceJoin Id="o450">
<a:ObjectID>4DF4BC0A-801A-4FA5-BF2A-9519DC4D4B35</a:ObjectID>
<a:CreationDate>1484125017</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10960,7 +10944,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o452">
<o:ReferenceJoin Id="o451">
<a:ObjectID>DF1BA583-4F53-4DF5-A4C9-480467E4E602</a:ObjectID>
<a:CreationDate>1484125035</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10996,7 +10980,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o326"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o453">
<o:ReferenceJoin Id="o452">
<a:ObjectID>633D86A0-BBAB-4918-A3D2-A299B72A8987</a:ObjectID>
<a:CreationDate>1484129054</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11032,7 +11016,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o333"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o454">
<o:ReferenceJoin Id="o453">
<a:ObjectID>CC177053-8A74-4EF1-8EE0-FA6F3E05EA6F</a:ObjectID>
<a:CreationDate>1484129077</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11068,7 +11052,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o455">
<o:ReferenceJoin Id="o454">
<a:ObjectID>4365E911-BD01-4F80-99FE-40F057E7CA77</a:ObjectID>
<a:CreationDate>1484129119</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11104,7 +11088,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o456">
<o:ReferenceJoin Id="o455">
<a:ObjectID>CA379708-972E-49E7-8E2E-D2C473C6049D</a:ObjectID>
<a:CreationDate>1484129130</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11140,7 +11124,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o240"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o457">
<o:ReferenceJoin Id="o456">
<a:ObjectID>2F127294-27DF-41C4-92D4-26788095C702</a:ObjectID>
<a:CreationDate>1486384936</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11176,7 +11160,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o387"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o458">
<o:ReferenceJoin Id="o457">
<a:ObjectID>BD73CAEF-6ABB-4585-8721-623A65A3396C</a:ObjectID>
<a:CreationDate>1489831850</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11212,7 +11196,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o459">
<o:ReferenceJoin Id="o458">
<a:ObjectID>6F5230F0-1C25-4980-BE70-7066ED34599F</a:ObjectID>
<a:CreationDate>1493218925</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11222,7 +11206,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Column Ref="o395"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o416"/>
<o:Column Ref="o415"/>
</c:Object2>
</o:ReferenceJoin>
</c:Joins>
@ -11248,7 +11232,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o460">
<o:ReferenceJoin Id="o459">
<a:ObjectID>D5E749F2-F557-4B5E-A70D-96A7CE78FB29</a:ObjectID>
<a:CreationDate>1493218927</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11281,17 +11265,17 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Table Ref="o147"/>
</c:ChildTable>
<c:ParentKey>
<o:Key Ref="o415"/>
<o:Key Ref="o414"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o461">
<o:ReferenceJoin Id="o460">
<a:ObjectID>6412AFF3-9012-4188-957C-9F34DD6D123D</a:ObjectID>
<a:CreationDate>1493218932</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
<a:ModificationDate>1493218932</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Object1>
<o:Column Ref="o413"/>
<o:Column Ref="o412"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o408"/>
@ -11320,7 +11304,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o462">
<o:ReferenceJoin Id="o461">
<a:ObjectID>FE8D8FA0-FFF0-40C9-A02B-3247A6CC5BC1</a:ObjectID>
<a:CreationDate>1493219394</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11330,14 +11314,14 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Column Ref="o395"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o424"/>
<o:Column Ref="o423"/>
</c:Object2>
</o:ReferenceJoin>
</c:Joins>
</o:Reference>
</c:References>
<c:DefaultGroups>
<o:Group Id="o463">
<o:Group Id="o462">
<a:ObjectID>49A97F4D-A691-448D-ADBF-B76A62A66CBB</a:ObjectID>
<a:Name>PUBLIC</a:Name>
<a:Code>PUBLIC</a:Code>
@ -11348,7 +11332,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Group>
</c:DefaultGroups>
<c:TargetModels>
<o:TargetModel Id="o464">
<o:TargetModel Id="o463">
<a:ObjectID>58ECABC9-72BC-48B6-A729-E9328DAD41B5</a:ObjectID>
<a:Name>MySQL 5.0</a:Name>
<a:Code>MYSQL50</a:Code>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{22E867D0-73E2-4C77-BB68-28135519D681}" Label="" LastModificationDate="1496482803" Name="zheng" Objects="506" Symbols="81" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<?PowerDesigner AppLocale="UTF16" ID="{22E867D0-73E2-4C77-BB68-28135519D681}" Label="" LastModificationDate="1493219578" Name="zheng" Objects="518" Symbols="80" Target="MySQL 5.0" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="16.5.0.3982"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -4376,8 +4376,8 @@ DESTINATION 0 新宋体,8,N</a:FontList>
<o:ReferenceSymbol Id="o34">
<a:CreationDate>1483619847</a:CreationDate>
<a:ModificationDate>1486385652</a:ModificationDate>
<a:Rect>((-9877,-23800), (2627,-22550))</a:Rect>
<a:ListOfPoints>((-9477,-23175),(2227,-23175))</a:ListOfPoints>
<a:Rect>((-9877,-23800), (2708,-22550))</a:Rect>
<a:ListOfPoints>((-9477,-23175),(2308,-23175))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -4421,8 +4421,8 @@ DESTINATION 0 新宋体,8,N</a:FontList>
<o:ReferenceSymbol Id="o41">
<a:CreationDate>1483620005</a:CreationDate>
<a:ModificationDate>1486385652</a:ModificationDate>
<a:Rect>((4007,-39400), (5259,-22888))</a:Rect>
<a:ListOfPoints>((4655,-39000),(4623,-23288))</a:ListOfPoints>
<a:Rect>((4030,-39400), (5280,-22888))</a:Rect>
<a:ListOfPoints>((4655,-39000),(4655,-23288))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -4512,8 +4512,8 @@ DESTINATION 0 新宋体,8,N</a:FontList>
<o:ReferenceSymbol Id="o53">
<a:CreationDate>1483624615</a:CreationDate>
<a:ModificationDate>1490707597</a:ModificationDate>
<a:Rect>((15243,-24128), (21401,-22878))</a:Rect>
<a:ListOfPoints>((21001,-23503),(15643,-23503))</a:ListOfPoints>
<a:Rect>((15051,-24128), (21401,-22878))</a:Rect>
<a:ListOfPoints>((21001,-23503),(15451,-23503))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -4534,9 +4534,9 @@ DESTINATION 0 新宋体,8,N</a:FontList>
</o:ReferenceSymbol>
<o:ReferenceSymbol Id="o56">
<a:CreationDate>1483624617</a:CreationDate>
<a:ModificationDate>1496482792</a:ModificationDate>
<a:Rect>((28342,-33027), (29592,-20656))</a:Rect>
<a:ListOfPoints>((28967,-21056),(28967,-32627))</a:ListOfPoints>
<a:ModificationDate>1490707597</a:ModificationDate>
<a:Rect>((28154,-33027), (34356,-20656))</a:Rect>
<a:ListOfPoints>((33956,-21056),(33956,-30525),(28779,-30525),(28779,-32627))</a:ListOfPoints>
<a:CornerStyle>1</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
<a:LineColor>12615680</a:LineColor>
@ -5302,7 +5302,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:CreationDate>1483618865</a:CreationDate>
<a:ModificationDate>1486385652</a:ModificationDate>
<a:IconMode>-1</a:IconMode>
<a:Rect>((-3229,-27525), (15643,-17027))</a:Rect>
<a:Rect>((-3037,-27525), (15451,-17027))</a:Rect>
<a:LineColor>12615680</a:LineColor>
<a:FillColor>16570034</a:FillColor>
<a:ShadowColor>12632256</a:ShadowColor>
@ -7130,11 +7130,11 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Code>banner</a:Code>
<a:CreationDate>1488714040</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
<a:ModificationDate>1496482803</a:ModificationDate>
<a:ModificationDate>1488716332</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>背景</a:Comment>
<a:DataType>varchar(150)</a:DataType>
<a:Length>150</a:Length>
<a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o232">
<a:ObjectID>6AFE670A-A870-4DE6-8AFB-0F29AD9E9C82</a:ObjectID>
@ -7810,11 +7810,11 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Code>avatar</a:Code>
<a:CreationDate>1484832991</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
<a:ModificationDate>1496482769</a:ModificationDate>
<a:ModificationDate>1484924881</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>头像</a:Comment>
<a:DataType>varchar(150)</a:DataType>
<a:Length>150</a:Length>
<a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length>
</o:Column>
<o:Column Id="o278">
<a:ObjectID>AED8A44F-BA0B-46B8-A78B-60E970096A71</a:ObjectID>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 620 KiB

After

Width:  |  Height:  |  Size: 622 KiB

View File

@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50621
File Encoding : 65001
Date: 2017-07-23 23:13:56
Date: 2017-04-26 23:23:32
*/
SET FOREIGN_KEY_CHECKS=0;
@ -612,9 +612,8 @@ CREATE TABLE `upms_log` (
`ip` varchar(30) DEFAULT NULL COMMENT 'IP地址',
`result` mediumtext,
`permissions` varchar(100) DEFAULT NULL COMMENT '权限值',
PRIMARY KEY (`log_id`),
KEY `log_id` (`log_id`)
) ENGINE=InnoDB AUTO_INCREMENT=779 DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
PRIMARY KEY (`log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
-- ----------------------------
-- Records of upms_log
@ -882,7 +881,7 @@ DROP TABLE IF EXISTS `upms_system`;
CREATE TABLE `upms_system` (
`system_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '编号',
`icon` varchar(50) DEFAULT NULL COMMENT '图标',
`banner` varchar(150) DEFAULT NULL COMMENT '背景',
`banner` varchar(50) DEFAULT NULL COMMENT '背景',
`theme` varchar(50) DEFAULT NULL COMMENT '主题',
`basepath` varchar(100) DEFAULT NULL COMMENT '根目录',
`status` tinyint(4) DEFAULT NULL COMMENT '状态(-1:黑名单,1:正常)',
@ -913,20 +912,19 @@ CREATE TABLE `upms_user` (
`password` varchar(32) NOT NULL COMMENT '密码MD5(密码+盐)',
`salt` varchar(32) DEFAULT NULL COMMENT '',
`realname` varchar(20) DEFAULT NULL COMMENT '姓名',
`avatar` varchar(150) DEFAULT NULL COMMENT '头像',
`avatar` varchar(50) DEFAULT NULL COMMENT '头像',
`phone` varchar(20) DEFAULT NULL COMMENT '电话',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`sex` tinyint(4) DEFAULT NULL COMMENT '性别',
`locked` tinyint(4) DEFAULT NULL COMMENT '状态(0:正常,1:锁定)',
`ctime` bigint(20) DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='用户';
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='用户';
-- ----------------------------
-- Records of upms_user
-- ----------------------------
INSERT INTO `upms_user` VALUES ('1', 'admin', '3038D9CB63B3152A79B8153FB06C02F7', '66f1b370c660445a8657bf8bf1794486', '张恕征', '/resources/zheng-admin/images/avatar.jpg', '', '469741414@qq.com', '1', '0', '1');
INSERT INTO `upms_user` VALUES ('2', 'test', '285C9762F5F9046F5893F752DFAF3476', 'd2d0d03310444ad388a8b290b0fe8564', '张恕征', '/resources/zheng-admin/images/avatar.jpg', '', '469741414@qq.com', '1', '0', '1493394720495');
-- ----------------------------
-- Table structure for upms_user_organization
@ -958,33 +956,13 @@ CREATE TABLE `upms_user_permission` (
`permission_id` int(10) unsigned NOT NULL COMMENT '权限编号',
`type` tinyint(4) NOT NULL COMMENT '权限类型(-1:减权限,1:增权限)',
PRIMARY KEY (`user_permission_id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb4 COMMENT='用户权限关联表';
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COMMENT='用户权限关联表';
-- ----------------------------
-- Records of upms_user_permission
-- ----------------------------
INSERT INTO `upms_user_permission` VALUES ('3', '1', '22', '-1');
INSERT INTO `upms_user_permission` VALUES ('4', '1', '22', '1');
INSERT INTO `upms_user_permission` VALUES ('5', '2', '24', '-1');
INSERT INTO `upms_user_permission` VALUES ('6', '2', '26', '-1');
INSERT INTO `upms_user_permission` VALUES ('7', '2', '27', '-1');
INSERT INTO `upms_user_permission` VALUES ('8', '2', '29', '-1');
INSERT INTO `upms_user_permission` VALUES ('9', '2', '32', '-1');
INSERT INTO `upms_user_permission` VALUES ('10', '2', '51', '-1');
INSERT INTO `upms_user_permission` VALUES ('11', '2', '48', '-1');
INSERT INTO `upms_user_permission` VALUES ('12', '2', '50', '-1');
INSERT INTO `upms_user_permission` VALUES ('13', '2', '35', '-1');
INSERT INTO `upms_user_permission` VALUES ('14', '2', '46', '-1');
INSERT INTO `upms_user_permission` VALUES ('15', '2', '37', '-1');
INSERT INTO `upms_user_permission` VALUES ('16', '2', '38', '-1');
INSERT INTO `upms_user_permission` VALUES ('17', '2', '57', '-1');
INSERT INTO `upms_user_permission` VALUES ('18', '2', '56', '-1');
INSERT INTO `upms_user_permission` VALUES ('19', '2', '59', '-1');
INSERT INTO `upms_user_permission` VALUES ('20', '2', '78', '-1');
INSERT INTO `upms_user_permission` VALUES ('21', '2', '67', '-1');
INSERT INTO `upms_user_permission` VALUES ('22', '2', '83', '-1');
INSERT INTO `upms_user_permission` VALUES ('23', '2', '71', '-1');
INSERT INTO `upms_user_permission` VALUES ('24', '2', '75', '-1');
-- ----------------------------
-- Table structure for upms_user_role
@ -995,12 +973,10 @@ CREATE TABLE `upms_user_role` (
`user_id` int(10) unsigned NOT NULL COMMENT '用户编号',
`role_id` int(10) DEFAULT NULL COMMENT '角色编号',
PRIMARY KEY (`user_role_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
-- ----------------------------
-- Records of upms_user_role
-- ----------------------------
INSERT INTO `upms_user_role` VALUES ('4', '1', '1');
INSERT INTO `upms_user_role` VALUES ('5', '1', '2');
INSERT INTO `upms_user_role` VALUES ('6', '2', '1');
INSERT INTO `upms_user_role` VALUES ('7', '2', '2');

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,57 +0,0 @@
#user www www;
worker_processes auto;
error_log logs/error.log crit;
pid logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
#use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 15;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
gzip_disable msie6;
#limit_zone crawler $binary_remote_addr 10m;
log_format '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include servers/*.conf;
}

View File

@ -1,10 +0,0 @@
server {
listen 1001 default;
server_name localhost;
location / {
root F:/GitHub/zheng/zheng-config/;
index index.html index.htm;
add_header Access-Control-Allow-Origin *;
}
access_log logs/zheng-config.access.log;
}

View File

@ -1,10 +0,0 @@
server {
listen 1000 default;
server_name localhost;
location / {
root F:/GitHub/zheng/zheng-ui/;
index index.html index.htm;
add_header Access-Control-Allow-Origin *;
}
access_log logs/zheng-ui.access.log;
}

View File

@ -2,28 +2,26 @@
基于bootstrap实现的响应式Material Design风格的通用后台管理系统
# zhengAdmin相关博客
- [基于 vue + zhengAdmin 的一套后台模板](https://segmentfault.com/a/1190000010552103 "基于 vue + zhengAdmin 的一套后台模板")
交流QQ群133107819🈵、284280411🈵、528049386♨
# 在线演示
地址: [http://www.zhangshuzheng.cn/zhengAdmin](http://www.zhangshuzheng.cn/zhengAdmin "zhengAdmin")
![预览效果图](src/images/zheng-upms-theme.png)
![预览效果图](src/resources/images/zheng-upms-theme.png)
![预览效果图](src/images/zheng-cms-theme.png)
![预览效果图](src/resources/images/zheng-cms-theme.png)
![预览效果图](src/images/zheng-pay-theme.png)
![预览效果图](src/resources/images/zheng-pay-theme.png)
![预览效果图](src/images/zheng-ucenter-theme.png)
![预览效果图](src/resources/images/zheng-ucenter-theme.png)
![预览效果图](src/images/zheng-oss-theme.png)
![预览效果图](src/resources/images/zheng-oss-theme.png)
![预览效果图](src/images/zheng-cms-theme-m1.png)
![预览效果图](src/resources/images/zheng-cms-theme-m1.png)
![预览效果图](src/images/zheng-cms-theme-m2.png)
![预览效果图](src/resources/images/zheng-cms-theme-m2.png)
# License
MIT

View File

@ -57,7 +57,7 @@ a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none;}
/* 侧边栏个人信息 */
.s-profile>a{display:block;height:129px;margin-bottom:5px;width:100%;background-size:100%;text-decoration:none}
.s-profile>a .sp-pic{padding:12px}
.s-profile>a .sp-pic>img{width:47px;height:47px;border-radius:50%;border:3px solid rgba(0,0,0,.14);box-sizing:content-box;background:#fff;}
.s-profile>a .sp-pic>img{width:47px;height:47px;border-radius:50%;border:3px solid rgba(0,0,0,.14);box-sizing:content-box}
.s-profile>a .sp-info{background:rgba(0,0,0,.37);padding:7px 14px;color:#fff;margin-top:20px;position:relative}
.s-profile>a .sp-info>i{font-size:19px;line-height:100%;position:absolute;right:15px;top:7px;-webkit-transition:all;-o-transition:all;transition:all;-webkit-transition-duration:.3s;transition-duration:.3s}
.s-profile.toggled .sp-info>i{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}
@ -69,7 +69,7 @@ a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none;}
.main-menu{list-style:none;padding-left:0;margin:20px 0 0}
.main-menu a{-webkit-transition:color;-o-transition:color;transition:color;-webkit-transition-duration:.3s;transition-duration:.3s}
.main-menu>li>a{padding:14px 20px 14px 65px;display:block;font-weight:500;position:relative;color:#4C4C4C}
.main-menu>li>a>i{position:absolute;left:25px;font-size:14px;top:2px;width:25px;text-align:center;padding:13px 0}
.main-menu>li>a>i{position:absolute;left:25px;font-size:18px;top:2px;width:25px;text-align:center;padding:13px 0}
.sub-menu ul{list-style:none;display:none;padding:0}
.sub-menu ul>li:first-child>a{padding-top:14px}
.sub-menu ul>li:last-child>a{padding-bottom:16px}
@ -114,7 +114,7 @@ a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none;}
/* 选项卡 */
.content_tab{width:100%;height:48px;overflow:hidden;}
.content_tab>ul{padding:0;font-size:0;display:block;white-space:nowrap;-webkit-overflow-scrolling:touch;overflow-x:scroll;overflow-y:hidden;}
.content_tab>ul{padding:0;font-size:0;display:block;white-space:nowrap;-webkit-overflow-scrolling:touch;overflow-x:scroll;}
.scroll>ul{margin:0 40px;}
.scroll>.tab_left,.scroll>.tab_right{display:block;}
.tab_left,.tab_right{width:40px;height:48px;line-height:48px;color:#fff;text-align:center;display:none;}
@ -123,12 +123,12 @@ a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none;}
.tab_left>a,.tab_right>a{display:block;width:100%;color:rgba(255, 255, 255, 0.5);font-size:22px;}
.tab_left>.active,.tab_right>.active{color:#fff;}
.content_tab{position:relative;}
.content_tab>ul>li{position:relative;display:inline-block; height: 48px; line-height: 48px; margin:0; font-size:14px;}
.content_tab>ul>li>span{display:inline-block; height: 48px; line-height: 48px;color:rgba(255, 255, 255, 0.9);;padding:0 28px;transition:background-color .35s cubic-bezier(.35,0,.25,1);border-bottom:none;position: relative;}
.content_tab>ul>li>i{position:absolute;right:0;top:33%;padding:2px 5px;border-radius:20px;color:#bbb;cursor:pointer;}
.content_tab>ul>li>i:hover{color:#fff;}
.content_tab>ul>li:after{content:"";position:absolute;bottom:0;left:50%;right:50%;width:0;border-bottom:3px solid #FFEB3B;transition:all linear .2s}
.content_tab>ul>.cur:after{left:0;bottom:1px;width:100%;opacity:1;transition:all linear .2s}
.content_tab>ul>li{display:inline-block; height: 48px; line-height: 48px; margin:0; font-size:14px;}
.content_tab>ul>li>a{display:block; height: 48px; line-height: 48px;color:rgba(255, 255, 255, 0.9);padding:0 28px;transition:background-color .35s cubic-bezier(.35,0,.25,1);border-bottom:none;position: relative;}
.content_tab>ul>li>a:active{background:rgba(255, 255, 255, 0.1);}
.content_tab>ul>.cur>a{/*border-bottom:3px solid #FFEB3B;*/color:#fff;}
.content_tab>ul>li>a:after{content:"";position:absolute;bottom:0;left:50%;right:50%;width:0;border-bottom:3px solid #FFEB3B;transition:all linear .2s}
.content_tab>ul>.cur>a:after{left:0;bottom:1px;width:100%;opacity:1;transition:all linear .2s}
.content_main{height:calc(100% - 48px);-webkit-overflow-scrolling:touch;}
.content_main>.cur{display:block;}

View File

@ -3,13 +3,7 @@ img {vertical-align: middle;}
a, a:hover, a:active, a:focus {text-decoration: none; -webkit-user-drag: none; outline: none; color: #000;}
a i{font-size: 13px;}
::-webkit-scrollbar{box-sizing:border-box;width:9px;height:9px}
::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2)}
::-webkit-scrollbar-thumb:hover{background-color:rgba(0,0,0,.25)}
::-webkit-scrollbar-thumb:active{background-color:rgba(0,0,0,.2)}
#main{padding: 0 10px;}
.style-color{color:#fd521d;}
#main{padding: 10px 20px;}
/* 数据表格 */
body{font-size: 12px;}

View File

@ -5,7 +5,7 @@ a i{font-size: 13px;}
body{background:#ECECEC;}
body:before{height:50%;width:100%;position:absolute;top:0;left:0;background:#29a176;content:"";z-index:0}
#login-window{position:relative;top:50%;left:50%;width:500px;height:200px;margin-left:-250px;margin-top:-100px;padding:35px 55px 35px 25px;z-index:10;background:#fff;box-shadow:0 1px 11px rgba(0,0,0,.27);border-radius:2px;}
#login-window{position:relative;top:50%;left:50%;width:300px;height:200px;margin-left:-150px;margin-top:-100px;padding:35px 55px 35px 25px;z-index:10;background:#fff;box-shadow:0 1px 11px rgba(0,0,0,.27);border-radius:2px;}
.m-b-20{margin-bottom:20px !important;}
#login-bt{position:absolute;width:50px;height:50px;border-radius:50%;line-height:36px!important;top:50%;margin-top:-25px;right:-25px;background:#FF4F0F;}

View File

@ -6,33 +6,33 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>用户权限管理系统</title>
<link href="resources/plugins/fullPage/jquery.fullPage.css" rel="stylesheet"/>
<link href="resources/plugins/bootstrap-3.3.0/css/bootstrap.min.css" rel="stylesheet"/>
<link href="resources/plugins/material-design-iconic-font-2.2.0/css/material-design-iconic-font.min.css" rel="stylesheet"/>
<link href="resources/plugins/waves-0.7.5/waves.min.css" rel="stylesheet"/>
<link href="resources/plugins/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.min.css" rel="stylesheet"/>
<link href="resources/css/admin.css" rel="stylesheet"/>
<link href="plugins/fullPage/jquery.fullPage.css" rel="stylesheet"/>
<link href="plugins/bootstrap-3.3.0/css/bootstrap.min.css" rel="stylesheet"/>
<link href="plugins/material-design-iconic-font-2.2.0/css/material-design-iconic-font.min.css" rel="stylesheet"/>
<link href="plugins/waves-0.7.5/waves.min.css" rel="stylesheet"/>
<link href="plugins/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.min.css" rel="stylesheet"/>
<link href="css/admin.css" rel="stylesheet"/>
<style>
/** skins **/
#zheng-upms-server #header {background: #29A176;}
#zheng-upms-server .content_tab{background: #29A176;}
#zheng-upms-server .s-profile>a{background: url(resources/images/zheng-upms.png) left top no-repeat;}
#zheng-upms-server .s-profile>a{background: url(images/zheng-upms.png) left top no-repeat;}
#zheng-cms-admin #header {background: #455EC5;}
#zheng-cms-admin .content_tab{background: #455EC5;}
#zheng-cms-admin .s-profile>a{background: url(resources/images/zheng-cms.png) left top no-repeat;}
#zheng-cms-admin .s-profile>a{background: url(images/zheng-cms.png) left top no-repeat;}
#zheng-pay-admin #header {background: #F06292;}
#zheng-pay-admin .content_tab{background: #F06292;}
#zheng-pay-admin .s-profile>a{background: url(resources/images/zheng-pay.png) left top no-repeat;}
#zheng-pay-admin .s-profile>a{background: url(images/zheng-pay.png) left top no-repeat;}
#zheng-ucenter-home #header {background: #6539B4;}
#zheng-ucenter-home .content_tab{background: #6539B4;}
#zheng-ucenter-home .s-profile>a{background: url(resources/images/zheng-ucenter.png) left top no-repeat;}
#zheng-ucenter-home .s-profile>a{background: url(images/zheng-ucenter.png) left top no-repeat;}
#zheng-oss-web #header {background: #0B8DE5;}
#zheng-oss-web .content_tab{background: #0B8DE5;}
#zheng-oss-web .s-profile>a{background: url(resources/images/zheng-oss.png) left top no-repeat;}
#zheng-oss-web .s-profile>a{background: url(images/zheng-oss.png) left top no-repeat;}
#test #header {background: test;}
#test .content_tab{background: test;}
@ -51,7 +51,7 @@
</li>
<li id="logo" class="hidden-xs">
<a href="index.html">
<img src="resources/images/logo.png"/>
<img src="images/logo.png"/>
</a>
<span id="system_title">权限管理系统</span>
</li>
@ -136,7 +136,7 @@
<div class="s-profile">
<a class="waves-effect waves-light" href="javascript:;">
<div class="sp-pic">
<img src="resources/images/avatar.jpg"/>
<img src="images/avatar.jpg"/>
</div>
<div class="sp-info">
张恕征,您好!
@ -226,7 +226,7 @@
</div>
<ul id="tabs" class="tabs">
<li id="tab_home" data-index="home" data-closeable="false" class="cur">
<span class="waves-effect waves-light">首页</span>
<a class="waves-effect waves-light">首页</a>
</li>
</ul>
</div>
@ -254,16 +254,16 @@
</section>
<footer id="footer"></footer>
<script src="resources/plugins/jquery.1.12.4.min.js"></script>
<script src="resources/plugins/bootstrap-3.3.0/js/bootstrap.min.js"></script>
<script src="resources/plugins/waves-0.7.5/waves.min.js"></script>
<script src="resources/plugins/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="resources/plugins/BootstrapMenu.min.js"></script>
<script src="resources/plugins/device.min.js"></script>
<script src="resources/plugins/fullPage/jquery.fullPage.min.js"></script>
<script src="resources/plugins/fullPage/jquery.jdirk.min.js"></script>
<script src="resources/plugins/jquery.cookie.js"></script>
<script src="plugins/jquery.1.12.4.min.js"></script>
<script src="plugins/bootstrap-3.3.0/js/bootstrap.min.js"></script>
<script src="plugins/waves-0.7.5/waves.min.js"></script>
<script src="plugins/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="plugins/BootstrapMenu.min.js"></script>
<script src="plugins/device.min.js"></script>
<script src="plugins/fullPage/jquery.fullPage.min.js"></script>
<script src="plugins/fullPage/jquery.jdirk.min.js"></script>
<script src="plugins/jquery.cookie.js"></script>
<script src="resources/js/admin.js"></script>
<script src="js/admin.js"></script>
</body>
</html>

View File

@ -193,7 +193,7 @@ var Tab = {
if ($('#tab_' + index).length == 0) {
// 添加选项卡
$('.content_tab li').removeClass('cur');
var tab = '<li id="tab_' + index +'" data-index="' + index + '" class="cur"><span class="waves-effect waves-light">' + title + '</span><i class="waves-effect waves-light zmdi zmdi-close" onclick="Tab.closeTab($(\'#tab_' + index +'\'));"></i></li>';
var tab = '<li id="tab_' + index +'" data-index="' + index + '" class="cur"><a class="waves-effect waves-light">' + title + '</a></li>';//<i class="zmdi zmdi-close"></i><
$('.content_tab>ul').append(tab);
// 添加iframe
$('.iframe').removeClass('cur');

View File

@ -1,28 +0,0 @@
.webuploader-container {
position: relative;
}
.webuploader-element-invisible {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px,1px,1px,1px);
}
.webuploader-pick {
position: relative;
display: inline-block;
cursor: pointer;
background: #00b7ee;
padding: 10px 15px;
color: #fff;
text-align: center;
border-radius: 3px;
overflow: hidden;
}
.webuploader-pick-hover {
background: #00a2d4;
}
.webuploader-pick-disable {
opacity: 0.6;
pointer-events:none;
}

File diff suppressed because one or more lines are too long

View File

@ -6,9 +6,6 @@ package com.zheng.api.common.constant;
*/
public enum ApiResultConstant {
/**
* 成功
*/
SUCCESS(1, "success");
public int code;

View File

@ -6,11 +6,6 @@ package com.zheng.api.rpc.api;
*/
public interface ApiService {
/**
* hello
* @param name
* @return
*/
String hello(String name);
}

View File

@ -9,11 +9,11 @@ import org.slf4j.LoggerFactory;
*/
public class ApiServiceMock implements ApiService {
private static final Logger LOGGER = LoggerFactory.getLogger(ApiServiceMock.class);
private static Logger _log = LoggerFactory.getLogger(ApiServiceMock.class);
@Override
public String hello(String name) {
LOGGER.info("ApiServiceMock => hello");
_log.info("ApiServiceMock => hello");
return null;
}

View File

@ -1,12 +1,21 @@
package com.zheng.api.rpc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 服务启动类
* Created by shuzheng on 2017/2/19.
*/
public class ZhengApiRpcServiceApplication {
public static void main(String[] args) {
com.alibaba.dubbo.container.Main.main(args);
}
private static Logger _log = LoggerFactory.getLogger(ZhengApiRpcServiceApplication.class);
public static void main(String[] args) {
_log.info(">>>>> zheng-api-rpc-service 正在启动 <<<<<");
new ClassPathXmlApplicationContext("classpath:META-INF/spring/*.xml");
_log.info(">>>>> zheng-api-rpc-service 启动完成 <<<<<");
}
}

View File

@ -1,8 +1,11 @@
package com.zheng.api.rpc.service.impl;
import com.zheng.api.rpc.api.ApiService;
import com.zheng.cms.rpc.api.*;
import com.zheng.upms.rpc.api.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 实现ApiService接口
@ -10,7 +13,37 @@ import org.slf4j.LoggerFactory;
*/
public class ApiServiceImpl implements ApiService {
private static final Logger LOGGER = LoggerFactory.getLogger(ApiServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(ApiServiceImpl.class);
@Autowired
private UpmsSystemService upmsSystemService;
@Autowired
private UpmsOrganizationService upmsOrganizationService;
@Autowired
private UpmsUserService upmsUserService;
@Autowired
private UpmsRoleService upmsRoleService;
@Autowired
private UpmsPermissionService upmsPermissionService;
@Autowired
private UpmsApiService upmsApiService;
@Autowired
private CmsArticleService cmsArticleService;
@Autowired
private CmsCategoryService cmsCategoryService;
@Autowired
private CmsCommentService cmsCommentService;
@Autowired
private CmsTagService cmsTagService;
@Override
public String hello(String name) {

View File

@ -7,31 +7,31 @@
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">
<dubbo:registry file="./zheng-api-dubbo.cache" address="zookeeper://zkserver:2181"/>
<dubbo:registry file="./zheng-api-dubbo.cache" address="zookeeper://127.0.0.1:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>
<!--&lt;!&ndash; 系统 &ndash;&gt;-->
<!--<dubbo:reference id="upmsSystemService" interface="com.zheng.upms.rpc.api.UpmsSystemService" mock="true"/>-->
<!--&lt;!&ndash; 组织 &ndash;&gt;-->
<!--<dubbo:reference id="upmsOrganizationService" interface="com.zheng.upms.rpc.api.UpmsOrganizationService" mock="true"/>-->
<!--&lt;!&ndash; 用户 &ndash;&gt;-->
<!--<dubbo:reference id="upmsUserService" interface="com.zheng.upms.rpc.api.UpmsUserService" mock="true"/>-->
<!--&lt;!&ndash; 角色 &ndash;&gt;-->
<!--<dubbo:reference id="upmsRoleService" interface="com.zheng.upms.rpc.api.UpmsRoleService" mock="true"/>-->
<!--&lt;!&ndash; 权限 &ndash;&gt;-->
<!--<dubbo:reference id="upmsPermissionService" interface="com.zheng.upms.rpc.api.UpmsPermissionService" mock="true"/>-->
<!--&lt;!&ndash; 接口服务 &ndash;&gt;-->
<!--<dubbo:reference id="upmsApiService" interface="com.zheng.upms.rpc.api.UpmsApiService" mock="true"/>-->
<!-- 系统 -->
<dubbo:reference id="upmsSystemService" interface="com.zheng.upms.rpc.api.UpmsSystemService" mock="true"/>
<!-- 组织 -->
<dubbo:reference id="upmsOrganizationService" interface="com.zheng.upms.rpc.api.UpmsOrganizationService" mock="true"/>
<!-- 用户 -->
<dubbo:reference id="upmsUserService" interface="com.zheng.upms.rpc.api.UpmsUserService" mock="true"/>
<!-- 角色 -->
<dubbo:reference id="upmsRoleService" interface="com.zheng.upms.rpc.api.UpmsRoleService" mock="true"/>
<!-- 权限 -->
<dubbo:reference id="upmsPermissionService" interface="com.zheng.upms.rpc.api.UpmsPermissionService" mock="true"/>
<!-- 接口服务 -->
<dubbo:reference id="upmsApiService" interface="com.zheng.upms.rpc.api.UpmsApiService" mock="true"/>
<!--&lt;!&ndash; 文章 &ndash;&gt;-->
<!--<dubbo:reference id="cmsArticleService" interface="com.zheng.cms.rpc.api.CmsArticleService" mock="true"/>-->
<!--&lt;!&ndash; 类目 &ndash;&gt;-->
<!--<dubbo:reference id="cmsCategoryService" interface="com.zheng.cms.rpc.api.CmsCategoryService" mock="true"/>-->
<!--&lt;!&ndash; 评论 &ndash;&gt;-->
<!--<dubbo:reference id="cmsCommentService" interface="com.zheng.cms.rpc.api.CmsCommentService" mock="true"/>-->
<!--&lt;!&ndash; 标签 &ndash;&gt;-->
<!--<dubbo:reference id="cmsTagService" interface="com.zheng.cms.rpc.api.CmsTagService" mock="true"/>-->
<!-- 文章 -->
<dubbo:reference id="cmsArticleService" interface="com.zheng.cms.rpc.api.CmsArticleService" mock="true"/>
<!-- 类目 -->
<dubbo:reference id="cmsCategoryService" interface="com.zheng.cms.rpc.api.CmsCategoryService" mock="true"/>
<!-- 评论 -->
<dubbo:reference id="cmsCommentService" interface="com.zheng.cms.rpc.api.CmsCommentService" mock="true"/>
<!-- 标签 -->
<dubbo:reference id="cmsTagService" interface="com.zheng.cms.rpc.api.CmsTagService" mock="true"/>
</beans>

View File

@ -9,14 +9,12 @@
<dubbo:application name="zheng-api-rpc-service"/>
<dubbo:registry address="zookeeper://zkserver:2181"/>
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<dubbo:protocol name="dubbo" port="20880"/>
<!--<dubbo:monitor protocol="registry"/>-->
<!-- API总系统 -->
<!--<bean id="apiService" class="com.zheng.api.rpc.service.impl.ApiServiceImpl"/>-->
<!--<dubbo:service interface="com.zheng.api.rpc.api.ApiService" ref="apiService" timeout="10000"/>-->
<bean id="apiService" class="com.zheng.api.rpc.service.impl.ApiServiceImpl"/>
<dubbo:service interface="com.zheng.api.rpc.api.ApiService" ref="apiService" timeout="10000"/>
</beans>

View File

@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Api(value = "test", description = "test")
public class TestController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class);
private static Logger _log = LoggerFactory.getLogger(TestController.class);
@Autowired
private ApiService apiService;

View File

@ -15,27 +15,25 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Override
public void onMessage(final Message message) {
// 使用线程池多线程处理
threadPoolTaskExecutor.execute(new Runnable() {
@Override
public void run() {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
LOGGER.info("消费:{}", textMessage.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
public void onMessage(final Message message) {
// 使用线程池多线程处理
threadPoolTaskExecutor.execute(new Runnable() {
public void run() {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
_log.info("消费:{}", textMessage.getText());
} catch (Exception e){
e.printStackTrace();
}
}
}
});
}
}

View File

@ -9,7 +9,7 @@
<dubbo:application name="zheng-api-server"/>
<dubbo:registry file="./zheng-api-server-dubbo.cache" address="zookeeper://zkserver:2181"/>
<dubbo:registry file="./zheng-api-server-dubbo.cache" address="zookeeper://127.0.0.1:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>

View File

@ -1,5 +1,5 @@
app.name=${app.name}
env=${profile.env}
##### activeMq #####
zheng-admin.version=${zheng-admin.version}
### activeMq
AvtiveMQ.brokerURL=${AvtiveMQ.brokerURL}

View File

@ -1,27 +1,5 @@
app.name=zheng-api-server
profile.env=dev
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-api-server
zheng.upms.appSecret=
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,27 +1,5 @@
app.name=zheng-api-server
profile.env=prod
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-api-server
zheng.upms.appSecret=
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,27 +1,5 @@
app.name=zheng-api-server
profile.env=test
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-api-server
zheng.upms.appSecret=
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1 +0,0 @@
zheng.admin.version=${zheng.admin.version}

View File

@ -1,17 +1,17 @@
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=${zheng.upms.type}
upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=${zheng.upms.session.id}
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=${zheng.upms.session.timeout}
upms.session.id=zheng-upms-client-session-id
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=${zheng.upms.sso.server.url}
sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=${zheng.upms.successUrl}
upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=${zheng.upms.unauthorizedUrl}
upms.unauthorizedUrl=/403
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
upms.session.timeout=1800000
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=${zheng.upms.rememberMe.timeout}
upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=${zheng.upms.appID}
zheng.upms.appSecret=${zheng.upms.appSecret}
appID=zheng-api-server
appSecret=

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- 强制进行转码 -->
<filter>
@ -46,7 +46,6 @@
<param-value>classpath*:springMVC-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>

View File

@ -1,4 +1,4 @@
package com.zheng.cms.admin.interceptor;
package com.zheng.cms.admin.Interceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletResponse;
*/
public class ManageInterceptor extends HandlerInterceptorAdapter {
private static final Logger LOGGER = LoggerFactory.getLogger(ManageInterceptor.class);
private static Logger _log = LoggerFactory.getLogger(ManageInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

View File

@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
@Api(value = "后台控制器", description = "后台管理")
public class ManageController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(ManageController.class);
private static Logger _log = LoggerFactory.getLogger(ManageController.class);
/**
* 后台首页

View File

@ -37,7 +37,7 @@ import java.util.Map;
@RequestMapping("/manage/article")
public class CmsArticleController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleController.class);
private static Logger _log = LoggerFactory.getLogger(CmsArticleController.class);
@Autowired
private CmsArticleService cmsArticleService;
@ -67,7 +67,7 @@ public class CmsArticleController extends BaseController {
}
List<CmsArticle> rows = cmsArticleService.selectByExampleForOffsetPage(cmsArticleExample, offset, limit);
long total = cmsArticleService.countByExample(cmsArticleExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -34,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/category")
public class CmsCategoryController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsCategoryController.class);
private static Logger _log = LoggerFactory.getLogger(CmsCategoryController.class);
@Autowired
private CmsCategoryService cmsCategoryService;
@ -61,7 +61,7 @@ public class CmsCategoryController extends BaseController {
}
List<CmsCategory> rows = cmsCategoryService.selectByExampleForOffsetPage(cmsCategoryExample, offset, limit);
long total = cmsCategoryService.countByExample(cmsCategoryExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -30,7 +30,7 @@ import java.util.Map;
@RequestMapping("/manage/comment")
public class CmsCommentController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsCommentController.class);
private static Logger _log = LoggerFactory.getLogger(CmsCommentController.class);
@Autowired
private CmsCommentService cmsCommentService;
@ -57,7 +57,7 @@ public class CmsCommentController extends BaseController {
}
List<CmsComment> rows = cmsCommentService.selectByExampleWithBLOBsForOffsetPage(cmsCommentExample, offset, limit);
long total = cmsCommentService.countByExample(cmsCommentExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -34,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/menu")
public class CmsMenuController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsMenuController.class);
private static Logger _log = LoggerFactory.getLogger(CmsMenuController.class);
@Autowired
private CmsMenuService cmsMenuService;
@ -61,7 +61,7 @@ public class CmsMenuController extends BaseController {
}
List<CmsMenu> rows = cmsMenuService.selectByExampleForOffsetPage(cmsMenuExample, offset, limit);
long total = cmsMenuService.countByExample(cmsMenuExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -34,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/page")
public class CmsPageController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsPageController.class);
private static Logger _log = LoggerFactory.getLogger(CmsPageController.class);
@Autowired
private CmsPageService cmsPageService;
@ -61,7 +61,7 @@ public class CmsPageController extends BaseController {
}
List<CmsPage> rows = cmsPageService.selectByExampleForOffsetPage(cmsPageExample, offset, limit);
long total = cmsPageService.countByExample(cmsPageExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -9,7 +9,6 @@ import com.zheng.cms.dao.model.CmsSetting;
import com.zheng.cms.dao.model.CmsSettingExample;
import com.zheng.cms.rpc.api.CmsSettingService;
import com.zheng.common.base.BaseController;
import com.zheng.common.util.StringUtil;
import com.zheng.common.validator.LengthValidator;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -35,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/setting")
public class CmsSettingController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsSettingController.class);
private static Logger _log = LoggerFactory.getLogger(CmsSettingController.class);
@Autowired
private CmsSettingService cmsSettingService;
@ -58,11 +57,11 @@ public class CmsSettingController extends BaseController {
@RequestParam(required = false, value = "order") String order) {
CmsSettingExample cmsSettingExample = new CmsSettingExample();
if (!StringUtils.isBlank(sort) && !StringUtils.isBlank(order)) {
cmsSettingExample.setOrderByClause(StringUtil.humpToLine(sort) + " " + order);
cmsSettingExample.setOrderByClause(sort + " " + order);
}
List<CmsSetting> rows = cmsSettingService.selectByExampleForOffsetPage(cmsSettingExample, offset, limit);
long total = cmsSettingService.countByExample(cmsSettingExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -34,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/tag")
public class CmsTagController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsTagController.class);
private static Logger _log = LoggerFactory.getLogger(CmsTagController.class);
@Autowired
private CmsTagService cmsTagService;
@ -61,7 +61,7 @@ public class CmsTagController extends BaseController {
}
List<CmsTag> rows = cmsTagService.selectByExampleForOffsetPage(cmsTagExample, offset, limit);
long total = cmsTagService.countByExample(cmsTagExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -34,7 +34,7 @@ import java.util.Map;
@RequestMapping("/manage/topic")
public class CmsTopicController extends BaseController {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsTopicController.class);
private static Logger _log = LoggerFactory.getLogger(CmsTopicController.class);
@Autowired
private CmsTopicService cmsTopicService;
@ -61,7 +61,7 @@ public class CmsTopicController extends BaseController {
}
List<CmsTopic> rows = cmsTopicService.selectByExampleForOffsetPage(cmsTopicExample, offset, limit);
long total = cmsTopicService.countByExample(cmsTopicExample);
Map<String, Object> result = new HashMap<>(2);
Map<String, Object> result = new HashMap<>();
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -15,21 +15,19 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Override
public void onMessage(final Message message) {
public void onMessage(final Message message) {
// 使用线程池多线程处理
threadPoolTaskExecutor.execute(new Runnable() {
@Override
public void run() {
public void run() {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
LOGGER.info("消费消息:{}", textMessage.getText());
_log.info("消费消息:{}", textMessage.getText());
} catch (Exception e){
e.printStackTrace();
}

View File

@ -9,7 +9,7 @@
<dubbo:application name="zheng-cms-admin"/>
<dubbo:registry file="./zheng-cms-admin-dubbo.cache" address="zookeeper://zkserver:2181"/>
<dubbo:registry file="./zheng-cms-admin-dubbo.cache" address="zookeeper://127.0.0.1:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>

View File

@ -1,5 +1,5 @@
app.name=${app.name}
env=${profile.env}
##### activeMq #####
zheng-admin.version=${zheng-admin.version}
### activeMq
AvtiveMQ.brokerURL=${AvtiveMQ.brokerURL}

View File

@ -1,39 +1,5 @@
app.name=zheng-cms-admin
profile.env=dev
##### redis #####
master.redis.ip=rdserver
master.redis.port=6379
master.redis.password=FNFl9F2O2Skb8yoKM0jhHA==
master.redis.max_active=500
master.redis.max_idle=5
master.redis.max_wait=10000
master.redis.timeout=10000
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-cms-admin
zheng.upms.appSecret=
##### zheng-oss #####
zheng.oss.aliyun.oss.policy=http://oss.zhangshuzheng.cn:7771/aliyun/oss/policy
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,39 +1,5 @@
app.name=zheng-cms-admin
profile.env=prod
##### redis #####
master.redis.ip=rdserver
master.redis.port=6379
master.redis.password=FNFl9F2O2Skb8yoKM0jhHA==
master.redis.max_active=500
master.redis.max_idle=5
master.redis.max_wait=10000
master.redis.timeout=10000
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-cms-admin
zheng.upms.appSecret=
##### zheng-oss #####
zheng.oss.aliyun.oss.policy=http://oss.zhangshuzheng.cn:7771/aliyun/oss/policy
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,39 +1,5 @@
app.name=zheng-cms-admin
profile.env=test
##### redis #####
master.redis.ip=rdserver
master.redis.port=6379
master.redis.password=FNFl9F2O2Skb8yoKM0jhHA==
master.redis.max_active=500
master.redis.max_idle=5
master.redis.max_wait=10000
master.redis.timeout=10000
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
##### zheng-admin #####
zheng.admin.version=1.0.0
##### zheng-upms #####
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=zheng-upms-client-session-id
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=1800000
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=/403
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=zheng-cms-admin
zheng.upms.appSecret=
##### zheng-oss #####
zheng.oss.aliyun.oss.policy=http://oss.zhangshuzheng.cn:7771/aliyun/oss/policy
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,7 +1,7 @@
master.redis.ip=${master.redis.ip}
master.redis.port=${master.redis.port}
master.redis.password=${master.redis.password}
master.redis.max_active=${master.redis.max_active}
master.redis.max_idle=${master.redis.max_idle}
master.redis.max_wait=${master.redis.max_wait}
master.redis.timeout=${master.redis.timeout}
master.redis.ip=127.0.0.1
master.redis.port=6379
master.redis.password=FNFl9F2O2Skb8yoKM0jhHA==
master.redis.max_active=500
master.redis.max_idle=5
master.redis.max_wait=10000
master.redis.timeout=10000

View File

@ -19,7 +19,7 @@
<!-- 非拦截路径 -->
<mvc:exclude-mapping path="/manage/login"/>
<!-- 拦截器对象 -->
<bean id="manageInterceptor" class="com.zheng.cms.admin.interceptor.ManageInterceptor"/>
<bean id="manageInterceptor" class="com.zheng.cms.admin.Interceptor.ManageInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>

View File

@ -1 +0,0 @@
zheng.admin.version=${zheng.admin.version}

View File

@ -1,2 +1,2 @@
##### aliyun #####
zheng.oss.aliyun.oss.policy=${zheng.oss.aliyun.oss.policy}
### aliyun ###
aliyun.oss.policy=http://oss.zhangshuzheng.cn:7771/aliyun/oss/policy

View File

@ -1,17 +1,17 @@
# \u7EC8\u7AEF\u7C7B\u578B
zheng.upms.type=${zheng.upms.type}
upms.type=client
# \u7EC8\u7AEFsession\u540D\u79F0
zheng.upms.session.id=${zheng.upms.session.id}
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
zheng.upms.session.timeout=${zheng.upms.session.timeout}
upms.session.id=zheng-upms-client-session-id
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=${zheng.upms.sso.server.url}
sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=${zheng.upms.successUrl}
upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=${zheng.upms.unauthorizedUrl}
upms.unauthorizedUrl=/403
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
upms.session.timeout=1800000
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
zheng.upms.rememberMe.timeout=${zheng.upms.rememberMe.timeout}
upms.rememberMe.timeout=2592000
# \u5B50\u7CFB\u7EDF
zheng.upms.appID=${zheng.upms.appID}
zheng.upms.appSecret=${zheng.upms.appSecret}
appID=zheng-cms-admin
appSecret=

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- 强制进行转码 -->
<filter>
@ -46,7 +46,6 @@
<param-value>classpath*:springMVC-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>

View File

@ -6,29 +6,11 @@ package com.zheng.cms.common.constant;
*/
public enum CmsResultConstant {
/**
* 失败
*/
FAILED(0, "failed"),
/**
* 成功
*/
SUCCESS(1, "success"),
/**
* 文件类型不支持
*/
FILE_TYPE_ERROR(20001, "File type not supported!"),
/**
* 无效长度
*/
INVALID_LENGTH(20002, "Invalid length"),
/**
* 无效参数
*/
INVALID_PARAMETER(20003, "Invalid parameter");
public int code;

View File

@ -1,4 +1,4 @@
generator.jdbc.driver=com.mysql.jdbc.Driver
generator.jdbc.url=jdbc\:mysql\://dbserver\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
generator.jdbc.url=jdbc\:mysql\://127.0.0.1\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
generator.jdbc.username=root
generator.jdbc.password=rWd3Hb+AzNg3IXF1b5vD+g==

View File

@ -15,21 +15,19 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Override
public void onMessage(final Message message) {
// 使用线程池多线程处理
threadPoolTaskExecutor.execute(new Runnable() {
@Override
public void run() {
TextMessage textMessage = (TextMessage) message;
try {
String text = textMessage.getText();
LOGGER.info("消费:{}", text);
_log.info("消费:{}", text);
} catch (Exception e) {
e.printStackTrace();
}

View File

@ -9,7 +9,7 @@
<dubbo:application name="zheng-cms-job"/>
<dubbo:registry file="./zheng-cms-job-dubbo.cache" address="zookeeper://zkserver:2181"/>
<dubbo:registry file="./zheng-cms-job-dubbo.cache" address="zookeeper://127.0.0.1:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>

View File

@ -1,5 +1,4 @@
app.name=${app.name}
env=${profile.env}
##### activeMq #####
### activeMq
AvtiveMQ.brokerURL=${AvtiveMQ.brokerURL}

View File

@ -1,5 +1,4 @@
app.name=zheng-cms-job
profile.env=dev
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,5 +1,4 @@
app.name=zheng-cms-job
profile.env=prod
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,5 +1,4 @@
app.name=zheng-cms-job
profile.env=test
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver:61616?wireFormat.maxInactivityDuration=0)
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- 强制进行转码 -->
<filter>
@ -46,7 +46,6 @@
<param-value>classpath*:springMVC-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>

View File

@ -1,8 +1,8 @@
package com.zheng.cms.rpc.api;
import com.zheng.common.base.BaseService;
import com.zheng.cms.dao.model.CmsArticle;
import com.zheng.cms.dao.model.CmsArticleExample;
import com.zheng.common.base.BaseService;
import java.util.List;
@ -12,36 +12,16 @@ import java.util.List;
*/
public interface CmsArticleService extends BaseService<CmsArticle, CmsArticleExample> {
/**
* 根据类目获取文章列表
* @param categoryId
* @param offset
* @param limit
* @return
*/
// 根据类目获取文章列表
List<CmsArticle> selectCmsArticlesByCategoryId(Integer categoryId, Integer offset, Integer limit);
/**
* 根据类目获取文章数量
* @param categoryId
* @return
*/
// 根据类目获取文章数量
long countByCategoryId(Integer categoryId);
/**
* 根据标签获取文章列表
* @param tagId
* @param offset
* @param limit
* @return
*/
// 根据标签获取文章列表
List<CmsArticle> selectCmsArticlesByTagId(Integer tagId, Integer offset, Integer limit);
/**
* 根据标签获取文章数量
* @param tagId
* @return
*/
// 根据标签获取文章数量
long countByTagId(Integer tagId);
}

View File

@ -15,29 +15,29 @@ import java.util.List;
*/
public class CmsArticleServiceMock extends BaseServiceMock<CmsArticleMapper, CmsArticle, CmsArticleExample> implements CmsArticleService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleServiceMock.class);
private static Logger _log = LoggerFactory.getLogger(CmsArticleServiceMock.class);
@Override
public List<CmsArticle> selectCmsArticlesByCategoryId(Integer categoryId, Integer offset, Integer limit) {
LOGGER.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
_log.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
return null;
}
@Override
public long countByCategoryId(Integer categoryId) {
LOGGER.info("CmsArticleServiceMock => countByCategoryId");
_log.info("CmsArticleServiceMock => countByCategoryId");
return 0;
}
@Override
public List<CmsArticle> selectCmsArticlesByTagId(Integer tagId, Integer offset, Integer limit) {
LOGGER.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
_log.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
return null;
}
@Override
public long countByTagId(Integer tagId) {
LOGGER.info("CmsArticleServiceMock => countByTagId");
_log.info("CmsArticleServiceMock => countByTagId");
return 0;
}

View File

@ -1,5 +1,3 @@
#dubbo.application.name=zheng-cms-rpc-service
#dubbo.registry.address=zookeeper://zkserver:2181
#dubbo.protocol.port=20882
dubbo.service.min.thread.pool.size=200
dubbo.service.max.thread.pool.size=200
#dubbo.registry.address=zookeeper://127.0.0.1:2181
#dubbo.protocol.port=20882

View File

@ -1,13 +1,21 @@
package com.zheng.cms.rpc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* 服务启动类
* Created by ZhangShuzheng on 2017/2/3.
*/
public class ZhengCmsRpcServiceApplication {
private static Logger _log = LoggerFactory.getLogger(ZhengCmsRpcServiceApplication.class);
public static void main(String[] args) {
com.alibaba.dubbo.container.Main.main(args);
_log.info(">>>>> zheng-cms-rpc-service 正在启动 <<<<<");
new ClassPathXmlApplicationContext("classpath:META-INF/spring/*.xml");
_log.info(">>>>> zheng-cms-rpc-service 启动完成 <<<<<");
}
}

View File

@ -1,11 +1,11 @@
package com.zheng.cms.rpc.service.impl;
import com.zheng.common.annotation.BaseService;
import com.zheng.common.base.BaseServiceImpl;
import com.zheng.cms.dao.mapper.CmsArticleCategoryMapper;
import com.zheng.cms.dao.model.CmsArticleCategory;
import com.zheng.cms.dao.model.CmsArticleCategoryExample;
import com.zheng.cms.rpc.api.CmsArticleCategoryService;
import com.zheng.common.annotation.BaseService;
import com.zheng.common.base.BaseServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsArticleCategoryServiceImpl extends BaseServiceImpl<CmsArticleCategoryMapper, CmsArticleCategory, CmsArticleCategoryExample> implements CmsArticleCategoryService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleCategoryServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsArticleCategoryServiceImpl.class);
@Autowired
CmsArticleCategoryMapper cmsArticleCategoryMapper;

View File

@ -24,7 +24,7 @@ import java.util.List;
@BaseService
public class CmsArticleServiceImpl extends BaseServiceImpl<CmsArticleMapper, CmsArticle, CmsArticleExample> implements CmsArticleService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsArticleServiceImpl.class);
@Autowired
CmsArticleMapper cmsArticleMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsArticleTagServiceImpl extends BaseServiceImpl<CmsArticleTagMapper, CmsArticleTag, CmsArticleTagExample> implements CmsArticleTagService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleTagServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsArticleTagServiceImpl.class);
@Autowired
CmsArticleTagMapper cmsArticleTagMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsCategoryServiceImpl extends BaseServiceImpl<CmsCategoryMapper, CmsCategory, CmsCategoryExample> implements CmsCategoryService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsCategoryServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsCategoryServiceImpl.class);
@Autowired
CmsCategoryMapper cmsCategoryMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsCategoryTagServiceImpl extends BaseServiceImpl<CmsCategoryTagMapper, CmsCategoryTag, CmsCategoryTagExample> implements CmsCategoryTagService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsCategoryTagServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsCategoryTagServiceImpl.class);
@Autowired
CmsCategoryTagMapper cmsCategoryTagMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsCommentServiceImpl extends BaseServiceImpl<CmsCommentMapper, CmsComment, CmsCommentExample> implements CmsCommentService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsCommentServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsCommentServiceImpl.class);
@Autowired
CmsCommentMapper cmsCommentMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsMenuServiceImpl extends BaseServiceImpl<CmsMenuMapper, CmsMenu, CmsMenuExample> implements CmsMenuService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsMenuServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsMenuServiceImpl.class);
@Autowired
CmsMenuMapper cmsMenuMapper;

View File

@ -21,7 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
@BaseService
public class CmsPageServiceImpl extends BaseServiceImpl<CmsPageMapper, CmsPage, CmsPageExample> implements CmsPageService {
private static final Logger LOGGER = LoggerFactory.getLogger(CmsPageServiceImpl.class);
private static Logger _log = LoggerFactory.getLogger(CmsPageServiceImpl.class);
@Autowired
CmsPageMapper cmsPageMapper;

Some files were not shown because too many files have changed in this diff Show More