Compare commits

...

160 Commits

Author SHA1 Message Date
shuzheng bdd4cdf9e3
Update README.md 2019-05-22 10:17:38 +08:00
shuzheng 07ab3c703e
Update README.md 2018-12-19 11:14:06 +08:00
shuzheng 0735c4d8c3
Update README.md 2018-12-19 10:23:29 +08:00
zhangshuzheng b0d1c1c9f8 更新zhengAdmin(增加选项卡关闭按钮) 2018-11-21 18:19:28 +08:00
zhangshuzheng e551cd9141 实时通知系统 2018-11-15 14:10:31 +08:00
zhangshuzheng a8e1bab2cb 增加zheng-message技术选型 2018-11-15 14:09:28 +08:00
zhangshuzheng 2371580bc0 Merge branch 'master' of https://github.com/shuzheng/zheng 2018-11-15 13:56:19 +08:00
zhangshuzheng b8dc235094 兼容SocketIO.js最新版本 2018-11-15 13:50:48 +08:00
shuzheng 320d85ee79 改为Dubbo Main启动方式 2018-11-04 16:50:13 +08:00
zhangshuzheng 7f16a891b1 升级spring版本 2018-11-04 13:18:48 +08:00
zhangshuzheng da1447aab7 更新依赖项版本 2018-11-01 11:18:28 +08:00
zhangshuzheng 11f2e86e9a update 2018-07-04 16:37:38 +08:00
zhangshuzheng 50ad167e20 zheng-message初始化 2018-07-04 16:23:40 +08:00
zhangshuzheng 88481dcce1 增加zheng-notify介绍 2018-07-03 20:15:19 +08:00
zhangshuzheng 78a583d81f 修改demo项目端口 2018-07-03 20:14:54 +08:00
zhangshuzheng 248b57b24c 初始化notify 2018-07-03 20:12:05 +08:00
shuzheng e9b08db4f9
Update README.md 2018-06-29 09:47:39 +08:00
shuzheng e14515bc8c
Update README.md 2018-04-10 16:02:58 +08:00
shuzheng 8fb1384d2f
Update README.md 2018-03-22 13:31:24 +08:00
shuzheng 145c97c54e
修正mac下代码生成路径问题 2018-03-21 15:26:41 +08:00
shuzheng 329124f877
修正mac下代码生成路径问题 2018-03-21 10:43:07 +08:00
shuzheng 2f8121df43
Update README.md 2018-03-16 16:52:59 +08:00
shuzheng 38ec173ef6
Update README.md 2018-03-12 13:11:51 +08:00
shuzheng b3d754dc78
Update README.md 2018-03-06 11:26:42 +08:00
shuzheng d81b3e37d9
Update README.md 2018-02-28 09:47:50 +08:00
shuzheng 0c00aea107
Update README.md 2018-02-23 11:31:05 +08:00
shuzheng 3e89504703
Update README.md 2018-02-07 14:25:18 +08:00
shuzheng 1ae88c0c74
Merge pull request #111 from donaldjohn/master
修复ehcache 依赖冲突
2018-02-02 10:17:45 +08:00
shuzheng 13f2b7d3d9
Update README.md 2018-01-30 15:54:17 +08:00
shuzheng 91f502186c
Update README.md 2018-01-22 16:46:59 +08:00
donaldjohn 123b8a9b08 修复ehcache 依赖冲突 2018-01-19 08:15:30 +08:00
shuzheng c74126f101
Update README.md 2018-01-17 17:10:35 +08:00
shuzheng 5e03c98943
Update README.md 2018-01-17 17:06:22 +08:00
shuzheng d2f783ab29
Update README.md 2018-01-17 17:00:32 +08:00
shuzheng 09cb4ebb77
Update README.md 2018-01-15 10:53:31 +08:00
shuzheng 51c9beeb14
Update README.md 2018-01-08 15:05:41 +08:00
shuzheng 8eb3d67bc8
Update README.md 2018-01-02 11:11:42 +08:00
shuzheng ef71a104c0
Update README.md 2017-12-25 14:54:57 +08:00
shuzheng 2227887480
Update README.md 2017-12-18 11:38:37 +08:00
shuzheng bf38aac390
Update README.md 2017-12-11 13:42:25 +08:00
shuzheng 9dde5acbe5
Update README.md 2017-12-01 15:44:45 +08:00
shuzheng 8af23a1080
Update README.md 2017-11-25 12:47:41 +08:00
shuzheng b1f295b772
Update README.md 2017-11-16 17:24:50 +08:00
shuzheng 25b478d797 取消邮件提醒 2017-11-11 17:03:37 +08:00
shuzheng ac0f68031b 修正md5方法调用 2017-11-11 17:02:58 +08:00
shuzheng ad69818d0a add Travis CI 2017-11-11 16:57:02 +08:00
shuzheng 9f480c6de3 add Travis CI 2017-11-11 16:42:15 +08:00
shuzheng fca4e49012 add travis-ci 2017-11-11 16:39:04 +08:00
shuzheng f2a4fa6954
Update README.md 2017-11-09 13:40:02 +08:00
shuzheng cb7f8df30d update 2017-11-08 22:22:50 +08:00
shuzheng 9ea72aeb1e 更新技术博客 2017-11-08 22:18:42 +08:00
shuzheng 8284e7edc8 增加资料图 2017-11-08 22:18:30 +08:00
shuzheng 36e32efe32 增加zheng-ui说明文件 2017-11-08 22:12:51 +08:00
shuzheng 12b27650d4 update 2017-11-08 22:11:37 +08:00
shuzheng a56a2fd4a7 zhengAdmin相关博客 2017-11-08 22:09:25 +08:00
shuzheng f45a50548f 修改预览图路径 2017-11-08 22:05:43 +08:00
shuzheng 3e330ece74 按照Alibaba Java Coding Guidelines插件扫描结果,修改代码规范 2017-11-08 22:01:11 +08:00
shuzheng ad725a433e
Update README.md 2017-11-03 15:26:05 +08:00
shuzheng 8a6d8bb534 修正单点登录成功后,如果没有回跳地址,默认跳转到upms首页,而不是/ 2017-10-29 22:13:10 +08:00
shuzheng 387a08fc85
Update README.md 2017-10-28 21:12:45 +08:00
shuzheng 86bfec4025 Update README.md 2017-10-24 21:43:27 +08:00
shuzheng 0cebd44ba3 @feng_tai_jun 增加git忽略文件 2017-10-24 18:12:13 +08:00
shuzheng 1f9068d224 修复代码生成器非windows系统下模板路径问题 2017-10-24 18:08:42 +08:00
shuzheng 5a501a63c9 Update README.md 2017-10-23 22:12:04 +08:00
shuzheng 4196d21fe4 Update README.md 2017-10-23 13:25:44 +08:00
shuzheng 725e76300a 配置dubbo线程池大小,相同大小,减少线程池收缩开销 2017-10-21 17:38:39 +08:00
shuzheng 17da803b43 修复表格排序bug 2017-10-21 17:36:44 +08:00
shuzheng 9a97608c11 修复表格排序bug 2017-10-21 17:33:22 +08:00
shuzheng 60f9be236e Update README.md 2017-10-20 14:26:08 +08:00
shuzheng 3b9c2363e0 更新dubbo版本 2017-10-19 19:53:23 +08:00
shuzheng 75194448f7 Update README.md 2017-10-19 16:01:28 +08:00
shuzheng f071c10c40 Update README.md 2017-10-16 18:22:32 +08:00
shuzheng 942db32e6b Update README.md 2017-10-10 11:10:16 +08:00
shuzheng fd0c16bf45 Update README.md 2017-09-27 22:43:23 +08:00
shuzheng 1c6b449ba4 Update README.md 2017-09-25 09:51:59 +08:00
shuzheng 70ec260414 Update README.md 2017-09-21 09:29:50 +08:00
shuzheng eae97d86ea Update README.md 2017-09-19 10:50:11 +08:00
shuzheng 4f4a28c2c9 Update README.md 2017-09-15 15:34:29 +08:00
shuzheng 7d1eedd8e0 Update README.md 2017-09-13 11:12:06 +08:00
shuzheng ed563b491e @郑志胜 fix:修补加载文件路径加载不到xml的情况。 2017-09-13 11:10:20 +08:00
shuzheng 2b78bb5314 更新文档 2017-09-08 22:07:23 +08:00
godmars 9a1c41eaa2 初始化alipay-sdk常用工具类 2017-09-08 22:03:28 +08:00
godmars 3a141b85cb alipay异步通知接口 2017-09-08 21:55:50 +08:00
godmars 71173ec19e alipay电脑网站和手机网站支付 2017-09-08 21:43:47 +08:00
shuzheng 957e4fc89f Merge pull request #73 from longgang/master
ucenter前台页面修改为Thymeleaf模版格式
2017-09-07 16:03:43 +08:00
shuzheng 0f9c93db03 Update README.md 2017-09-06 09:44:10 +08:00
张恕征 b25e82c292 Update README.md 2017-09-01 22:36:36 +08:00
张恕征 43b187763f 更新zheng-api说明 2017-08-29 20:03:47 +08:00
张恕征 f8ace23ee2 完善网关和配置中心设计 2017-08-29 19:59:29 +08:00
张恕征 54a79638a0 Update README.md 2017-08-29 17:15:56 +08:00
张恕征 3383026792 Update README.md 2017-08-25 11:25:28 +08:00
张恕征 f4fcfc5166 Update README.md 2017-08-21 21:42:18 +08:00
张恕征 5347e0c03d Update README.md 2017-08-17 12:59:40 +08:00
xulonggang 4805432c73 1. 修正验证码标签
2. 补充字体
2017-08-15 14:59:26 +08:00
xulonggang 0495aee4cb ucenter前台页面修改为Thymeleaf模版格式 2017-08-15 11:23:38 +08:00
shuzheng 0c098a398b 开启springmvc处理异步请求 2017-08-10 23:41:09 +08:00
shuzheng eec562b397 update 2017-08-10 23:28:44 +08:00
shuzheng cc6f118dcf 更新QQ群 2017-08-07 22:06:28 +08:00
shuzheng 544c56593e add dubbo-monitor.lnk 2017-08-01 22:29:36 +08:00
shuzheng a1b81a41cf 更新文档 2017-08-01 22:18:48 +08:00
shuzheng 15a62b5fe5 服务提供者增加监控中心配置 2017-08-01 22:16:16 +08:00
shuzheng be43218277 更新QQ群 2017-07-27 23:22:44 +08:00
shuzheng 70fa298914 更新文档 2017-07-23 23:16:36 +08:00
shuzheng a06b6d395c 日志表增加索引 2017-07-23 23:16:17 +08:00
shuzheng 013f0bf8c9 更新文档 2017-07-15 20:27:34 +08:00
shuzheng 84cf0de024 BaseServiceImpl只捕获除方法外的异常,支持BaseService方法在事务内调用 2017-07-15 20:14:21 +08:00
shuzheng 86e50ad13e 更新QQ群 2017-07-15 11:44:46 +08:00
张恕征 c28bb34044 Merge pull request #54 from ssuupper/master
各个服务器从127.0.0.1改为dbserver,rdserver,zkserver,mqserver
2017-07-04 12:27:53 +08:00
ye shuqiu c62fbb8317 Merge remote-tracking branch 'upstream/master' 2017-07-03 06:42:56 +08:00
shuzheng 0d29e634fa 更新QQ群 2017-07-02 23:33:54 +08:00
shuzheng 949f8eed4e Merge remote-tracking branch 'origin/master' 2017-07-02 23:29:18 +08:00
shuzheng 794789d1ec update 2017-07-02 23:28:28 +08:00
shuzheng 3e457fe06b servlet 3.0 2017-07-02 23:27:50 +08:00
shuzheng f16a0e9208 代码生成使用绝对路径,兼容IDEA和Eclipse 2017-06-29 15:30:07 +08:00
shuzheng c0dac50e57 对aop日子中的结果进行json格式化处理,便于日志分析。 2017-06-28 21:16:22 +08:00
shuzheng 5e0311a602 验证码生成工具类 2017-06-28 17:54:11 +08:00
javay 7a117b3fa9 增加群号 2017-06-27 13:49:14 +08:00
shuzheng 4da64fa3c6 更新文档 2017-06-25 22:22:09 +08:00
shuzheng 8b29475ec4 更新文档 2017-06-25 22:16:49 +08:00
ye shuqiu 945aa46d8a 各个服务器从127.0.0.1改为dbserver,rdserver,zkserver,mqserver 2017-06-25 16:44:06 +08:00
shuzheng 117ba59f16 配置中心zheng-config配置文件 2017-06-24 23:24:23 +08:00
shuzheng 5a967b5b7b 默认swagger地址为/swagger-ui.html 2017-06-23 22:55:11 +08:00
shuzheng c768efd630 工具移动到project-tools 2017-06-23 22:05:56 +08:00
shuzheng 3e99c668dc 上传zheng项目nginx配置文件 2017-06-23 22:05:18 +08:00
shuzheng 2bff02e8a4 更新文档 2017-06-22 22:54:23 +08:00
shuzheng 3234efe990 增加启动时密码没加密提示异常 2017-06-20 16:40:49 +08:00
shuzheng b570d57152 订阅rpc服务 2017-06-19 23:53:27 +08:00
shuzheng ab18283702 增加redis配置 2017-06-19 23:53:12 +08:00
shuzheng b0597ee595 增加接口服务 2017-06-19 23:46:21 +08:00
shuzheng e424387ba9 完成ucenter-rpc-service服务提供配置 2017-06-19 23:35:17 +08:00
shuzheng ff897b2879 Merge remote-tracking branch 'origin/master' 2017-06-16 22:59:57 +08:00
shuzheng f74e663f2f update 2017-06-16 22:59:23 +08:00
shuzheng e6738c70ce 增加系统初始化接口实现 2017-06-15 20:36:41 +08:00
shuzheng 99159d6ae2 增加BaseInterface接口,项目启动自动执行实现该接口的实现方法 2017-06-15 20:36:18 +08:00
shuzheng 37bb44e993 更新模块依赖图 2017-06-14 13:29:10 +08:00
shuzheng dd89c86ea8 修复jdbc多环境资源 2017-06-13 14:16:06 +08:00
shuzheng 9e9860a9a6 所有配置文件支持多环境 2017-06-12 20:52:21 +08:00
shuzheng 0ae690a15b 删除登录注册逻辑 2017-06-09 23:31:20 +08:00
shuzheng e209735d06 Update README.md 2017-06-07 23:55:33 +08:00
shuzheng f01a2bdab6 更新文档 2017-06-03 18:55:44 +08:00
shuzheng c4f090959d 更新文档 2017-06-03 18:40:43 +08:00
shuzheng cdfcc48e29 更新文档 2017-06-03 18:36:10 +08:00
shuzheng 2ff87ef357 更新文档:完善启动说明 2017-06-03 18:29:12 +08:00
shuzheng b26b00b1e0 更新进度图 2017-06-03 18:11:15 +08:00
ChenLingBaby 96f6cf9789 更新进度图 2017-06-03 18:01:30 +08:00
ChenLingBaby 61fbcf8de0 zheng-upms使用zheng-oss上传图片 2017-06-03 18:01:11 +08:00
ChenLingBaby fa5f307c30 更新图片字段长度 2017-06-03 17:55:04 +08:00
ChenLingBaby eab1833871 增加webuploader-0.1.5上传插件 2017-06-03 12:54:10 +08:00
ChenLingBaby a46b431830 改为html5颜色选择框 2017-06-03 12:26:18 +08:00
ChenLingBaby 110c355268 OSS统一上传接口配置 2017-06-03 12:25:44 +08:00
shuzheng f0ef10a448 用户授权信息使用单独的缓存方法 2017-05-30 23:59:24 +08:00
shuzheng a0d62e4a77 缓存查询用户权限方法 2017-05-30 23:51:21 +08:00
shuzheng af0b0059ca 统一oss配置 2017-05-29 23:30:41 +08:00
shuzheng 99eb0a690b 回滚 2017-05-28 23:55:41 +08:00
shuzheng bebee52316 增加Twitter的Snowflake算法分布式主键生成工具 2017-05-27 17:57:29 +08:00
shuzheng 1bb30908e8 Merge pull request #34 from zdyy/master
解决iframe下系统超时无法跳出iframe框架的问题
2017-05-22 16:55:13 +08:00
greydesolate e0d013ae02 解决iframe下系统超时无法跳出iframe框架的问题 2017-05-19 18:13:02 +08:00
shuzheng 07365ec105 Update RedisUtil.java 2017-05-18 23:19:24 +08:00
shuzheng 7637b9502f @alpha4 #bugfix # mapper文件生成重复 2017-05-18 23:13:55 +08:00
shuzheng d7ca2f9606 Update README.md 2017-05-18 23:05:34 +08:00
386 changed files with 22352 additions and 1384 deletions

