Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
JAVA小学生-王铁柱
eladmin
提交
f9bb8cf2
E
eladmin
项目概览
JAVA小学生-王铁柱
/
eladmin
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
eladmin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f9bb8cf2
编写于
9月 26, 2019
作者:
D
dqjdda
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复定时任务执行失败后还继续执行的bug,优化Redis发生异常时,程序正常执行,优化Excel大数据导出,优化QueryHelp,其他细节优化
上级
a481b16b
变更
25
隐藏空白更改
内联
并排
Showing
25 changed file
with
137 addition
and
87 deletion
+137
-87
eladmin-common/src/main/java/me/zhengjie/redis/RedisConfig.java
...n-common/src/main/java/me/zhengjie/redis/RedisConfig.java
+34
-4
eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
+10
-13
eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
+3
-9
eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
...min-common/src/main/java/me/zhengjie/utils/QueryHelp.java
+19
-8
eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java
.../me/zhengjie/modules/quartz/service/QuartzJobService.java
+1
-1
eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java
...c/main/java/me/zhengjie/modules/quartz/task/TestTask.java
+1
-0
eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
...n/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
+2
-2
eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
...java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
+10
-12
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
.../java/me/zhengjie/modules/system/rest/UserController.java
+2
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
.../java/me/zhengjie/modules/system/service/DeptService.java
+3
-3
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java
...me/zhengjie/modules/system/service/DictDetailService.java
+1
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java
.../java/me/zhengjie/modules/system/service/DictService.java
+1
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java
.../java/me/zhengjie/modules/system/service/MenuService.java
+1
-1
eladmin-system/src/main/java/me/zhengjie/modules/system/service/PermissionService.java
...me/zhengjie/modules/system/service/PermissionService.java
+2
-2
eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
.../java/me/zhengjie/modules/system/service/RoleService.java
+4
-4
eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
.../java/me/zhengjie/modules/system/service/UserService.java
+4
-3
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
...zhengjie/modules/system/service/impl/UserServiceImpl.java
+1
-1
eladmin-system/src/main/resources/log4jdbc.log4j2.properties
eladmin-system/src/main/resources/log4jdbc.log4j2.properties
+3
-1
eladmin-system/src/main/resources/template/generator/admin/Service.ftl
...m/src/main/resources/template/generator/admin/Service.ftl
+15
-13
eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl
...c/main/resources/template/generator/admin/ServiceImpl.ftl
+4
-2
eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
...ols/src/main/java/me/zhengjie/rest/PictureController.java
+1
-1
eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java
...rc/main/java/me/zhengjie/service/LocalStorageService.java
+2
-2
eladmin-tools/src/main/java/me/zhengjie/service/PictureService.java
...ols/src/main/java/me/zhengjie/service/PictureService.java
+1
-1
eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
...tools/src/main/java/me/zhengjie/service/QiNiuService.java
+1
-1
pom.xml
pom.xml
+11
-0
未找到文件。
eladmin-common/src/main/java/me/zhengjie/redis/RedisConfig.java
浏览文件 @
f9bb8cf2
...
...
@@ -3,14 +3,14 @@ package me.zhengjie.redis;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.parser.ParserConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhengjie.utils.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.data.redis.RedisProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.cache.Cache
;
import
org.springframework.cache.annotation.CachingConfigurerSupport
;
import
org.springframework.cache.annotation.EnableCaching
;
import
org.springframework.cache.interceptor.CacheErrorHandler
;
import
org.springframework.cache.interceptor.KeyGenerator
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
...
...
@@ -74,8 +74,8 @@ public class RedisConfig extends CachingConfigurerSupport {
}
/**
* 自定义缓存key生成策略
* 使用方法 @Cacheable
(keyGenerator="keyGenerator")
* 自定义缓存key生成策略
,默认将使用该策略
* 使用方法 @Cacheable
* @return
*/
@Bean
...
...
@@ -91,4 +91,34 @@ public class RedisConfig extends CachingConfigurerSupport {
return
sb
.
toString
();
};
}
@Bean
@Override
public
CacheErrorHandler
errorHandler
()
{
// 异常处理,当Redis发生异常时,打印日志,但是程序正常走
log
.
info
(
"初始化 -> [{}]"
,
"Redis CacheErrorHandler"
);
CacheErrorHandler
cacheErrorHandler
=
new
CacheErrorHandler
()
{
@Override
public
void
handleCacheGetError
(
RuntimeException
e
,
Cache
cache
,
Object
key
)
{
log
.
error
(
"Redis occur handleCacheGetError:key -> [{}]"
,
key
,
e
);
}
@Override
public
void
handleCachePutError
(
RuntimeException
e
,
Cache
cache
,
Object
key
,
Object
value
)
{
log
.
error
(
"Redis occur handleCachePutError:key -> [{}];value -> [{}]"
,
key
,
value
,
e
);
}
@Override
public
void
handleCacheEvictError
(
RuntimeException
e
,
Cache
cache
,
Object
key
)
{
log
.
error
(
"Redis occur handleCacheEvictError:key -> [{}]"
,
key
,
e
);
}
@Override
public
void
handleCacheClearError
(
RuntimeException
e
,
Cache
cache
)
{
log
.
error
(
"Redis occur handleCacheClearError:"
,
e
);
}
};
return
cacheErrorHandler
;
}
}
eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
浏览文件 @
f9bb8cf2
...
...
@@ -3,6 +3,7 @@ package me.zhengjie.utils;
import
cn.hutool.core.codec.Base64
;
import
cn.hutool.core.io.IoUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.poi.excel.BigExcelWriter
;
import
cn.hutool.poi.excel.ExcelUtil
;
import
cn.hutool.poi.excel.ExcelWriter
;
import
me.zhengjie.exception.BadRequestException
;
...
...
@@ -197,24 +198,20 @@ public class FileUtil extends cn.hutool.core.io.FileUtil {
* @return
* @throws Exception
*/
public
static
void
downloadExcel
(
List
<
Map
<
String
,
Object
>>
list
,
HttpServletResponse
response
){
// 通过工具类创建writer
ExcelWriter
writer
=
ExcelUtil
.
getWriter
();
public
static
void
downloadExcel
(
List
<
Map
<
String
,
Object
>>
list
,
HttpServletResponse
response
)
throws
IOException
{
String
tempPath
=
System
.
getProperty
(
"java.io.tmpdir"
)
+
IdUtil
.
fastSimpleUUID
()
+
".xlsx"
;
File
file
=
new
File
(
tempPath
);
BigExcelWriter
writer
=
ExcelUtil
.
getBigWriter
(
file
);
// 一次性写出内容,使用默认样式,强制输出标题
writer
.
write
(
list
,
true
);
//response为HttpServletResponse对象
response
.
setContentType
(
"application/vnd.
ms-excel
;charset=utf-8"
);
response
.
setContentType
(
"application/vnd.
openxmlformats-officedocument.spreadsheetml.sheet
;charset=utf-8"
);
//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename=file.xls"
);
ServletOutputStream
out
=
null
;
try
{
out
=
response
.
getOutputStream
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename=file.xlsx"
);
ServletOutputStream
out
=
response
.
getOutputStream
();
// 终止后删除临时文件
file
.
deleteOnExit
();
writer
.
flush
(
out
,
true
);
// 关闭writer,释放内存
writer
.
close
();
//此处记得关闭输出Servlet流
IoUtil
.
close
(
out
);
}
...
...
eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java
浏览文件 @
f9bb8cf2
package
me.zhengjie.utils
;
import
org.springframework.data.domain.Page
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* 分页工具
...
...
@@ -39,11 +36,9 @@ public class PageUtil extends cn.hutool.core.util.PageUtil {
* @return
*/
public
static
Map
toPage
(
Page
page
)
{
Map
map
=
new
HashMap
();
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>(
2
);
map
.
put
(
"content"
,
page
.
getContent
());
map
.
put
(
"totalElements"
,
page
.
getTotalElements
());
return
map
;
}
...
...
@@ -53,8 +48,7 @@ public class PageUtil extends cn.hutool.core.util.PageUtil {
* @return
*/
public
static
Map
toPage
(
Object
object
,
Object
totalElements
)
{
Map
map
=
new
HashMap
();
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>(
2
);
map
.
put
(
"content"
,
object
);
map
.
put
(
"totalElements"
,
totalElements
);
...
...
eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
浏览文件 @
f9bb8cf2
...
...
@@ -41,7 +41,7 @@ public class QueryHelp {
String
attributeName
=
isBlank
(
propName
)
?
field
.
getName
()
:
propName
;
Class
<?>
fieldType
=
field
.
getType
();
Object
val
=
field
.
get
(
query
);
if
(
ObjectUtil
.
isNull
(
val
))
{
if
(
ObjectUtil
.
isNull
(
val
)
||
""
.
equals
(
val
)
)
{
continue
;
}
Join
join
=
null
;
...
...
@@ -58,13 +58,24 @@ public class QueryHelp {
continue
;
}
if
(
ObjectUtil
.
isNotEmpty
(
joinName
))
{
switch
(
q
.
join
())
{
case
LEFT:
join
=
root
.
join
(
joinName
,
JoinType
.
LEFT
);
break
;
case
RIGHT:
join
=
root
.
join
(
joinName
,
JoinType
.
RIGHT
);
break
;
String
[]
joinNames
=
joinName
.
split
(
">"
);
for
(
String
name
:
joinNames
)
{
switch
(
q
.
join
())
{
case
LEFT:
if
(
ObjectUtil
.
isNotEmpty
(
join
)){
join
=
join
.
join
(
name
,
JoinType
.
LEFT
);
}
else
{
join
=
root
.
join
(
name
,
JoinType
.
LEFT
);
}
break
;
case
RIGHT:
if
(
ObjectUtil
.
isNotEmpty
(
join
)){
join
=
join
.
join
(
name
,
JoinType
.
RIGHT
);
}
else
{
join
=
root
.
join
(
name
,
JoinType
.
RIGHT
);
}
break
;
}
}
}
switch
(
q
.
type
())
{
...
...
eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java
浏览文件 @
f9bb8cf2
...
...
@@ -21,7 +21,7 @@ public interface QuartzJobService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
JobQueryCriteria
criteria
,
Pageable
pageable
);
/**
...
...
eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java
浏览文件 @
f9bb8cf2
package
me.zhengjie.modules.quartz.task
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhengjie.exception.BadRequestException
;
import
org.springframework.stereotype.Component
;
/**
...
...
eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java
浏览文件 @
f9bb8cf2
...
...
@@ -25,6 +25,7 @@ public class ExecutionJob extends QuartzJobBean {
private
Logger
logger
=
LoggerFactory
.
getLogger
(
this
.
getClass
());
// 建议自定义线程池实现方式,该处仅供参考
private
ExecutorService
executorService
=
Executors
.
newSingleThreadExecutor
();
@Override
...
...
@@ -61,8 +62,7 @@ public class ExecutionJob extends QuartzJobBean {
// 任务状态 0:成功 1:失败
log
.
setIsSuccess
(
false
);
log
.
setExceptionDetail
(
ThrowableUtil
.
getStackTrace
(
e
));
//出错就暂停任务
quartzManage
.
pauseJob
(
quartzJob
);
quartzJob
.
setIsPause
(
false
);
//更新状态
quartzJobService
.
updateIsPause
(
quartzJob
);
}
finally
{
...
...
eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java
浏览文件 @
f9bb8cf2
package
me.zhengjie.modules.quartz.utils
;
import
lombok.extern.slf4j.Slf4j
;
import
me.zhengjie.exception.BadRequestException
;
import
me.zhengjie.utils.SpringContextHolder
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.util.ReflectionUtils
;
import
java.lang.reflect.Method
;
import
java.util.concurrent.Callable
;
/**
* 执行定时任务
* @author
*/
@Slf4j
public
class
QuartzRunnable
implements
Runn
able
{
public
class
QuartzRunnable
implements
Call
able
{
private
Object
target
;
private
Method
method
;
...
...
@@ -30,17 +32,13 @@ public class QuartzRunnable implements Runnable {
}
@Override
public
void
run
()
{
try
{
ReflectionUtils
.
makeAccessible
(
method
);
if
(
StringUtils
.
isNotBlank
(
params
))
{
method
.
invoke
(
target
,
params
);
}
else
{
method
.
invoke
(
target
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"定时任务执行失败"
,
e
);
public
Object
call
()
throws
Exception
{
ReflectionUtils
.
makeAccessible
(
method
);
if
(
StringUtils
.
isNotBlank
(
params
))
{
method
.
invoke
(
target
,
params
);
}
else
{
method
.
invoke
(
target
);
}
return
null
;
}
}
eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java
浏览文件 @
f9bb8cf2
...
...
@@ -27,6 +27,7 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -59,7 +60,7 @@ public class UserController {
@Log
(
"导出用户数据"
)
@GetMapping
(
value
=
"/users/download"
)
@PreAuthorize
(
"hasAnyRole('ADMIN','USER_ALL','USER_SELECT')"
)
public
void
update
(
HttpServletResponse
response
,
UserQueryCriteria
criteria
){
public
void
update
(
HttpServletResponse
response
,
UserQueryCriteria
criteria
)
throws
IOException
{
userService
.
download
(
userService
.
queryAll
(
criteria
),
response
);
}
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java
浏览文件 @
f9bb8cf2
...
...
@@ -22,7 +22,7 @@ public interface DeptService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
DeptDTO
>
queryAll
(
DeptQueryCriteria
criteria
);
/**
...
...
@@ -60,7 +60,7 @@ public interface DeptService {
* @param deptDTOS
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
buildTree
(
List
<
DeptDTO
>
deptDTOS
);
/**
...
...
@@ -68,7 +68,7 @@ public interface DeptService {
* @param pid
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
Dept
>
findByPid
(
long
pid
);
Set
<
Dept
>
findByRoleIds
(
Long
id
);
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java
浏览文件 @
f9bb8cf2
...
...
@@ -47,6 +47,6 @@ public interface DictDetailService {
@CacheEvict
(
allEntries
=
true
)
void
delete
(
Long
id
);
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Map
queryAll
(
DictDetailQueryCriteria
criteria
,
Pageable
pageable
);
}
\ No newline at end of file
eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java
浏览文件 @
f9bb8cf2
...
...
@@ -21,7 +21,7 @@ public interface DictService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
DictQueryCriteria
dict
,
Pageable
pageable
);
/**
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java
浏览文件 @
f9bb8cf2
...
...
@@ -23,7 +23,7 @@ public interface MenuService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
MenuDTO
>
queryAll
(
MenuQueryCriteria
criteria
);
/**
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/PermissionService.java
浏览文件 @
f9bb8cf2
...
...
@@ -67,7 +67,7 @@ public interface PermissionService {
* @param permissionDTOS
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
buildTree
(
List
<
PermissionDTO
>
permissionDTOS
);
/**
...
...
@@ -75,7 +75,7 @@ public interface PermissionService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
PermissionDTO
>
queryAll
(
PermissionQueryCriteria
criteria
);
Set
<
Permission
>
getDeletePermission
(
List
<
Permission
>
permissions
,
Set
<
Permission
>
permissionSet
);
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java
浏览文件 @
f9bb8cf2
...
...
@@ -58,7 +58,7 @@ public interface RoleService {
@Cacheable
(
key
=
"'findByUsers_Id:' + #p0"
)
List
<
RoleSmallDTO
>
findByUsers_Id
(
Long
id
);
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Integer
findByRoles
(
Set
<
Role
>
roles
);
/**
...
...
@@ -85,7 +85,7 @@ public interface RoleService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
Pageable
pageable
);
/**
...
...
@@ -94,7 +94,7 @@ public interface RoleService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
RoleQueryCriteria
criteria
,
Pageable
pageable
);
/**
...
...
@@ -102,7 +102,7 @@ public interface RoleService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
RoleDTO
>
queryAll
(
RoleQueryCriteria
criteria
);
@CacheEvict
(
allEntries
=
true
)
...
...
eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java
浏览文件 @
f9bb8cf2
...
...
@@ -11,6 +11,7 @@ import org.springframework.data.domain.Pageable;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.List
;
/**
...
...
@@ -81,11 +82,11 @@ public interface UserService {
@CacheEvict
(
allEntries
=
true
)
void
updateEmail
(
String
username
,
String
email
);
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
UserQueryCriteria
criteria
,
Pageable
pageable
);
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
List
<
UserDTO
>
queryAll
(
UserQueryCriteria
criteria
);
void
download
(
List
<
UserDTO
>
queryAll
,
HttpServletResponse
response
);
void
download
(
List
<
UserDTO
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
;
}
eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java
浏览文件 @
f9bb8cf2
...
...
@@ -180,7 +180,7 @@ public class UserServiceImpl implements UserService {
}
@Override
public
void
download
(
List
<
UserDTO
>
queryAll
,
HttpServletResponse
response
)
{
public
void
download
(
List
<
UserDTO
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
UserDTO
userDTO
:
queryAll
)
{
List
roles
=
userDTO
.
getRoles
().
stream
().
map
(
RoleSmallDTO:
:
getName
).
collect
(
Collectors
.
toList
());
...
...
eladmin-system/src/main/resources/log4jdbc.log4j2.properties
浏览文件 @
f9bb8cf2
# If you use SLF4J. First, you need to tell log4jdbc-log4j2 that you want to use the SLF4J logger
log4jdbc.spylogdelegator.name
=
net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
\ No newline at end of file
log4jdbc.spylogdelegator.name
=
net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.auto.load.popular.drivers
=
false
log4jdbc.drivers
=
com.mysql.cj.jdbc.Driver
\ No newline at end of file
eladmin-system/src/main/resources/template/generator/admin/Service.ftl
浏览文件 @
f9bb8cf2
...
...
@@ -3,10 +3,12 @@ package ${package}.service;
import
${
package
}.
domain
.${
className
};
import
${
package
}.
service
.
dto
.${
className
}
DTO
;
import
${
package
}.
service
.
dto
.${
className
}
QueryCriteria
;
//
import
org
.
springframework
.
cache
.
annotation
.
CacheConfig
;
//
import
org
.
springframework
.
cache
.
annotation
.
CacheEvict
;
//
import
org
.
springframework
.
cache
.
annotation
.
Cacheable
;
import
org
.
springframework
.
cache
.
annotation
.
CacheConfig
;
import
org
.
springframework
.
cache
.
annotation
.
CacheEvict
;
import
org
.
springframework
.
cache
.
annotation
.
Cacheable
;
import
org
.
springframework
.
data
.
domain
.
Pageable
;
import
java
.
util
.
Map
;
import
java
.
util
.
List
;
/**
*
@
author
${
author
}
...
...
@@ -16,24 +18,24 @@ import org.springframework.data.domain.Pageable;
public
interface
${
className
}
Service
{
/**
*
queryAll
分页
*
查询数据
分页
*
@
param
criteria
*
@
param
pageable
*
@
return
*/
//@
Cacheable
(
keyGenerator
=
"keyGenerator"
)
Object
queryAll
(${
className
}
QueryCriteria
criteria
,
Pageable
pageable
);
//@
Cacheable
Map
<
String
,
Object
>
queryAll
(${
className
}
QueryCriteria
criteria
,
Pageable
pageable
);
/**
*
queryAll
不分页
*
查询所有数据
不分页
*
@
param
criteria
*
@
return
*/
//@
Cacheable
(
keyGenerator
=
"keyGenerator"
)
public
Object
queryAll
(${
className
}
QueryCriteria
criteria
);
//@
Cacheable
List
<${
className
}
DTO
>
queryAll
(${
className
}
QueryCriteria
criteria
);
/**
*
findById
*
根据
ID
查询
*
@
param
${
pkChangeColName
}
*
@
return
*/
...
...
@@ -41,7 +43,7 @@ public interface ${className}Service {
${
className
}
DTO
findById
(${
pkColumnType
}
${
pkChangeColName
});
/**
*
create
*
创建
*
@
param
resources
*
@
return
*/
...
...
@@ -49,14 +51,14 @@ public interface ${className}Service {
${
className
}
DTO
create
(${
className
}
resources
);
/**
*
update
*
编辑
*
@
param
resources
*/
//@
CacheEvict
(
allEntries
=
true
)
void
update
(${
className
}
resources
);
/**
*
delete
*
删除
*
@
param
${
pkChangeColName
}
*/
//@
CacheEvict
(
allEntries
=
true
)
...
...
eladmin-system/src/main/resources/template/generator/admin/ServiceImpl.ftl
浏览文件 @
f9bb8cf2
...
...
@@ -32,6 +32,8 @@ import org.springframework.data.domain.Page;
import
org
.
springframework
.
data
.
domain
.
Pageable
;
import
me
.
zhengjie
.
utils
.
PageUtil
;
import
me
.
zhengjie
.
utils
.
QueryHelp
;
import
java
.
util
.
List
;
import
java
.
util
.
Map
;
/**
*
@
author
${
author
}
...
...
@@ -48,13 +50,13 @@ public class ${className}ServiceImpl implements ${className}Service {
private
${
className
}
Mapper
${
changeClassName
}
Mapper
;
@
Override
public
Object
queryAll
(${
className
}
QueryCriteria
criteria
,
Pageable
pageable
){
public
Map
<
String
,
Object
>
queryAll
(${
className
}
QueryCriteria
criteria
,
Pageable
pageable
){
Page
<${
className
}>
page
=
${
changeClassName
}
Repository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
),
pageable
);
return
PageUtil
.
toPage
(
page
.
map
(${
changeClassName
}
Mapper
::
toDto
));
}
@
Override
public
Object
queryAll
(${
className
}
QueryCriteria
criteria
){
public
List
<${
className
}
DTO
>
queryAll
(${
className
}
QueryCriteria
criteria
){
return
${
changeClassName
}
Mapper
.
toDto
(${
changeClassName
}
Repository
.
findAll
((
root
,
criteriaQuery
,
criteriaBuilder
)
->
QueryHelp
.
getPredicate
(
root
,
criteria
,
criteriaBuilder
)));
}
...
...
eladmin-tools/src/main/java/me/zhengjie/rest/PictureController.java
浏览文件 @
f9bb8cf2
...
...
@@ -45,7 +45,7 @@ public class PictureController {
public
ResponseEntity
upload
(
@RequestParam
MultipartFile
file
){
String
userName
=
SecurityUtils
.
getUsername
();
Picture
picture
=
pictureService
.
upload
(
file
,
userName
);
Map
map
=
new
HashMap
(
3
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>
(
3
);
map
.
put
(
"errno"
,
0
);
map
.
put
(
"id"
,
picture
.
getId
());
map
.
put
(
"data"
,
new
String
[]{
picture
.
getUrl
()});
...
...
eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java
浏览文件 @
f9bb8cf2
...
...
@@ -22,7 +22,7 @@ public interface LocalStorageService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
LocalStorageQueryCriteria
criteria
,
Pageable
pageable
);
/**
...
...
@@ -30,7 +30,7 @@ public interface LocalStorageService {
* @param criteria
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
public
Object
queryAll
(
LocalStorageQueryCriteria
criteria
);
/**
...
...
eladmin-tools/src/main/java/me/zhengjie/service/PictureService.java
浏览文件 @
f9bb8cf2
...
...
@@ -20,7 +20,7 @@ public interface PictureService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
PictureQueryCriteria
criteria
,
Pageable
pageable
);
/**
...
...
eladmin-tools/src/main/java/me/zhengjie/service/QiNiuService.java
浏览文件 @
f9bb8cf2
...
...
@@ -24,7 +24,7 @@ public interface QiNiuService {
* @param pageable
* @return
*/
@Cacheable
(
keyGenerator
=
"keyGenerator"
)
@Cacheable
Object
queryAll
(
QiniuQueryCriteria
criteria
,
Pageable
pageable
);
/**
...
...
pom.xml
浏览文件 @
f9bb8cf2
...
...
@@ -160,6 +160,17 @@
<artifactId>
poi
</artifactId>
<version>
3.17
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi-ooxml
</artifactId>
<version>
3.17
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
<dependency>
<groupId>
xerces
</groupId>
<artifactId>
xercesImpl
</artifactId>
<version>
2.11.0
</version>
</dependency>
<!-- fastjson -->
<dependency>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录