Merge remote-tracking branch 'origin/master'

This commit is contained in:
zhujunjieit 2019-01-09 20:19:27 +08:00
commit 6ae2fb0921
18 changed files with 188 additions and 248 deletions

View File

@ -2,15 +2,15 @@
2018年度最受欢迎中国开源软件评选 2018年度最受欢迎中国开源软件评选
请给云企互联/RuoYi 投票,谢谢大家。 请给骏聪信息科技/RuoYi 投票,谢谢大家。
https://www.oschina.net/project/top_cn_2018?sort=1 https://www.oschina.net/project/top_cn_2018?sort=1
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了云企互联。她可以用于所有的Web应用程序如网站管理后台网站会员中心CMSCRMOA。所有前端后台代码封装过后十分精简易上手出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了骏聪信息科技。她可以用于所有的Web应用程序如网站管理后台网站会员中心CMSCRMOA。所有前端后台代码封装过后十分精简易上手出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
寓意:你若不离不弃,我必生死相依 寓意:你若不离不弃,我必生死相依
云企互联基于hplus和inspinia两套后台系统模板开发。有需要可自行到群内下载。 骏聪信息科技基于hplus和inspinia两套后台系统模板开发。有需要可自行到群内下载。
> RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需单应用,请移步 [RuoYi-fast](https://gitee.com/y_project/RuoYi-fast) > RuoYi从3.0开始,进行模块拆分,将原先的单应用转变为多模块,如需单应用,请移步 [RuoYi-fast](https://gitee.com/y_project/RuoYi-fast)
@ -71,6 +71,6 @@ https://www.oschina.net/project/top_cn_2018?sort=1
</table> </table>
## 云企互联交流群 ## 骏聪信息科技交流群
QQ群 [![加入QQ群](https://img.shields.io/badge/已满-1389287-blue.svg)](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [![加入QQ群](https://img.shields.io/badge/QQ群-1679294-blue.svg)](https://jq.qq.com/?_wv=1027&k=5cHeRVW) 点击按钮入群。 QQ群 [![加入QQ群](https://img.shields.io/badge/已满-1389287-blue.svg)](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [![加入QQ群](https://img.shields.io/badge/QQ群-1679294-blue.svg)](https://jq.qq.com/?_wv=1027&k=5cHeRVW) 点击按钮入群。

View File

@ -18,7 +18,7 @@ public class RuoYiApplication
{ {
// System.setProperty("spring.devtools.restart.enabled", "false"); // System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args); SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 云企互联启动成功 ლ(´ڡ`ლ)゙ \n" + System.out.println("(♥◠‿◠)ノ゙ 骏聪信息科技启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" + " .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" + " | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" + " | ( ' ) | \\ _. / ' \n" +

View File

@ -45,7 +45,7 @@ public class SwaggerConfig
{ {
// 用ApiInfoBuilder进行定制 // 用ApiInfoBuilder进行定制
return new ApiInfoBuilder() return new ApiInfoBuilder()
.title("标题:云企互联管理系统_接口文档") .title("标题:骏聪信息科技管理系统_接口文档")
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
.contact(new Contact(Global.getName(), null, null)) .contact(new Contact(Global.getName(), null, null))
.version("版本号:" + Global.getVersion()) .version("版本号:" + Global.getVersion())

View File

@ -6661,7 +6661,7 @@ body.rtls .top-navigation .footer.fixed, body.rtls.top-navigation .footer.fixed
} }
/* /*
* *
* SKIN blue 云企互联管理系统 * SKIN blue 骏聪信息科技管理系统
* NAME - blue/purple * NAME - blue/purple
* *
*/ */
@ -6804,7 +6804,7 @@ body.skin-blue {
} }
/* /*
* *
* SKIN Yellow 云企互联管理系统 * SKIN Yellow 骏聪信息科技管理系统
* NAME - Yellow/purple * NAME - Yellow/purple
* *
*/ */

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -792,7 +792,7 @@
/** 消息状态码 */ /** 消息状态码 */
web_status = { web_status = {
SUCCESS: 0, SUCCESS: 200,
FAIL: 500 FAIL: 500
}; };

View File

@ -4,9 +4,9 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="renderer" content="webkit"> <meta name="renderer" content="webkit">
<title>云企互联管理系统首页</title> <title>骏聪信息科技管理系统首页</title>
<meta name="keywords" content="云企互联管理系统首页"> <meta name="keywords" content="骏聪信息科技管理系统首页">
<meta name="description" content="云企互联管理系统首页"> <meta name="description" content="骏聪信息科技管理系统首页">
<!--[if lt IE 9]> <!--[if lt IE 9]>
<meta http-equiv="refresh" content="0;ie.html"/> <meta http-equiv="refresh" content="0;ie.html"/>
<![endif]--> <![endif]-->
@ -47,7 +47,7 @@
<li class="active"> <li class="active">
<a href="index.html"><i class="fa fa-home"></i> <span class="nav-label">主页</span> <span class="fa arrow"></span></a> <a href="index.html"><i class="fa fa-home"></i> <span class="nav-label">主页</span> <span class="fa arrow"></span></a>
<ul class="nav nav-second-level"> <ul class="nav nav-second-level">
<li class="active"><a class="menuItem" th:href="@{/system/main}">了解云企互联</a></li> <li class="active"><a class="menuItem" th:href="@{/system/main}">了解骏聪信息科技</a></li>
</ul> </ul>
</li> </li>
<li th:each="menu : ${menus}"> <li th:each="menu : ${menus}">
@ -89,7 +89,7 @@
</div> </div>
<ul class="nav navbar-top-links navbar-right welcome-message"> <ul class="nav navbar-top-links navbar-right welcome-message">
<li> <li>
<span class="m-r-sm text-muted">欢迎来到云企互联管理后台.</span> <span class="m-r-sm text-muted">欢迎来到骏聪信息科技管理后台.</span>
</li> </li>
<li><a id="fullScreen"><i class="fa fa-arrows-alt"></i>全屏</a></li> <li><a id="fullScreen"><i class="fa fa-arrows-alt"></i>全屏</a></li>
<li><a th:href="@{logout}"><i class="fa fa-sign-out"></i>退出</a></li> <li><a th:href="@{logout}"><i class="fa fa-sign-out"></i>退出</a></li>
@ -129,7 +129,7 @@
th:src="@{/system/main}" frameborder="0" seamless></iframe> th:src="@{/system/main}" frameborder="0" seamless></iframe>
</div> </div>
<div class="footer"> <div class="footer">
<div class="pull-right">© [[${copyrightYear}]] 云企互联 Copyright </div> <div class="pull-right">© [[${copyrightYear}]] 骏聪信息科技 Copyright </div>
</div> </div>
</div> </div>
<!--右侧部分结束--> <!--右侧部分结束-->

View File

@ -4,9 +4,9 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>云企互联管理系统</title> <title>骏聪信息科技管理系统</title>
<meta name="keywords" content="云企互联,云企互联开源,云企互联框架,云企互联系统,ruoyi"> <meta name="keywords" content="骏聪信息科技,骏聪信息科技开源,骏聪信息科技框架,骏聪信息科技系统,ruoyi">
<meta name="description" content="云企互联基于SpringBoot2.0的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖"> <meta name="description" content="骏聪信息科技基于SpringBoot2.0的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖">
<link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet"/> <link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet"/>
<link href="../static/css/font-awesome.min.css" th:href="@{css/font-awesome.min.css}" rel="stylesheet"/> <link href="../static/css/font-awesome.min.css" th:href="@{css/font-awesome.min.css}" rel="stylesheet"/>
<link href="../static/css/style.css" th:href="@{css/style.css}" rel="stylesheet"/> <link href="../static/css/style.css" th:href="@{css/style.css}" rel="stylesheet"/>
@ -30,24 +30,24 @@
<div class="col-sm-7"> <div class="col-sm-7">
<div class="signin-info"> <div class="signin-info">
<div class="logopanel m-b"> <div class="logopanel m-b">
<h1><img alt="[ 云企互联 ]" src="../static/ruoyi.png" th:src="@{/ruoyi.png}"></h1> <h1><img alt="[ 骏聪信息科技 ]" th:src="@{/juncong.png}" width="210px" height="200px"></h1>
</div> </div>
<div class="m-b"></div> <div class="m-b"></div>
<h4>欢迎使用 <strong>云企互联 后台管理系统</strong></h4> <h4>欢迎使用 <strong>骏聪信息科技 后台管理系统</strong></h4>
<ul class="m-b"> <ul class="m-b hide">
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Shiro</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Thymeleaf</li>
<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li> <li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Bootstrap</li>
</ul> </ul>
<strong>还没有账号? <a href="#">立即注册&raquo;</a></strong> <strong class="hide">还没有账号? <a href="#">立即注册&raquo;</a></strong>
</div> </div>
</div> </div>
<div class="col-sm-5"> <div class="col-sm-5">
<form id="signupForm"> <form id="signupForm">
<h4 class="no-margins">登录:</h4> <h4 class="no-margins">登录:</h4>
<p class="m-t-md">你若不离不弃,我必生死相依</p> <p class="m-t-md hide">你若不离不弃,我必生死相依</p>
<input type="text" name="username" class="form-control uname" placeholder="用户名" value="admin" /> <input type="text" name="username" class="form-control uname" placeholder="用户名" value="admin" />
<input type="password" name="password" class="form-control pword m-b" placeholder="密码" value="admin123" /> <input type="password" name="password" class="form-control pword m-b" placeholder="密码" value="admin123" />
<div class="row" th:if="${captchaEnabled==true}"> <div class="row" th:if="${captchaEnabled==true}">
@ -67,7 +67,7 @@
</div> </div>
<div class="signup-footer"> <div class="signup-footer">
<div class="pull-left"> <div class="pull-left">
&copy; 2018 All Rights Reserved. RuoYi <br> &copy; 2018 All Rights Reserved. 骏聪信息科技 <br>
<a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">粤ICP备18046899号</a><br> <a href="http://www.miitbeian.gov.cn/" target="_blank" rel="nofollow">粤ICP备18046899号</a><br>
</div> </div>
</div> </div>

View File

@ -1526,7 +1526,7 @@
<tr> <tr>
<td>获取渠道</td> <td>获取渠道</td>
<td style="padding-bottom: 0;"> <td style="padding-bottom: 0;">
云企互联 骏聪信息科技
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -13,6 +13,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.apache.poi.hssf.usermodel.DVConstraint; import org.apache.poi.hssf.usermodel.DVConstraint;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFCellStyle;
@ -40,108 +41,94 @@ import com.ruoyi.common.config.Global;
/** /**
* Excel相关处理 * Excel相关处理
* *
* @author ruoyi * @author ruoyi
*/ */
public class ExcelUtil<T> public class ExcelUtil<T> {
{
private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class); private static final Logger log = LoggerFactory.getLogger(ExcelUtil.class);
public Class<T> clazz; public Class<T> clazz;
public ExcelUtil(Class<T> clazz) public ExcelUtil(Class<T> clazz) {
{
this.clazz = clazz; this.clazz = clazz;
} }
/** /**
* 对excel表单默认第一个索引名转换成list * 对excel表单默认第一个索引名转换成list
* *
* @param input 输入流 * @param input 输入流
* @return 转换后集合 * @return 转换后集合
*/ */
public List<T> importExcel(InputStream input) throws Exception public List<T> importExcel(InputStream input) throws Exception {
{
return importExcel(StringUtils.EMPTY, input); return importExcel(StringUtils.EMPTY, input);
} }
/** /**
* 对excel表单指定表格索引名转换成list * 对excel表单指定表格索引名转换成list
* *
* @param sheetName 表格索引名 * @param sheetName 表格索引名
* @param input 输入流 * @param input 输入流
* @return 转换后集合 * @return 转换后集合
*/ */
public List<T> importExcel(String sheetName, InputStream input) throws Exception public List<T> importExcel(String sheetName, InputStream input) throws Exception {
{
List<T> list = new ArrayList<T>(); List<T> list = new ArrayList<T>();
Workbook workbook = WorkbookFactory.create(input); Workbook workbook = WorkbookFactory.create(input);
Sheet sheet = null; Sheet sheet = null;
if (StringUtils.isNotEmpty(sheetName)) if (StringUtils.isNotEmpty(sheetName)) {
{
// 如果指定sheet名,则取指定sheet中的内容. // 如果指定sheet名,则取指定sheet中的内容.
sheet = workbook.getSheet(sheetName); sheet = workbook.getSheet(sheetName);
} } else {
else
{
// 如果传入的sheet名不存在则默认指向第1个sheet. // 如果传入的sheet名不存在则默认指向第1个sheet.
sheet = workbook.getSheetAt(0); sheet = workbook.getSheetAt(0);
} }
if (sheet == null) if (sheet == null) {
{
throw new IOException("文件sheet不存在"); throw new IOException("文件sheet不存在");
} }
int rows = sheet.getPhysicalNumberOfRows(); int rows = sheet.getPhysicalNumberOfRows();
if (rows > 0) if (rows > 0) {
{
// 默认序号 // 默认序号
int serialNum = 0; int serialNum = 0;
// 有数据时才处理 得到类的所有field. // 有数据时才处理 得到类的所有field.
Field[] allFields = clazz.getDeclaredFields(); Field[] allFields = clazz.getDeclaredFields();
// 定义一个map用于存放列的序号和field. // 定义一个map用于存放列的序号和field.
Map<Integer, Field> fieldsMap = new HashMap<Integer, Field>(); Map<Integer, Field> fieldsMap = new HashMap<Integer, Field>();
for (int col = 0; col < allFields.length; col++) for (int col = 0; col < allFields.length; col++) {
{
Field field = allFields[col]; Field field = allFields[col];
// 将有注解的field存放到map中. // 将有注解的field存放到map中.
if (field.isAnnotationPresent(Excel.class)) if (field.isAnnotationPresent(Excel.class)) {
{
// 设置类的私有字段属性可访问. // 设置类的私有字段属性可访问.
field.setAccessible(true); field.setAccessible(true);
Excel annotation = field.getAnnotation(Excel.class); Excel annotation = field.getAnnotation(Excel.class);
fieldsMap.put(annotation.order(), field); fieldsMap.put(annotation.order(), field);
if(annotation.order()>serialNum){ if (annotation.order() > serialNum) {
serialNum=annotation.order(); serialNum = annotation.order();
} }
} }
} }
for (int i = 2; i < rows; i++) for (int i = 2; i < rows; i++) {
{
// 从第2行开始取数据,默认第一行是表头. // 从第2行开始取数据,默认第一行是表头.
Row row = sheet.getRow(i); Row row = sheet.getRow(i);
if (row == null) {
continue;
}
int cellNum = serialNum; int cellNum = serialNum;
T entity = null; T entity = null;
for (int j = 0; j < serialNum; j++) for (int j = 0; j < serialNum; j++) {
{
Cell cell = row.getCell(j); Cell cell = row.getCell(j);
if (cell == null) if (cell == null) {
{
continue; continue;
} } else {
else
{
// 先设置Cell的类型然后就可以把纯数字作为String类型读进来了 // 先设置Cell的类型然后就可以把纯数字作为String类型读进来了
row.getCell(j).setCellType(CellType.STRING); row.getCell(j).setCellType(CellType.STRING);
cell = row.getCell(j); cell = row.getCell(j);
} }
String c = cell.getStringCellValue(); String c = cell.getStringCellValue();
if (StringUtils.isEmpty(c)) if (StringUtils.isEmpty(c)) {
{
continue; continue;
} }
@ -149,62 +136,40 @@ public class ExcelUtil<T>
entity = (entity == null ? clazz.newInstance() : entity); entity = (entity == null ? clazz.newInstance() : entity);
// 从map中得到对应列的field. // 从map中得到对应列的field.
Field field = fieldsMap.get(j + 1); Field field = fieldsMap.get(j + 1);
if(field==null){ if (field == null) {
continue; continue;
} }
// 取得类型,并根据对象类型设置值. // 取得类型,并根据对象类型设置值.
Class<?> fieldType = field.getType(); Class<?> fieldType = field.getType();
if (String.class == fieldType) if (String.class == fieldType) {
{
field.set(entity, String.valueOf(c)); field.set(entity, String.valueOf(c));
} } else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType)) {
else if ((Integer.TYPE == fieldType) || (Integer.class == fieldType))
{
field.set(entity, Integer.parseInt(c)); field.set(entity, Integer.parseInt(c));
} } else if ((Long.TYPE == fieldType) || (Long.class == fieldType)) {
else if ((Long.TYPE == fieldType) || (Long.class == fieldType))
{
field.set(entity, Long.valueOf(c)); field.set(entity, Long.valueOf(c));
} } else if ((Float.TYPE == fieldType) || (Float.class == fieldType)) {
else if ((Float.TYPE == fieldType) || (Float.class == fieldType))
{
field.set(entity, Float.valueOf(c)); field.set(entity, Float.valueOf(c));
} } else if ((Short.TYPE == fieldType) || (Short.class == fieldType)) {
else if ((Short.TYPE == fieldType) || (Short.class == fieldType))
{
field.set(entity, Short.valueOf(c)); field.set(entity, Short.valueOf(c));
} } else if ((Double.TYPE == fieldType) || (Double.class == fieldType)) {
else if ((Double.TYPE == fieldType) || (Double.class == fieldType))
{
field.set(entity, Double.valueOf(c)); field.set(entity, Double.valueOf(c));
} } else if (Character.TYPE == fieldType) {
else if (Character.TYPE == fieldType) if ((c != null) && (c.length() > 0)) {
{
if ((c != null) && (c.length() > 0))
{
field.set(entity, Character.valueOf(c.charAt(0))); field.set(entity, Character.valueOf(c.charAt(0)));
} }
} } else if (java.util.Date.class == fieldType) {
else if (java.util.Date.class == fieldType) if (cell.getCellTypeEnum() == CellType.NUMERIC) {
{
if (cell.getCellTypeEnum() == CellType.NUMERIC)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
cell.setCellValue(sdf.format(cell.getNumericCellValue())); cell.setCellValue(sdf.format(cell.getNumericCellValue()));
c = sdf.format(cell.getNumericCellValue()); c = sdf.format(cell.getNumericCellValue());
} } else {
else
{
c = cell.getStringCellValue(); c = cell.getStringCellValue();
} }
} } else if (java.math.BigDecimal.class == fieldType) {
else if (java.math.BigDecimal.class == fieldType)
{
c = cell.getStringCellValue(); c = cell.getStringCellValue();
} }
} }
if (entity != null) if (entity != null) {
{
list.add(entity); list.add(entity);
} }
} }
@ -215,25 +180,21 @@ public class ExcelUtil<T>
/** /**
* 对list数据源将其里面的数据导入到excel表单 * 对list数据源将其里面的数据导入到excel表单
* *
* @param list 导出数据集合 * @param list 导出数据集合
* @param sheetName 工作表的名称 * @param sheetName 工作表的名称
* @return 结果 * @return 结果
*/ */
public AjaxResult exportExcel(List<T> list, String sheetName) public AjaxResult exportExcel(List<T> list, String sheetName) {
{
OutputStream out = null; OutputStream out = null;
HSSFWorkbook workbook = null; HSSFWorkbook workbook = null;
try try {
{
// 得到所有定义字段 // 得到所有定义字段
Field[] allFields = clazz.getDeclaredFields(); Field[] allFields = clazz.getDeclaredFields();
List<Field> fields = new ArrayList<Field>(); List<Field> fields = new ArrayList<Field>();
// 得到所有field并存放到一个list中. // 得到所有field并存放到一个list中.
for (Field field : allFields) for (Field field : allFields) {
{ if (field.isAnnotationPresent(Excel.class)) {
if (field.isAnnotationPresent(Excel.class))
{
fields.add(field); fields.add(field);
} }
} }
@ -244,16 +205,12 @@ public class ExcelUtil<T>
int sheetSize = 65536; int sheetSize = 65536;
// 取出一共有多少个sheet. // 取出一共有多少个sheet.
double sheetNo = Math.ceil(list.size() / sheetSize); double sheetNo = Math.ceil(list.size() / sheetSize);
for (int index = 0; index <= sheetNo; index++) for (int index = 0; index <= sheetNo; index++) {
{
// 产生工作表对象 // 产生工作表对象
HSSFSheet sheet = workbook.createSheet(); HSSFSheet sheet = workbook.createSheet();
if (sheetNo == 0) if (sheetNo == 0) {
{
workbook.setSheetName(index, sheetName); workbook.setSheetName(index, sheetName);
} } else {
else
{
// 设置工作表的名称. // 设置工作表的名称.
workbook.setSheetName(index, sheetName + index); workbook.setSheetName(index, sheetName + index);
} }
@ -263,8 +220,7 @@ public class ExcelUtil<T>
// 产生一行 // 产生一行
row = sheet.createRow(0); row = sheet.createRow(0);
// 写入各个字段的列头名称 // 写入各个字段的列头名称
for (int i = 0; i < fields.size(); i++) for (int i = 0; i < fields.size(); i++) {
{
Field field = fields.get(i); Field field = fields.get(i);
Excel attr = field.getAnnotation(Excel.class); Excel attr = field.getAnnotation(Excel.class);
// 创建列 // 创建列
@ -274,16 +230,13 @@ public class ExcelUtil<T>
HSSFCellStyle cellStyle = workbook.createCellStyle(); HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HorizontalAlignment.CENTER); cellStyle.setAlignment(HorizontalAlignment.CENTER);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
if (attr.name().indexOf("注:") >= 0) if (attr.name().indexOf("注:") >= 0) {
{
HSSFFont font = workbook.createFont(); HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED); font.setColor(HSSFFont.COLOR_RED);
cellStyle.setFont(font); cellStyle.setFont(font);
cellStyle.setFillForegroundColor(HSSFColorPredefined.YELLOW.getIndex()); cellStyle.setFillForegroundColor(HSSFColorPredefined.YELLOW.getIndex());
sheet.setColumnWidth(i, 6000); sheet.setColumnWidth(i, 6000);
} } else {
else
{
HSSFFont font = workbook.createFont(); HSSFFont font = workbook.createFont();
// 粗体显示 // 粗体显示
font.setBold(true); font.setBold(true);
@ -302,14 +255,12 @@ public class ExcelUtil<T>
cell.setCellValue(attr.name()); cell.setCellValue(attr.name());
// 如果设置了提示信息则鼠标放上去提示. // 如果设置了提示信息则鼠标放上去提示.
if (StringUtils.isNotEmpty(attr.prompt())) if (StringUtils.isNotEmpty(attr.prompt())) {
{
// 这里默认设了2-101列提示. // 这里默认设了2-101列提示.
setHSSFPrompt(sheet, "", attr.prompt(), 1, 100, i, i); setHSSFPrompt(sheet, "", attr.prompt(), 1, 100, i, i);
} }
// 如果设置了combo属性则本列只能选择不能输入 // 如果设置了combo属性则本列只能选择不能输入
if (attr.combo().length > 0) if (attr.combo().length > 0) {
{
// 这里默认设了2-101列只能选择不能输入. // 这里默认设了2-101列只能选择不能输入.
setHSSFValidation(sheet, attr.combo(), 1, 100, i, i); setHSSFValidation(sheet, attr.combo(), 1, 100, i, i);
} }
@ -321,30 +272,25 @@ public class ExcelUtil<T>
HSSFCellStyle cs = workbook.createCellStyle(); HSSFCellStyle cs = workbook.createCellStyle();
cs.setAlignment(HorizontalAlignment.CENTER); cs.setAlignment(HorizontalAlignment.CENTER);
cs.setVerticalAlignment(VerticalAlignment.CENTER); cs.setVerticalAlignment(VerticalAlignment.CENTER);
for (int i = startNo; i < endNo; i++) for (int i = startNo; i < endNo; i++) {
{
row = sheet.createRow(i + 1 - startNo); row = sheet.createRow(i + 1 - startNo);
// 得到导出对象. // 得到导出对象.
T vo = (T) list.get(i); T vo = (T) list.get(i);
for (int j = 0; j < fields.size(); j++) for (int j = 0; j < fields.size(); j++) {
{
// 获得field. // 获得field.
Field field = fields.get(j); Field field = fields.get(j);
// 设置实体类私有属性可访问 // 设置实体类私有属性可访问
field.setAccessible(true); field.setAccessible(true);
Excel attr = field.getAnnotation(Excel.class); Excel attr = field.getAnnotation(Excel.class);
try try {
{
// 设置行高 // 设置行高
row.setHeight((short) (attr.height() * 20)); row.setHeight((short) (attr.height() * 20));
// 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列. // 根据Excel中设置情况决定是否导出,有些情况需要保持为空,希望用户填写这一列.
if (attr.isExport()) if (attr.isExport()) {
{
// 创建cell // 创建cell
cell = row.createCell(j); cell = row.createCell(j);
cell.setCellStyle(cs); cell.setCellStyle(cs);
if (vo == null) if (vo == null) {
{
// 如果数据存在就填入,不存在填入空格. // 如果数据存在就填入,不存在填入空格.
cell.setCellValue(""); cell.setCellValue("");
continue; continue;
@ -352,24 +298,17 @@ public class ExcelUtil<T>
String dateFormat = attr.dateFormat(); String dateFormat = attr.dateFormat();
String readConverterExp = attr.readConverterExp(); String readConverterExp = attr.readConverterExp();
if (StringUtils.isNotEmpty(dateFormat)) if (StringUtils.isNotEmpty(dateFormat)) {
{
cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) field.get(vo))); cell.setCellValue(DateUtils.parseDateToStr(dateFormat, (Date) field.get(vo)));
} } else if (StringUtils.isNotEmpty(readConverterExp)) {
else if (StringUtils.isNotEmpty(readConverterExp))
{
cell.setCellValue(convertByExp(String.valueOf(field.get(vo)), readConverterExp)); cell.setCellValue(convertByExp(String.valueOf(field.get(vo)), readConverterExp));
} } else {
else
{
cell.setCellType(CellType.STRING); cell.setCellType(CellType.STRING);
// 如果数据存在就填入,不存在填入空格. // 如果数据存在就填入,不存在填入空格.
cell.setCellValue(StringUtils.isNull(field.get(vo)) ? attr.defaultValue() : field.get(vo) + attr.suffix()); cell.setCellValue(StringUtils.isNull(field.get(vo)) ? attr.defaultValue() : field.get(vo) + attr.suffix());
} }
} }
} } catch (Exception e) {
catch (Exception e)
{
log.error("导出Excel失败{}", e.getMessage()); log.error("导出Excel失败{}", e.getMessage());
} }
} }
@ -379,33 +318,21 @@ public class ExcelUtil<T>
out = new FileOutputStream(getAbsoluteFile(filename)); out = new FileOutputStream(getAbsoluteFile(filename));
workbook.write(out); workbook.write(out);
return AjaxResult.success(filename); return AjaxResult.success(filename);
} } catch (Exception e) {
catch (Exception e)
{
log.error("导出Excel异常{}", e.getMessage()); log.error("导出Excel异常{}", e.getMessage());
return AjaxResult.error("导出Excel失败请联系网站管理员"); return AjaxResult.error("导出Excel失败请联系网站管理员");
} } finally {
finally if (workbook != null) {
{ try {
if (workbook != null)
{
try
{
workbook.close(); workbook.close();
} } catch (IOException e1) {
catch (IOException e1)
{
e1.printStackTrace(); e1.printStackTrace();
} }
} }
if (out != null) if (out != null) {
{ try {
try
{
out.close(); out.close();
} } catch (IOException e1) {
catch (IOException e1)
{
e1.printStackTrace(); e1.printStackTrace();
} }
} }
@ -414,19 +341,18 @@ public class ExcelUtil<T>
/** /**
* 设置单元格上提示 * 设置单元格上提示
* *
* @param sheet 要设置的sheet. * @param sheet 要设置的sheet.
* @param promptTitle 标题 * @param promptTitle 标题
* @param promptContent 内容 * @param promptContent 内容
* @param firstRow 开始行 * @param firstRow 开始行
* @param endRow 结束行 * @param endRow 结束行
* @param firstCol 开始列 * @param firstCol 开始列
* @param endCol 结束列 * @param endCol 结束列
* @return 设置好的sheet. * @return 设置好的sheet.
*/ */
public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle, String promptContent, int firstRow, public static HSSFSheet setHSSFPrompt(HSSFSheet sheet, String promptTitle, String promptContent, int firstRow,
int endRow, int firstCol, int endCol) int endRow, int firstCol, int endCol) {
{
// 构造constraint对象 // 构造constraint对象
DVConstraint constraint = DVConstraint.createCustomFormulaConstraint("DD1"); DVConstraint constraint = DVConstraint.createCustomFormulaConstraint("DD1");
// 四个参数分别是起始行终止行起始列终止列 // 四个参数分别是起始行终止行起始列终止列
@ -440,18 +366,17 @@ public class ExcelUtil<T>
/** /**
* 设置某些列的值只能输入预制的数据,显示下拉框. * 设置某些列的值只能输入预制的数据,显示下拉框.
* *
* @param sheet 要设置的sheet. * @param sheet 要设置的sheet.
* @param textlist 下拉框显示的内容 * @param textlist 下拉框显示的内容
* @param firstRow 开始行 * @param firstRow 开始行
* @param endRow 结束行 * @param endRow 结束行
* @param firstCol 开始列 * @param firstCol 开始列
* @param endCol 结束列 * @param endCol 结束列
* @return 设置好的sheet. * @return 设置好的sheet.
*/ */
public static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, int firstRow, int endRow, public static HSSFSheet setHSSFValidation(HSSFSheet sheet, String[] textlist, int firstRow, int endRow,
int firstCol, int endCol) int firstCol, int endCol) {
{
// 加载下拉列表内容 // 加载下拉列表内容
DVConstraint constraint = DVConstraint.createExplicitListConstraint(textlist); DVConstraint constraint = DVConstraint.createExplicitListConstraint(textlist);
// 设置数据有效性加载在哪个单元格上,四个参数分别是起始行终止行起始列终止列 // 设置数据有效性加载在哪个单元格上,四个参数分别是起始行终止行起始列终止列
@ -461,31 +386,25 @@ public class ExcelUtil<T>
sheet.addValidationData(dataValidationList); sheet.addValidationData(dataValidationList);
return sheet; return sheet;
} }
/** /**
* 解析导出值 0=,1=,2=未知 * 解析导出值 0=,1=,2=未知
* *
* @param propertyValue 参数值 * @param propertyValue 参数值
* @param converterExp 翻译注解 * @param converterExp 翻译注解
* @return 解析后值 * @return 解析后值
* @throws Exception * @throws Exception
*/ */
public static String convertByExp(String propertyValue, String converterExp) throws Exception public static String convertByExp(String propertyValue, String converterExp) throws Exception {
{ try {
try
{
String[] convertSource = converterExp.split(","); String[] convertSource = converterExp.split(",");
for (String item : convertSource) for (String item : convertSource) {
{
String[] itemArray = item.split("="); String[] itemArray = item.split("=");
if (itemArray[0].equals(propertyValue)) if (itemArray[0].equals(propertyValue)) {
{
return itemArray[1]; return itemArray[1];
} }
} }
} } catch (Exception e) {
catch (Exception e)
{
throw e; throw e;
} }
return propertyValue; return propertyValue;
@ -494,23 +413,20 @@ public class ExcelUtil<T>
/** /**
* 编码文件名 * 编码文件名
*/ */
public String encodingFilename(String filename) public String encodingFilename(String filename) {
{
filename = UUID.randomUUID().toString() + "_" + filename + ".xls"; filename = UUID.randomUUID().toString() + "_" + filename + ".xls";
return filename; return filename;
} }
/** /**
* 获取下载路径 * 获取下载路径
* *
* @param filename 文件名称 * @param filename 文件名称
*/ */
public String getAbsoluteFile(String filename) public String getAbsoluteFile(String filename) {
{
String downloadPath = Global.getDownloadPath() + filename; String downloadPath = Global.getDownloadPath() + filename;
File desc = new File(downloadPath); File desc = new File(downloadPath);
if (!desc.getParentFile().exists()) if (!desc.getParentFile().exists()) {
{
desc.getParentFile().mkdirs(); desc.getParentFile().mkdirs();
} }
return downloadPath; return downloadPath;

View File

@ -25,6 +25,10 @@ private static final long serialVersionUID = 1L;
private Integer examPaperId; private Integer examPaperId;
/** 试卷名称 */ /** 试卷名称 */
private String name; private String name;
/**
* 考试类型(1-模拟考试2-正式考试)
*/
private String type;
/** 是否控制开始结束时间0-不控制,1-控制) */ /** 是否控制开始结束时间0-不控制,1-控制) */
private String enableControlTime; private String enableControlTime;
/** 开始时间 */ /** 开始时间 */
@ -108,6 +112,14 @@ private static final long serialVersionUID = 1L;
this.enableControlTime = enableControlTime; this.enableControlTime = enableControlTime;
} }
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
/** 获取是否控制开始结束时间0-不控制,1-控制) */ /** 获取是否控制开始结束时间0-不控制,1-控制) */
public String getEnableControlTime() public String getEnableControlTime()
{ {

View File

@ -4,7 +4,8 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.base.BaseEntity; import com.ruoyi.common.base.BaseEntity;
import javax.persistence.Id; import javax.persistence.Id;
import java.util.Date; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 练习表 exam_practice * 练习表 exam_practice
@ -23,8 +24,10 @@ private static final long serialVersionUID = 1L;
private Integer deptId; private Integer deptId;
/** 练习名称 */ /** 练习名称 */
private String name; private String name;
/** 是否控制开始结束时间0-不控制,1-控制) */ /**
* 价格
*/
private BigDecimal price;
/** 是否控制开始结束时间0-不控制,1-控制) */ /** 是否控制开始结束时间0-不控制,1-控制) */
private String enableControlTime; private String enableControlTime;
/** 开始时间 */ /** 开始时间 */
@ -45,8 +48,16 @@ private static final long serialVersionUID = 1L;
private String remarks; private String remarks;
/** 删除标记 */ /** 删除标记 */
private String delFlag; private String delFlag;
/** 设置练习ID */ public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
/** 设置练习ID */
public void setId(Integer id) public void setId(Integer id)
{ {
this.id = id; this.id = id;

View File

@ -9,6 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="deptId" column="dept_id" /> <result property="deptId" column="dept_id" />
<result property="examPaperId" column="exam_paper_id" /> <result property="examPaperId" column="exam_paper_id" />
<result property="name" column="name" /> <result property="name" column="name" />
<result property="type" column="type" />
<result property="enableControlTime" column="enable_control_time" /> <result property="enableControlTime" column="enable_control_time" />
<result property="startTime" column="start_time" /> <result property="startTime" column="start_time" />
<result property="endTime" column="end_time" /> <result property="endTime" column="end_time" />
@ -28,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectExamExaminationVo"> <sql id="selectExamExaminationVo">
id, dept_id, exam_paper_id, name, enable_control_time, start_time, end_time, time_length, exam_number, pass_mark, question_disorder, finished_paper, exam_end, examination_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag </sql> id, dept_id, exam_paper_id, name,type, enable_control_time, start_time, end_time, time_length, exam_number, pass_mark, question_disorder, finished_paper, exam_end, examination_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag </sql>
<select id="selectExamExaminationList" parameterType="ExamExamination" resultMap="ExamExaminationResult"> <select id="selectExamExaminationList" parameterType="ExamExamination" resultMap="ExamExaminationResult">
select select

View File

@ -21,7 +21,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectExamPracticeVo"> <sql id="selectExamPracticeVo">
id, dept_id, name, enable_control_time, start_time, end_time, practice_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag </sql> id, dept_id, name,enable_control_time, start_time, end_time, practice_user_limit, create_by, create_date, update_by, update_date, remarks, del_flag </sql>
<select id="selectExamPracticeList" parameterType="ExamPractice" resultMap="ExamPracticeResult"> <select id="selectExamPracticeList" parameterType="ExamPractice" resultMap="ExamPracticeResult">
select select

View File

@ -237,7 +237,7 @@ public class ShiroConfig
LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>(); LinkedHashMap<String, String> filterChainDefinitionMap = new LinkedHashMap<>();
// 对静态资源设置匿名访问 // 对静态资源设置匿名访问
filterChainDefinitionMap.put("/favicon.ico**", "anon"); filterChainDefinitionMap.put("/favicon.ico**", "anon");
filterChainDefinitionMap.put("/ruoyi.png**", "anon"); filterChainDefinitionMap.put("/juncong.png**", "anon");
filterChainDefinitionMap.put("/css/**", "anon"); filterChainDefinitionMap.put("/css/**", "anon");
filterChainDefinitionMap.put("/docs/**", "anon"); filterChainDefinitionMap.put("/docs/**", "anon");
filterChainDefinitionMap.put("/fonts/**", "anon"); filterChainDefinitionMap.put("/fonts/**", "anon");

View File

@ -1,5 +1,5 @@
package com.ruoyi.framework.jwt; package com.ruoyi.framework.jwt;
import com.auth0.jwt.JWT; import com.auth0.jwt.JWT;
import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.JWTVerifier;
import com.auth0.jwt.algorithms.Algorithm; import com.auth0.jwt.algorithms.Algorithm;
@ -8,16 +8,16 @@ import com.auth0.jwt.interfaces.DecodedJWT;
import com.ruoyi.framework.web.util.ServletUtils; import com.ruoyi.framework.web.util.ServletUtils;
import java.util.Date; import java.util.Date;
/** /**
* @author Mr.Li * @author Mr.Li
* @create 2018-07-12 14:23 * @create 2018-07-12 14:23
* @desc JWT工具类 * @desc JWT工具类
**/ **/
public class JwtUtil { public class JwtUtil {
private static final long EXPIRE_TIME = 5 * 60 * 1000; private static final long EXPIRE_TIME = 5 * 60 * 1000;
/** /**
* 校验token是否正确 * 校验token是否正确
* *
@ -39,7 +39,7 @@ public class JwtUtil {
return false; return false;
} }
} }
/** /**
* 获得token中的信息无需secret解密也能获得 * 获得token中的信息无需secret解密也能获得
* *
@ -47,14 +47,14 @@ public class JwtUtil {
*/ */
public static String getLoginName() { public static String getLoginName() {
try { try {
String token = ServletUtils.getRequest().getHeader("Authorization"); String token = ServletUtils.getRequest().getHeader("token");
DecodedJWT jwt = JWT.decode(token); DecodedJWT jwt = JWT.decode(token);
return jwt.getClaim("loginName").asString(); return jwt.getClaim("loginName").asString();
} catch (JWTDecodeException e) { } catch (JWTDecodeException e) {
return null; return null;
} }
} }
/** /**
* 生成签名,5min后过期 * 生成签名,5min后过期
* *
@ -70,6 +70,6 @@ public class JwtUtil {
.withClaim("loginName", loginName) .withClaim("loginName", loginName)
.withExpiresAt(date) .withExpiresAt(date)
.sign(algorithm); .sign(algorithm);
} }
} }

View File

@ -23,16 +23,16 @@ create table sys_dept (
-- ---------------------------- -- ----------------------------
-- 初始化-部门表数据 -- 初始化-部门表数据
-- ---------------------------- -- ----------------------------
insert into sys_dept values(100, 0, '0', '云企互联科技', 0, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(100, 0, '0', '骏聪信息科技科技', 0, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
-- ---------------------------- -- ----------------------------
-- 2、用户信息表 -- 2、用户信息表
@ -65,8 +65,8 @@ create table sys_user (
-- ---------------------------- -- ----------------------------
-- 初始化-用户信息表数据 -- 初始化-用户信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_user values(1, 103, 'admin', '云企互联', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_user values(1, 103, 'admin', '骏聪信息科技', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
insert into sys_user values(2, 105, 'ry', '云企互联', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员'); insert into sys_user values(2, 105, 'ry', '骏聪信息科技', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员');
-- ---------------------------- -- ----------------------------
@ -616,5 +616,5 @@ create table sys_notice (
-- ---------------------------- -- ----------------------------
-- 初始化-公告信息表数据 -- 初始化-公告信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_notice values('1', '温馨提醒2018-07-01 云企互联新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_notice values('1', '温馨提醒2018-07-01 骏聪信息科技新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
insert into sys_notice values('2', '维护通知2018-07-01 云企互联系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_notice values('2', '维护通知2018-07-01 骏聪信息科技系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');

View File

@ -23,16 +23,16 @@ create table sys_dept (
-- ---------------------------- -- ----------------------------
-- 初始化-部门表数据 -- 初始化-部门表数据
-- ---------------------------- -- ----------------------------
insert into sys_dept values(100, 0, '0', '云企互联科技', 0, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(100, 0, '0', '骏聪信息科技科技', 0, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(101, 100, '0,100', '深圳总公司', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(102, 100, '0,100', '长沙分公司', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(103, 101, '0,100,101', '研发部门', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(104, 101, '0,100,101', '市场部门', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(105, 101, '0,100,101', '测试部门', 3, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(106, 101, '0,100,101', '财务部门', 4, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(107, 101, '0,100,101', '运维部门', 5, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(108, 102, '0,100,102', '市场部门', 1, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '云企互联', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00'); insert into sys_dept values(109, 102, '0,100,102', '财务部门', 2, '骏聪信息科技', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00');
-- ---------------------------- -- ----------------------------
-- 2、用户信息表 -- 2、用户信息表
@ -65,8 +65,8 @@ create table sys_user (
-- ---------------------------- -- ----------------------------
-- 初始化-用户信息表数据 -- 初始化-用户信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_user values(1, 103, 'admin', '云企互联', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_user values(1, 103, 'admin', '骏聪信息科技', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
insert into sys_user values(2, 105, 'ry', '云企互联', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员'); insert into sys_user values(2, 105, 'ry', '骏聪信息科技', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '0', '0', '127.0.0.1', '2018-03-16 11-33-00', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '测试员');
-- ---------------------------- -- ----------------------------
@ -618,5 +618,5 @@ create table sys_notice (
-- ---------------------------- -- ----------------------------
-- 初始化-公告信息表数据 -- 初始化-公告信息表数据
-- ---------------------------- -- ----------------------------
insert into sys_notice values('1', '温馨提醒2018-07-01 云企互联新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_notice values('1', '温馨提醒2018-07-01 骏聪信息科技新版本发布啦', '2', '新版本内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');
insert into sys_notice values('2', '维护通知2018-07-01 云企互联系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员'); insert into sys_notice values('2', '维护通知2018-07-01 骏聪信息科技系统凌晨维护', '1', '维护内容', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '管理员');