4
.gitignore vendored
View File

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

7
.travis.yml Normal file
View File

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

11
LICENSE
View File

@ -1,15 +1,6 @@
MIT License
项目名称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
Copyright (c) 2017 https://github.com/shuzheng/zheng
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,14 +1,15 @@
# 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(群内含各种工具和文档下载)
交流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(群内含各种工具、文档、视频教程下载)
## 前言
  `zheng`项目创建于2016年10月4日正在慢慢成长中目的不仅仅是一个开发架构,而是努力打造一套从 **前端模板** - **基础框架** - **分布式架构** - **开源项目** - **持续集成** - **自动化部署** - **系统监测** - **无缝升级** 的全方位J2EE企业级开发解决方案。
  `zheng`项目不仅仅是一个开发架构,而是努力打造一套从 **前端模板** - **基础框架** - **分布式架构** - **开源项目** - **持续集成** - **自动化部署** - **系统监测** - **无缝升级** 的全方位J2EE企业级开发解决方案。
## 项目介绍
@ -16,7 +17,67 @@
### 组织结构
![组织结构](project-bootstrap/zheng_project.png)
``` 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]
```
### 技术选型
@ -51,6 +112,7 @@ 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)
#### 前端技术:
技术 | 名称 | 官网
@ -59,6 +121,7 @@ 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)
@ -70,6 +133,7 @@ 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/)
#### 架构图
@ -110,9 +174,9 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
> zheng-api
接口总线系统,对外暴露统一规范的接口,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,示例图:
服务网关,对外暴露统一规范的接口和包装响应结果,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,可在该模块支持验签、鉴权、路由、限流、监控、容错、日志等功能。示例图:
![API网关](project-bootstrap/zheng-api.png)
![API网关](project-bootstrap/gateway_config.png)
> zheng-cms
@ -135,27 +199,15 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理、消息群发等基础功能外,还有二维码推广、营销活动、微网站、会员卡、优惠券等。
> zheng-ucenter-app
> zheng-wechat-app
微信小程序后台
> zheng-shop
> zheng-message
电子商务系统
基于Netty实现SocketIO的实时推送系统。支持命名空间、二进制数据、SSL、ACK等功能。
> zheng-im
即时通讯系统
> zheng-oa
办公自动化系统
> zheng-eoms
运维系统
## 环境搭建
## 环境搭建QQ群内有“zheng环境搭建和系统部署文档.doc”
#### 开发工具:
- MySql: 数据库
@ -169,16 +221,17 @@ Spring+SpringMVC+Mybatis框架集成公共模块包括公共配置、MybatisG
- Navicat for MySQL: 数据库客户端
#### 开发环境:
- Jdk7
- Mysql5.5
- Jdk7+
- Mysql5.5+
- Redis
- Zookeeper
- ActiveMQ
- Dubbo-admin
- Dubbo-monitor
### 工具安装
[环境搭建和系统部署文档(作者:小兵)](http://git.oschina.net/shuzheng/zheng/attach_files "环境搭建和系统部署文档(作者:小兵)")
环境搭建和系统部署文档(作者小兵QQ群共享提供下载)
### 资源下载
@ -210,39 +263,54 @@ 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/]子系统菜单已经配置到zheng-upms权限中不用直接访问子系统默认帐号密码admin/123456
- 访问 [http://upms.zhangshuzheng.cn:1111/](http://upms.zhangshuzheng.cn:1111/ "统一后台地址")子系统菜单已经配置到zheng-upms权限中不用直接访问子系统默认帐号密码admin/123456
- 登录成功后,可在右上角切换已注册系统访问
```
### 启动顺序(前台)
> **zheng-cms**
```
- 启动nginx代理zheng-ui静态资源配置文件可参考 [nginx.conf](http://git.oschina.net/shuzheng/zheng/attach_files)
- zheng-cms-admin启动ActiveMQ-启动 => 启动zheng-rpc-service => 启动zheng-cms-admin
- 启动前台系统应用服务器
```
- 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代码
@ -251,22 +319,27 @@ 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目录的管理脚本运行即可支持优雅停机。
```
### 框架规范约定
@ -346,10 +419,32 @@ 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 "微服务实战")
@ -392,6 +487,8 @@ 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 "做个男人,做个成熟的男人,做个有城府的男人")
@ -425,4 +522,4 @@ maven编译安装zheng/pom.xml文件即可
## 许可证
[MIT](http://opensource.org/licenses/MIT "MIT")
[MIT](LICENSE "MIT")

View File

@ -28,10 +28,8 @@
<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,66 +1,3 @@
# 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.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 KiB

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

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="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"?>
<?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">
@ -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,-116871), (29873,-115621))</a:Rect>
<a:ListOfPoints>((29473,-116246),(23421,-116246))</a:ListOfPoints>
<a:Rect>((23021,-116895), (29293,-115645))</a:Rect>
<a:ListOfPoints>((28893,-116270),(23421,-116270))</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>((39564,-127943), (40814,-118297))</a:Rect>
<a:ListOfPoints>((40189,-118697),(40189,-127543))</a:ListOfPoints>
<a:Rect>((39557,-127943), (40807,-118709))</a:Rect>
<a:ListOfPoints>((40182,-119109),(40182,-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>((29473,-118697), (51435,-113149))</a:Rect>
<a:Rect>((28893,-119109), (52015,-112737))</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>1493218841</a:ModificationDate>
<a:ModificationDate>1493219578</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>用户认证方式表</a:Comment>
<a:TotalSavingCurrency/>
@ -9811,6 +9811,22 @@ 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>
@ -9825,7 +9841,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o410">
<o:Column Id="o411">
<a:ObjectID>0D58E41B-962F-4139-8EFA-8E625F36F2F6</a:ObjectID>
<a:Name>创建时间</a:Name>
<a:Code>create_time</a:Code>
@ -9842,7 +9858,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o411">
<o:Key Id="o412">
<a:ObjectID>9B7D3240-ED0C-4DD0-A620-4821A9EF2D03</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -9856,7 +9872,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o411"/>
<o:Key Ref="o412"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o148">
@ -9870,7 +9886,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>认证方式表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o412">
<o:Column Id="o413">
<a:ObjectID>90C6365F-585E-4973-AC86-16A82E898D60</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>oauth_id</a:Code>
@ -9886,7 +9902,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o413">
<o:Column Id="o414">
<a:ObjectID>2AFF2C35-6DF6-49A7-B4C7-C747A29128DE</a:ObjectID>
<a:Name>认证方式名称</a:Name>
<a:Code>name</a:Code>
@ -9900,7 +9916,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o414">
<o:Key Id="o415">
<a:ObjectID>37EAA472-5F51-46D3-B398-528C74690B33</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -9909,12 +9925,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493218429</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o412"/>
<o:Column Ref="o413"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o414"/>
<o:Key Ref="o415"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o149">
@ -9928,7 +9944,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>用户详情表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o415">
<o:Column Id="o416">
<a:ObjectID>D0224209-69E0-42FB-B7EE-49E1107080C1</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>user_id</a:Code>
@ -9943,7 +9959,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o416">
<o:Column Id="o417">
<a:ObjectID>4DE45073-FF0B-4A0D-A10A-C83E81414324</a:ObjectID>
<a:Name>个性签名</a:Name>
<a:Code>signature</a:Code>
@ -9955,7 +9971,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(300)</a:DataType>
<a:Length>300</a:Length>
</o:Column>
<o:Column Id="o417">
<o:Column Id="o418">
<a:ObjectID>1BF99A0A-7513-4206-90E6-23A0C2997D61</a:ObjectID>
<a:Name>真实姓名</a:Name>
<a:Code>real_name</a:Code>
@ -9967,7 +9983,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(20)</a:DataType>
<a:Length>20</a:Length>
</o:Column>
<o:Column Id="o418">
<o:Column Id="o419">
<a:ObjectID>6F3CE863-6A0B-4756-A09F-45F4BCC58537</a:ObjectID>
<a:Name>出生日期</a:Name>
<a:Code>birthday</a:Code>
@ -9978,7 +9994,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>出生日期</a:Comment>
<a:DataType>timestamp</a:DataType>
</o:Column>
<o:Column Id="o419">
<o:Column Id="o420">
<a:ObjectID>47DD4186-2274-4648-AF3C-9EAB6C6C2C2B</a:ObjectID>
<a:Name>帐号安全问题</a:Name>
<a:Code>question</a:Code>
@ -9990,7 +10006,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(100)</a:DataType>
<a:Length>100</a:Length>
</o:Column>
<o:Column Id="o420">
<o:Column Id="o421">
<a:ObjectID>08CBA375-C38A-4471-B4A3-91DBE8CF7251</a:ObjectID>
<a:Name>帐号安全答案</a:Name>
<a:Code>answer</a:Code>
@ -10004,7 +10020,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o421">
<o:Key Id="o422">
<a:ObjectID>032C752F-E78F-42B9-9714-6229347F0DD1</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -10013,12 +10029,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493218800</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o415"/>
<o:Column Ref="o416"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o421"/>
<o:Key Ref="o422"/>
</c:PrimaryKey>
</o:Table>
<o:Table Id="o150">
@ -10032,7 +10048,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:Comment>用户操作日志表</a:Comment>
<a:TotalSavingCurrency/>
<c:Columns>
<o:Column Id="o422">
<o:Column Id="o423">
<a:ObjectID>6AB6AF03-2213-4C04-B12D-5F375D857144</a:ObjectID>
<a:Name>编号</a:Name>
<a:Code>user_log_id</a:Code>
@ -10048,7 +10064,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o423">
<o:Column Id="o424">
<a:ObjectID>87955ADE-EFC0-420A-81F5-658F2A7C3725</a:ObjectID>
<a:Name>用户编号</a:Name>
<a:Code>user_id</a:Code>
@ -10062,7 +10078,7 @@ LABL 0 新宋体,8,N</a:FontList>
</a:ExtendedAttributesText>
</o:Column>
<o:Column Id="o424">
<o:Column Id="o425">
<a:ObjectID>F67D38B6-42C5-4D36-B234-7EF752AD41B6</a:ObjectID>
<a:Name>内容</a:Name>
<a:Code>content</a:Code>
@ -10074,7 +10090,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varbinary(100)</a:DataType>
<a:Length>100</a:Length>
</o:Column>
<o:Column Id="o425">
<o:Column Id="o426">
<a:ObjectID>B0E51B1F-1AC9-43BB-BAFE-C981C106A9C4</a:ObjectID>
<a:Name>操作IP地址</a:Name>
<a:Code>ip</a:Code>
@ -10086,7 +10102,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varchar(20)</a:DataType>
<a:Length>20</a:Length>
</o:Column>
<o:Column Id="o426">
<o:Column Id="o427">
<a:ObjectID>5B146716-3913-4E2A-B0D9-9AAB19123DAB</a:ObjectID>
<a:Name>操作环境</a:Name>
<a:Code>agent</a:Code>
@ -10098,7 +10114,7 @@ LABL 0 新宋体,8,N</a:FontList>
<a:DataType>varbinary(200)</a:DataType>
<a:Length>200</a:Length>
</o:Column>
<o:Column Id="o427">
<o:Column Id="o428">
<a:ObjectID>31733B24-9ACB-4A00-81B3-1E1C2B5CB4B7</a:ObjectID>
<a:Name>操作时间</a:Name>
<a:Code>create_time</a:Code>
@ -10112,7 +10128,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Column>
</c:Columns>
<c:Keys>
<o:Key Id="o428">
<o:Key Id="o429">
<a:ObjectID>04CD6C40-DA72-4141-8E03-ED25B7E1D20D</a:ObjectID>
<a:Name>Key_1</a:Name>
<a:Code>Key_1</a:Code>
@ -10121,12 +10137,12 @@ LABL 0 新宋体,8,N</a:FontList>
<a:ModificationDate>1493219387</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<c:Key.Columns>
<o:Column Ref="o422"/>
<o:Column Ref="o423"/>
</c:Key.Columns>
</o:Key>
</c:Keys>
<c:PrimaryKey>
<o:Key Ref="o428"/>
<o:Key Ref="o429"/>
</c:PrimaryKey>
</o:Table>
</c:Tables>
@ -10152,7 +10168,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o429">
<o:ReferenceJoin Id="o430">
<a:ObjectID>3F0B667A-CDBD-4B6B-B332-CABFD6F9D7DD</a:ObjectID>
<a:CreationDate>1478091704</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10188,7 +10204,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o215"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o430">
<o:ReferenceJoin Id="o431">
<a:ObjectID>0CEDFF63-6B27-412C-9125-4D779A3C06D1</a:ObjectID>
<a:CreationDate>1478091704</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10224,7 +10240,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o431">
<o:ReferenceJoin Id="o432">
<a:ObjectID>8EB7FCFD-7007-4495-A8F2-F250345B5FF3</a:ObjectID>
<a:CreationDate>1478095245</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10260,7 +10276,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o226"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o432">
<o:ReferenceJoin Id="o433">
<a:ObjectID>C0664F33-F705-41FE-84EC-953097D116F9</a:ObjectID>
<a:CreationDate>1478095255</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10296,7 +10312,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o433">
<o:ReferenceJoin Id="o434">
<a:ObjectID>A963D0E8-21CA-43A9-A687-19B58277A2DE</a:ObjectID>
<a:CreationDate>1478095260</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10332,7 +10348,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o226"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o434">
<o:ReferenceJoin Id="o435">
<a:ObjectID>8B851B5D-580C-4AF9-9AFE-4E3CE2E1175C</a:ObjectID>
<a:CreationDate>1478095263</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10368,7 +10384,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o435">
<o:ReferenceJoin Id="o436">
<a:ObjectID>BCB9648F-4C63-4EF1-8731-76BB8CD65BB2</a:ObjectID>
<a:CreationDate>1478095268</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10404,7 +10420,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o169"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o436">
<o:ReferenceJoin Id="o437">
<a:ObjectID>DECB1879-335A-4035-BF38-7DF8D9FBD6BB</a:ObjectID>
<a:CreationDate>1478095270</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10440,7 +10456,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o194"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o437">
<o:ReferenceJoin Id="o438">
<a:ObjectID>117D49F2-950E-4426-8301-D743A73B414A</a:ObjectID>
<a:CreationDate>1478153486</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10476,7 +10492,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o438">
<o:ReferenceJoin Id="o439">
<a:ObjectID>545F73A8-DE53-40F5-A280-7DA338E0A003</a:ObjectID>
<a:CreationDate>1483619847</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10512,7 +10528,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o271"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o439">
<o:ReferenceJoin Id="o440">
<a:ObjectID>BF1F3E99-09A6-421B-81D1-F7E281FCE260</a:ObjectID>
<a:CreationDate>1483619849</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10548,7 +10564,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o440">
<o:ReferenceJoin Id="o441">
<a:ObjectID>0DF9BBFC-D655-482D-9904-4F3A26CB08FB</a:ObjectID>
<a:CreationDate>1483620005</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10584,7 +10600,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o290"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o441">
<o:ReferenceJoin Id="o442">
<a:ObjectID>42E952C2-D56E-4170-AA72-D984BD0E0FD1</a:ObjectID>
<a:CreationDate>1483620007</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10620,7 +10636,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o310"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o442">
<o:ReferenceJoin Id="o443">
<a:ObjectID>2C07D64B-3F3D-4A16-A632-1E2CA02771EB</a:ObjectID>
<a:CreationDate>1483624336</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10656,7 +10672,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o290"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o443">
<o:ReferenceJoin Id="o444">
<a:ObjectID>B23C6A33-5699-42C6-BC24-F87A18B3BFC0</a:ObjectID>
<a:CreationDate>1483624340</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10692,7 +10708,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o283"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o444">
<o:ReferenceJoin Id="o445">
<a:ObjectID>D8D34A08-BFC5-414F-A545-2D0FA5319323</a:ObjectID>
<a:CreationDate>1483624615</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10728,7 +10744,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o310"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o445">
<o:ReferenceJoin Id="o446">
<a:ObjectID>87D27293-4E31-4426-BBCB-10C6ADDB859A</a:ObjectID>
<a:CreationDate>1483624617</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -10764,7 +10780,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o446">
<o:ReferenceJoin Id="o447">
<a:ObjectID>0B8BF9CE-2C3F-473E-9774-17A0EFFEBE30</a:ObjectID>
<a:CreationDate>1484124946</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10800,7 +10816,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o447">
<o:ReferenceJoin Id="o448">
<a:ObjectID>EE34A350-75F8-4591-9E36-1F6910EF895B</a:ObjectID>
<a:CreationDate>1484124984</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10836,7 +10852,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o256"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o448">
<o:ReferenceJoin Id="o449">
<a:ObjectID>1643C054-4AA3-4F06-9C27-EE4627B70709</a:ObjectID>
<a:CreationDate>1484124996</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10872,7 +10888,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o256"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o449">
<o:ReferenceJoin Id="o450">
<a:ObjectID>FA740D36-5612-4457-A6C7-3BBE27BDD037</a:ObjectID>
<a:CreationDate>1484125007</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10908,7 +10924,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o450">
<o:ReferenceJoin Id="o451">
<a:ObjectID>4DF4BC0A-801A-4FA5-BF2A-9519DC4D4B35</a:ObjectID>
<a:CreationDate>1484125017</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10944,7 +10960,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o451">
<o:ReferenceJoin Id="o452">
<a:ObjectID>DF1BA583-4F53-4DF5-A4C9-480467E4E602</a:ObjectID>
<a:CreationDate>1484125035</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -10980,7 +10996,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o326"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o452">
<o:ReferenceJoin Id="o453">
<a:ObjectID>633D86A0-BBAB-4918-A3D2-A299B72A8987</a:ObjectID>
<a:CreationDate>1484129054</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11016,7 +11032,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o333"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o453">
<o:ReferenceJoin Id="o454">
<a:ObjectID>CC177053-8A74-4EF1-8EE0-FA6F3E05EA6F</a:ObjectID>
<a:CreationDate>1484129077</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11052,7 +11068,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o252"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o454">
<o:ReferenceJoin Id="o455">
<a:ObjectID>4365E911-BD01-4F80-99FE-40F057E7CA77</a:ObjectID>
<a:CreationDate>1484129119</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11088,7 +11104,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o246"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o455">
<o:ReferenceJoin Id="o456">
<a:ObjectID>CA379708-972E-49E7-8E2E-D2C473C6049D</a:ObjectID>
<a:CreationDate>1484129130</a:CreationDate>
<a:Creator>admin</a:Creator>
@ -11124,7 +11140,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o240"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o456">
<o:ReferenceJoin Id="o457">
<a:ObjectID>2F127294-27DF-41C4-92D4-26788095C702</a:ObjectID>
<a:CreationDate>1486384936</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11160,7 +11176,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o387"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o457">
<o:ReferenceJoin Id="o458">
<a:ObjectID>BD73CAEF-6ABB-4585-8721-623A65A3396C</a:ObjectID>
<a:CreationDate>1489831850</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11196,7 +11212,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o458">
<o:ReferenceJoin Id="o459">
<a:ObjectID>6F5230F0-1C25-4980-BE70-7066ED34599F</a:ObjectID>
<a:CreationDate>1493218925</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11206,7 +11222,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Column Ref="o395"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o415"/>
<o:Column Ref="o416"/>
</c:Object2>
</o:ReferenceJoin>
</c:Joins>
@ -11232,7 +11248,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o459">
<o:ReferenceJoin Id="o460">
<a:ObjectID>D5E749F2-F557-4B5E-A70D-96A7CE78FB29</a:ObjectID>
<a:CreationDate>1493218927</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11265,17 +11281,17 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Table Ref="o147"/>
</c:ChildTable>
<c:ParentKey>
<o:Key Ref="o414"/>
<o:Key Ref="o415"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o460">
<o:ReferenceJoin Id="o461">
<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="o412"/>
<o:Column Ref="o413"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o408"/>
@ -11304,7 +11320,7 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Key Ref="o405"/>
</c:ParentKey>
<c:Joins>
<o:ReferenceJoin Id="o461">
<o:ReferenceJoin Id="o462">
<a:ObjectID>FE8D8FA0-FFF0-40C9-A02B-3247A6CC5BC1</a:ObjectID>
<a:CreationDate>1493219394</a:CreationDate>
<a:Creator>shuzheng</a:Creator>
@ -11314,14 +11330,14 @@ LABL 0 新宋体,8,N</a:FontList>
<o:Column Ref="o395"/>
</c:Object1>
<c:Object2>
<o:Column Ref="o423"/>
<o:Column Ref="o424"/>
</c:Object2>
</o:ReferenceJoin>
</c:Joins>
</o:Reference>
</c:References>
<c:DefaultGroups>
<o:Group Id="o462">
<o:Group Id="o463">
<a:ObjectID>49A97F4D-A691-448D-ADBF-B76A62A66CBB</a:ObjectID>
<a:Name>PUBLIC</a:Name>
<a:Code>PUBLIC</a:Code>
@ -11332,7 +11348,7 @@ LABL 0 新宋体,8,N</a:FontList>
</o:Group>
</c:DefaultGroups>
<c:TargetModels>
<o:TargetModel Id="o463">
<o:TargetModel Id="o464">
<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="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="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"?>
<!-- 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), (2708,-22550))</a:Rect>
<a:ListOfPoints>((-9477,-23175),(2308,-23175))</a:ListOfPoints>
<a:Rect>((-9877,-23800), (2627,-22550))</a:Rect>
<a:ListOfPoints>((-9477,-23175),(2227,-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>((4030,-39400), (5280,-22888))</a:Rect>
<a:ListOfPoints>((4655,-39000),(4655,-23288))</a:ListOfPoints>
<a:Rect>((4007,-39400), (5259,-22888))</a:Rect>
<a:ListOfPoints>((4655,-39000),(4623,-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>((15051,-24128), (21401,-22878))</a:Rect>
<a:ListOfPoints>((21001,-23503),(15451,-23503))</a:ListOfPoints>
<a:Rect>((15243,-24128), (21401,-22878))</a:Rect>
<a:ListOfPoints>((21001,-23503),(15643,-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>1490707597</a:ModificationDate>
<a:Rect>((28154,-33027), (34356,-20656))</a:Rect>
<a:ListOfPoints>((33956,-21056),(33956,-30525),(28779,-30525),(28779,-32627))</a:ListOfPoints>
<a:ModificationDate>1496482792</a:ModificationDate>
<a:Rect>((28342,-33027), (29592,-20656))</a:Rect>
<a:ListOfPoints>((28967,-21056),(28967,-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>((-3037,-27525), (15451,-17027))</a:Rect>
<a:Rect>((-3229,-27525), (15643,-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>1488716332</a:ModificationDate>
<a:ModificationDate>1496482803</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>背景</a:Comment>
<a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length>
<a:DataType>varchar(150)</a:DataType>
<a:Length>150</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>1484924881</a:ModificationDate>
<a:ModificationDate>1496482769</a:ModificationDate>
<a:Modifier>shuzheng</a:Modifier>
<a:Comment>头像</a:Comment>
<a:DataType>varchar(50)</a:DataType>
<a:Length>50</a:Length>
<a:DataType>varchar(150)</a:DataType>
<a:Length>150</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: 622 KiB

After

Width:  |  Height:  |  Size: 620 KiB

View File

@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50621
File Encoding : 65001
Date: 2017-04-26 23:23:32
Date: 2017-07-23 23:13:56
*/
SET FOREIGN_KEY_CHECKS=0;
@ -612,8 +612,9 @@ CREATE TABLE `upms_log` (
`ip` varchar(30) DEFAULT NULL COMMENT 'IP地址',
`result` mediumtext,
`permissions` varchar(100) DEFAULT NULL COMMENT '权限值',
PRIMARY KEY (`log_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
PRIMARY KEY (`log_id`),
KEY `log_id` (`log_id`)
) ENGINE=InnoDB AUTO_INCREMENT=779 DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
-- ----------------------------
-- Records of upms_log
@ -881,7 +882,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(50) DEFAULT NULL COMMENT '背景',
`banner` varchar(150) DEFAULT NULL COMMENT '背景',
`theme` varchar(50) DEFAULT NULL COMMENT '主题',
`basepath` varchar(100) DEFAULT NULL COMMENT '根目录',
`status` tinyint(4) DEFAULT NULL COMMENT '状态(-1:黑名单,1:正常)',
@ -912,19 +913,20 @@ 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(50) DEFAULT NULL COMMENT '头像',
`avatar` varchar(150) 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=2 DEFAULT CHARSET=utf8mb4 COMMENT='用户';
) ENGINE=InnoDB AUTO_INCREMENT=3 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
@ -956,13 +958,33 @@ 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=5 DEFAULT CHARSET=utf8mb4 COMMENT='用户权限关联表';
) ENGINE=InnoDB AUTO_INCREMENT=25 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
@ -973,10 +995,12 @@ 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=6 DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
) ENGINE=InnoDB AUTO_INCREMENT=8 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

@ -0,0 +1,57 @@
#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

@ -0,0 +1,10 @@
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

@ -0,0 +1,10 @@
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,26 +2,28 @@
基于bootstrap实现的响应式Material Design风格的通用后台管理系统
交流QQ群133107819🈵、284280411🈵、528049386♨
# zhengAdmin相关博客
- [基于 vue + zhengAdmin 的一套后台模板](https://segmentfault.com/a/1190000010552103 "基于 vue + zhengAdmin 的一套后台模板")
# 在线演示
地址: [http://www.zhangshuzheng.cn/zhengAdmin](http://www.zhangshuzheng.cn/zhengAdmin "zhengAdmin")
![预览效果图](src/resources/images/zheng-upms-theme.png)
![预览效果图](src/images/zheng-upms-theme.png)
![预览效果图](src/resources/images/zheng-cms-theme.png)
![预览效果图](src/images/zheng-cms-theme.png)
![预览效果图](src/resources/images/zheng-pay-theme.png)
![预览效果图](src/images/zheng-pay-theme.png)
![预览效果图](src/resources/images/zheng-ucenter-theme.png)
![预览效果图](src/images/zheng-ucenter-theme.png)
![预览效果图](src/resources/images/zheng-oss-theme.png)
![预览效果图](src/images/zheng-oss-theme.png)
![预览效果图](src/resources/images/zheng-cms-theme-m1.png)
![预览效果图](src/images/zheng-cms-theme-m1.png)
![预览效果图](src/resources/images/zheng-cms-theme-m2.png)
![预览效果图](src/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}
.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-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:18px;top:2px;width:25px;text-align:center;padding:13px 0}
.main-menu>li>a>i{position:absolute;left:25px;font-size:14px;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;}
.content_tab>ul{padding:0;font-size:0;display:block;white-space:nowrap;-webkit-overflow-scrolling:touch;overflow-x:scroll;overflow-y:hidden;}
.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{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_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_main{height:calc(100% - 48px);-webkit-overflow-scrolling:touch;}
.content_main>.cur{display:block;}

View File

@ -3,7 +3,13 @@ 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;}
#main{padding: 10px 20px;}
::-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;}
/* 数据表格 */
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: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;}
#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;}
.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="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"/>
<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"/>
<style>
/** skins **/
#zheng-upms-server #header {background: #29A176;}
#zheng-upms-server .content_tab{background: #29A176;}
#zheng-upms-server .s-profile>a{background: url(images/zheng-upms.png) left top no-repeat;}
#zheng-upms-server .s-profile>a{background: url(resources/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(images/zheng-cms.png) left top no-repeat;}
#zheng-cms-admin .s-profile>a{background: url(resources/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(images/zheng-pay.png) left top no-repeat;}
#zheng-pay-admin .s-profile>a{background: url(resources/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(images/zheng-ucenter.png) left top no-repeat;}
#zheng-ucenter-home .s-profile>a{background: url(resources/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(images/zheng-oss.png) left top no-repeat;}
#zheng-oss-web .s-profile>a{background: url(resources/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="images/logo.png"/>
<img src="resources/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="images/avatar.jpg"/>
<img src="resources/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">
<a class="waves-effect waves-light">首页</a>
<span class="waves-effect waves-light">首页</span>
</li>
</ul>
</div>
@ -254,16 +254,16 @@
</section>
<footer id="footer"></footer>
<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/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="js/admin.js"></script>
<script src="resources/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"><a class="waves-effect waves-light">' + title + '</a></li>';//<i class="zmdi zmdi-close"></i><
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>';
$('.content_tab>ul').append(tab);
// 添加iframe
$('.iframe').removeClass('cur');

Binary file not shown.

View File

@ -0,0 +1,28 @@
.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,6 +6,9 @@ package com.zheng.api.common.constant;
*/
public enum ApiResultConstant {
/**
* 成功
*/
SUCCESS(1, "success");
public int code;

View File

@ -6,6 +6,11 @@ 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 Logger _log = LoggerFactory.getLogger(ApiServiceMock.class);
private static final Logger LOGGER = LoggerFactory.getLogger(ApiServiceMock.class);
@Override
public String hello(String name) {
_log.info("ApiServiceMock => hello");
LOGGER.info("ApiServiceMock => hello");
return null;
}

View File

@ -1,21 +1,12 @@
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 {
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 启动完成 <<<<<");
}
public static void main(String[] args) {
com.alibaba.dubbo.container.Main.main(args);
}
}

View File

@ -1,11 +1,8 @@
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接口
@ -13,37 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
*/
public class ApiServiceImpl implements ApiService {
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;
private static final Logger LOGGER = LoggerFactory.getLogger(ApiServiceImpl.class);
@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://127.0.0.1:2181"/>
<dubbo:registry file="./zheng-api-dubbo.cache" address="zookeeper://zkserver:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>
<!-- 系统 -->
<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="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="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"/>
<!--&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"/>-->
</beans>

View File

@ -9,12 +9,14 @@
<dubbo:application name="zheng-api-rpc-service"/>
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<dubbo:registry address="zookeeper://zkserver: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 Logger _log = LoggerFactory.getLogger(TestController.class);
private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class);
@Autowired
private ApiService apiService;

View File

@ -15,25 +15,27 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
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();
}
}
}
});
}
@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();
}
}
}
});
}
}

View File

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

View File

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

View File

@ -1,5 +1,27 @@
app.name=zheng-api-server
profile.env=dev
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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=

View File

@ -1,5 +1,27 @@
app.name=zheng-api-server
profile.env=prod
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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=

View File

@ -1,5 +1,27 @@
app.name=zheng-api-server
profile.env=test
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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=

View File

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

View File

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

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

View File

@ -37,7 +37,7 @@ import java.util.Map;
@RequestMapping("/manage/article")
public class CmsArticleController extends BaseController {
private static Logger _log = LoggerFactory.getLogger(CmsArticleController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsCategoryController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsCommentController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsMenuController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsPageController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
result.put("rows", rows);
result.put("total", total);
return result;

View File

@ -9,6 +9,7 @@ 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;
@ -34,7 +35,7 @@ import java.util.Map;
@RequestMapping("/manage/setting")
public class CmsSettingController extends BaseController {
private static Logger _log = LoggerFactory.getLogger(CmsSettingController.class);
private static final Logger LOGGER = LoggerFactory.getLogger(CmsSettingController.class);
@Autowired
private CmsSettingService cmsSettingService;
@ -57,11 +58,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(sort + " " + order);
cmsSettingExample.setOrderByClause(StringUtil.humpToLine(sort) + " " + order);
}
List<CmsSetting> rows = cmsSettingService.selectByExampleForOffsetPage(cmsSettingExample, offset, limit);
long total = cmsSettingService.countByExample(cmsSettingExample);
Map<String, Object> result = new HashMap<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsTagController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
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 Logger _log = LoggerFactory.getLogger(CmsTopicController.class);
private static final Logger LOGGER = 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<>();
Map<String, Object> result = new HashMap<>(2);
result.put("rows", rows);
result.put("total", total);
return result;

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 Logger _log = LoggerFactory.getLogger(ManageInterceptor.class);
private static final Logger LOGGER = LoggerFactory.getLogger(ManageInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

View File

@ -15,19 +15,21 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static final Logger LOGGER = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
@Autowired
ThreadPoolTaskExecutor threadPoolTaskExecutor;
public void onMessage(final Message message) {
@Override
public void onMessage(final Message message) {
// 使用线程池多线程处理
threadPoolTaskExecutor.execute(new Runnable() {
public void run() {
@Override
public void run() {
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
try {
_log.info("消费消息:{}", textMessage.getText());
LOGGER.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://127.0.0.1:2181"/>
<dubbo:registry file="./zheng-cms-admin-dubbo.cache" address="zookeeper://zkserver:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>

View File

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

View File

@ -1,5 +1,39 @@
app.name=zheng-cms-admin
profile.env=dev
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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

View File

@ -1,5 +1,39 @@
app.name=zheng-cms-admin
profile.env=prod
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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

View File

@ -1,5 +1,39 @@
app.name=zheng-cms-admin
profile.env=test
zheng-admin.version=1.0.0
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### 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

View File

@ -1,7 +1,7 @@
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
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}

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

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

View File

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

View File

@ -1,17 +1,17 @@
# \u7EC8\u7AEF\u7C7B\u578B
upms.type=client
zheng.upms.type=${zheng.upms.type}
# \u7EC8\u7AEFsession\u540D\u79F0
upms.session.id=zheng-upms-client-session-id
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
sso.server.url=http://upms.zhangshuzheng.cn:1111
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
upms.successUrl=/manage/index
# \u672A\u6388\u6743\u5730\u5740
upms.unauthorizedUrl=/403
zheng.upms.session.id=${zheng.upms.session.id}
# \u4F1A\u8BDD\u65F6\u957F,\u534A\u5C0F\u65F6\uFF08\u5355\u4F4D\u6BEB\u79D2\uFF09
upms.session.timeout=1800000
zheng.upms.session.timeout=${zheng.upms.session.timeout}
# \u5355\u70B9\u767B\u5F55\u8BA4\u8BC1\u4E2D\u5FC3\u5730\u5740
zheng.upms.sso.server.url=${zheng.upms.sso.server.url}
# \u767B\u5F55\u6210\u529F\u56DE\u8C03\u5730\u5740
zheng.upms.successUrl=${zheng.upms.successUrl}
# \u672A\u6388\u6743\u5730\u5740
zheng.upms.unauthorizedUrl=${zheng.upms.unauthorizedUrl}
# \u8BB0\u4F4F\u5BC6\u7801\u65F6\u957F30\u5929
upms.rememberMe.timeout=2592000
zheng.upms.rememberMe.timeout=${zheng.upms.rememberMe.timeout}
# \u5B50\u7CFB\u7EDF
appID=zheng-cms-admin
appSecret=
zheng.upms.appID=${zheng.upms.appID}
zheng.upms.appSecret=${zheng.upms.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" 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">
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">
<!-- 强制进行转码 -->
<filter>
@ -46,6 +46,7 @@
<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,11 +6,29 @@ 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\://127.0.0.1\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
generator.jdbc.url=jdbc\:mysql\://dbserver\:3306/zheng?useUnicode\=true&characterEncoding\=utf-8&autoReconnect\=true
generator.jdbc.username=root
generator.jdbc.password=rWd3Hb+AzNg3IXF1b5vD+g==

View File

@ -15,19 +15,21 @@ import javax.jms.TextMessage;
*/
public class DefaultMessageQueueListener implements MessageListener {
private static Logger _log = LoggerFactory.getLogger(DefaultMessageQueueListener.class);
private static final Logger LOGGER = 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();
_log.info("消费:{}", text);
LOGGER.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://127.0.0.1:2181"/>
<dubbo:registry file="./zheng-cms-job-dubbo.cache" address="zookeeper://zkserver:2181"/>
<!-- 订阅服务 -->
<dubbo:consumer check="false"/>

View File

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

View File

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

View File

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

View File

@ -1,4 +1,5 @@
app.name=zheng-cms-job
profile.env=test
### activeMq
AvtiveMQ.brokerURL=failover:(tcp://127.0.0.1:61616?wireFormat.maxInactivityDuration=0)
##### activeMq #####
AvtiveMQ.brokerURL=failover:(tcp://mqserver: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_2_5.xsd"
version="2.5">
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<!-- 强制进行转码 -->
<filter>
@ -46,6 +46,7 @@
<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,16 +12,36 @@ 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 Logger _log = LoggerFactory.getLogger(CmsArticleServiceMock.class);
private static final Logger LOGGER = LoggerFactory.getLogger(CmsArticleServiceMock.class);
@Override
public List<CmsArticle> selectCmsArticlesByCategoryId(Integer categoryId, Integer offset, Integer limit) {
_log.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
LOGGER.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
return null;
}
@Override
public long countByCategoryId(Integer categoryId) {
_log.info("CmsArticleServiceMock => countByCategoryId");
LOGGER.info("CmsArticleServiceMock => countByCategoryId");
return 0;
}
@Override
public List<CmsArticle> selectCmsArticlesByTagId(Integer tagId, Integer offset, Integer limit) {
_log.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
LOGGER.info("CmsArticleServiceMock => getCmsArticlesByCategoryId");
return null;
}
@Override
public long countByTagId(Integer tagId) {
_log.info("CmsArticleServiceMock => countByTagId");
LOGGER.info("CmsArticleServiceMock => countByTagId");
return 0;
}

View File

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

View File

@ -1,21 +1,13 @@
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) {
_log.info(">>>>> zheng-cms-rpc-service 正在启动 <<<<<");
new ClassPathXmlApplicationContext("classpath:META-INF/spring/*.xml");
_log.info(">>>>> zheng-cms-rpc-service 启动完成 <<<<<");
com.alibaba.dubbo.container.Main.main(args);
}
}

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 Logger _log = LoggerFactory.getLogger(CmsArticleCategoryServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsArticleServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsArticleTagServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsCategoryServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsCategoryTagServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsCommentServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsMenuServiceImpl.class);
private static final Logger LOGGER = 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 Logger _log = LoggerFactory.getLogger(CmsPageServiceImpl.class);
private static final Logger LOGGER = LoggerFactory.getLogger(CmsPageServiceImpl.class);
@Autowired
CmsPageMapper cmsPageMapper;

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