diff --git a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java index c5bbcca6..6f693ecf 100644 --- a/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java +++ b/eladmin-common/src/main/java/me/zhengjie/annotation/Query.java @@ -80,8 +80,8 @@ public @interface Query { * 适用于简单连接查询,复杂的请自定义该注解,或者使用sql查询 */ enum Join { - /** jie 2019-6-4 13:18:30 左右连接 */ - LEFT, RIGHT + /** jie 2019-6-4 13:18:30 */ + LEFT, RIGHT, INNER } } diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java b/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java index b2f9aa35..24ad0c59 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java @@ -13,16 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package me.zhengjie.utils; - /** * @author: liaojinlong * @date: 2020/6/11 15:49 - * @apiNote: 关于缓存的Key 集合 + * @apiNote: 关于缓存的Key集合 */ public interface CacheKey { + /** * 内置 用户、岗位、应用、菜单、角色 相关key */ @@ -39,9 +38,8 @@ public interface CacheKey { String USER_ID = "user::id:"; String USER_NAME = "user::username:"; /** - * s数据 + * 数据 */ - String DATE_USER = "data::user:"; /** * 菜单 @@ -51,6 +49,8 @@ public interface CacheKey { * 角色授权 */ String ROLE_AUTH = "role::auth:"; - + /** + * 角色信息 + */ String ROLE_ID = "role::id:"; } diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/DateUtil.java b/eladmin-common/src/main/java/me/zhengjie/utils/DateUtil.java index 812f5639..0b0bf637 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/DateUtil.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/DateUtil.java @@ -26,14 +26,15 @@ import java.util.Date; * @apiNote: JDK 8 新日期类 格式化与字符串转换 工具类 */ public class DateUtil { - public static final DateTimeFormatter dfyMdHms = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); - public static final DateTimeFormatter dfyMd = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + + public static final DateTimeFormatter DFY_MD_HMS = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + public static final DateTimeFormatter DFY_MD = DateTimeFormatter.ofPattern("yyyy-MM-dd"); /** * LocalDateTime 转时间戳 * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static Long getTimeStamp(LocalDateTime localDateTime) { return localDateTime.atZone(ZoneId.systemDefault()).toEpochSecond(); @@ -42,8 +43,8 @@ public class DateUtil { /** * 时间戳转LocalDateTime * - * @param timeStamp - * @return/ + * @param timeStamp / + * @return / */ public static LocalDateTime fromTimeStamp(Long timeStamp) { return LocalDateTime.ofEpochSecond(timeStamp, 0, OffsetDateTime.now().getOffset()); @@ -53,8 +54,8 @@ public class DateUtil { * LocalDateTime 转 Date * Jdk8 后 不推荐使用 {@link Date} Date * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static Date toDate(LocalDateTime localDateTime) { return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); @@ -64,8 +65,8 @@ public class DateUtil { * LocalDate 转 Date * Jdk8 后 不推荐使用 {@link Date} Date * - * @param localDate - * @return/ + * @param localDate / + * @return / */ public static Date toDate(LocalDate localDate) { return toDate(localDate.atTime(LocalTime.now(ZoneId.systemDefault()))); @@ -76,8 +77,8 @@ public class DateUtil { * Date转 LocalDateTime * Jdk8 后 不推荐使用 {@link Date} Date * - * @param date - * @return/ + * @param date / + * @return / */ public static LocalDateTime toLocalDateTime(Date date) { return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); @@ -86,9 +87,9 @@ public class DateUtil { /** * 日期 格式化 * - * @param localDateTime - * @param patten - * @return/ + * @param localDateTime / + * @param patten / + * @return / */ public static String localDateTimeFormat(LocalDateTime localDateTime, String patten) { DateTimeFormatter df = DateTimeFormatter.ofPattern(patten); @@ -98,9 +99,9 @@ public class DateUtil { /** * 日期 格式化 * - * @param localDateTime - * @param df - * @return/ + * @param localDateTime / + * @param df / + * @return / */ public static String localDateTimeFormat(LocalDateTime localDateTime, DateTimeFormatter df) { return df.format(localDateTime); @@ -109,28 +110,28 @@ public class DateUtil { /** * 日期格式化 yyyy-MM-dd HH:mm:ss * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static String localDateTimeFormatyMdHms(LocalDateTime localDateTime) { - return dfyMdHms.format(localDateTime); + return DFY_MD_HMS.format(localDateTime); } /** * 日期格式化 yyyy-MM-dd * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public String localDateTimeFormatyMd(LocalDateTime localDateTime) { - return dfyMd.format(localDateTime); + return DFY_MD.format(localDateTime); } /** * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, String pattern) { DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern); @@ -140,30 +141,20 @@ public class DateUtil { /** * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static LocalDateTime parseLocalDateTimeFormat(String localDateTime, DateTimeFormatter dateTimeFormatter) { return LocalDateTime.from(dateTimeFormatter.parse(localDateTime)); } - /** - * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd - * - * @param localDateTime - * @return/ - */ - public static LocalDateTime parseLocalDateTimeFormatyMd(String localDateTime) { - return LocalDateTime.from(dfyMd.parse(localDateTime)); - } - /** * 字符串转 LocalDateTime ,字符串格式 yyyy-MM-dd HH:mm:ss * - * @param localDateTime - * @return/ + * @param localDateTime / + * @return / */ public static LocalDateTime parseLocalDateTimeFormatyMdHms(String localDateTime) { - return LocalDateTime.from(dfyMdHms.parse(localDateTime)); + return LocalDateTime.from(DFY_MD_HMS.parse(localDateTime)); } } diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java index cc998084..321b766d 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java @@ -100,6 +100,13 @@ public class QueryHelp { join = root.join(name, JoinType.RIGHT); } break; + case INNER: + if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){ + join = join.join(name, JoinType.INNER); + } else { + join = root.join(name, JoinType.INNER); + } + break; default: break; } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java index e79193f8..798f9c35 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java @@ -28,6 +28,7 @@ import me.zhengjie.modules.quartz.service.QuartzJobService; import me.zhengjie.service.EmailService; import me.zhengjie.utils.RedisUtils; import me.zhengjie.utils.SpringContextHolder; +import me.zhengjie.utils.StringUtils; import me.zhengjie.utils.ThrowableUtil; import org.quartz.JobExecutionContext; import org.springframework.scheduling.annotation.Async; @@ -54,6 +55,8 @@ public class ExecutionJob extends QuartzJobBean { QuartzLogRepository quartzLogRepository = SpringContextHolder.getBean(QuartzLogRepository.class); QuartzJobService quartzJobService = SpringContextHolder.getBean(QuartzJobService.class); RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); + + String uuid = quartzJob.getUuid(); QuartzLog log = new QuartzLog(); log.setJobName(quartzJob.getJobName()); @@ -72,7 +75,9 @@ public class ExecutionJob extends QuartzJobBean { future.get(); long times = System.currentTimeMillis() - startTime; log.setTime(times); - redisUtils.set(quartzJob.getUuid(), true); + if(StringUtils.isNotBlank(uuid)) { + redisUtils.set(uuid, true); + } // 任务状态 log.setIsSuccess(true); System.out.println("任务执行完毕,任务名称:" + quartzJob.getJobName() + ", 执行时间:" + times + "毫秒"); @@ -84,7 +89,9 @@ public class ExecutionJob extends QuartzJobBean { quartzJobService.executionSubJob(tasks); } } catch (Exception e) { - redisUtils.set(quartzJob.getUuid(), false); + if(StringUtils.isNotBlank(uuid)) { + redisUtils.set(uuid, false); + } System.out.println("任务执行失败,任务名称:" + quartzJob.getJobName()); System.out.println("--------------------------------------------------------------"); long times = System.currentTimeMillis() - startTime; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java index 77c84783..afed088a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java @@ -16,7 +16,6 @@ package me.zhengjie.modules.security.rest; import cn.hutool.core.util.IdUtil; -import com.wf.captcha.ArithmeticCaptcha; import com.wf.captcha.base.Captcha; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -38,7 +37,6 @@ import me.zhengjie.utils.RsaUtils; import me.zhengjie.utils.RedisUtils; import me.zhengjie.utils.SecurityUtils; import me.zhengjie.utils.StringUtils; -import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @@ -47,7 +45,6 @@ import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; - import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; @@ -91,7 +88,6 @@ public class AuthorizationController { } UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(authUser.getUsername(), password); - Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken); SecurityContextHolder.getContext().setAuthentication(authentication); // 生成令牌 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java index 7b278bc1..c5cde05a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java @@ -93,8 +93,8 @@ public class TokenFilter extends GenericFilterBean { /** * 初步检测Token * - * @param request - * @return + * @param request / + * @return / */ private String resolveToken(HttpServletRequest request) { String bearerToken = request.getHeader(properties.getHeader()); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java index df294967..3918568d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java @@ -52,7 +52,6 @@ public class TokenProvider implements InitializingBean { private final SecurityProperties properties; private final RedisUtils redisUtils; public static final String AUTHORITIES_KEY = "auth"; - private Key key; private JwtParser jwtParser; private JwtBuilder jwtBuilder; @@ -64,7 +63,7 @@ public class TokenProvider implements InitializingBean { @Override public void afterPropertiesSet() { byte[] keyBytes = Decoders.BASE64.decode(properties.getBase64Secret()); - this.key = Keys.hmacShaKeyFor(keyBytes); + Key key = Keys.hmacShaKeyFor(keyBytes); jwtParser = Jwts.parserBuilder() .setSigningKey(key) .build(); @@ -76,11 +75,11 @@ public class TokenProvider implements InitializingBean { * 创建Token 设置永不过期, * Token 的时间有效性转到Redis 维护 * - * @param authentication - * @return + * @param authentication / + * @return / */ public String createToken(Authentication authentication) { - /** + /* * 获取权限列表 */ String authorities = authentication.getAuthorities().stream() @@ -98,8 +97,8 @@ public class TokenProvider implements InitializingBean { /** * 依据Token 获取鉴权信息 * - * @param token - * @return + * @param token / + * @return / */ Authentication getAuthentication(String token) { Claims claims = getClaims(token); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java index fbd7093b..3f9fe5b1 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheClean.java @@ -27,12 +27,11 @@ import org.springframework.stereotype.Component; @Component public class UserCacheClean { - /** * 清理特定用户缓存信息
* 用户信息变更时 * - * @param userName + * @param userName / */ public void cleanUserCache(String userName) { if (StringUtils.isNotEmpty(userName)) { diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java index 857bf021..6ea954d6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java @@ -27,7 +27,6 @@ import me.zhengjie.modules.system.service.dto.UserDto; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; - import java.util.Map; import java.util.concurrent.ConcurrentHashMap; @@ -42,7 +41,6 @@ public class UserDetailsServiceImpl implements UserDetailsService { private final RoleService roleService; private final DataService dataService; private final LoginProperties loginProperties; - public void setEnableCache(boolean enableCache) { this.loginProperties.setCacheEnable(enableCache); } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java index de49a55c..f723e3d2 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java @@ -27,10 +27,7 @@ import me.zhengjie.modules.system.service.dto.RoleDto; import me.zhengjie.modules.system.service.dto.RoleQueryCriteria; import me.zhengjie.modules.system.service.dto.RoleSmallDto; import me.zhengjie.utils.SecurityUtils; -import me.zhengjie.utils.ThrowableUtil; import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; -import org.springframework.data.web.PageableDefault; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.access.prepost.PreAuthorize; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java index d694334c..8005388b 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java @@ -117,7 +117,7 @@ public class RoleServiceImpl implements RoleService { role.setLevel(resources.getLevel()); roleRepository.save(role); // 更新相关缓存 - delCaches(role.getId()); + delCaches(role.getId(), null); } @Override @@ -126,11 +126,10 @@ public class RoleServiceImpl implements RoleService { List users = userRepository.findByRoleId(role.getId()); // 更新菜单 role.setMenus(resources.getMenus()); - cleanCache(resources, users); + delCaches(resources.getId(), users); roleRepository.save(role); } - @Override @Transactional(rollbackFor = Exception.class) public void untiedMenu(Long menuId) { @@ -143,7 +142,7 @@ public class RoleServiceImpl implements RoleService { public void delete(Set ids) { for (Long id : ids) { // 更新相关缓存 - delCaches(id); + delCaches(id, null); } roleRepository.deleteAllByIdIn(ids); } @@ -208,40 +207,18 @@ public class RoleServiceImpl implements RoleService { /** * 清理缓存 - * * @param id / */ - public void delCaches(Long id) { - List users = userRepository.findByRoleId(id); + public void delCaches(Long id, List users) { + users = CollectionUtil.isEmpty(users) ? userRepository.findByRoleId(id) : users; if (CollectionUtil.isNotEmpty(users)) { - users.stream().forEach(item -> { - userCacheClean.cleanUserCache(item.getUsername()); - }); + users.forEach(item -> userCacheClean.cleanUserCache(item.getUsername())); Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); redisUtils.delByKeys(CacheKey.DATE_USER, userIds); redisUtils.delByKeys(CacheKey.MENU_USER, userIds); redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds); + redisUtils.del(CacheKey.ROLE_ID + id); } } - - /** - * 清理缓存 - * - * @param resources - * @param users - */ - private void cleanCache(Role resources, List users) { - // 清理缓存 - if (CollectionUtil.isNotEmpty(users)) { - users.stream().forEach(item -> { - userCacheClean.cleanUserCache(item.getUsername()); - }); - Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); - redisUtils.delByKeys(CacheKey.MENU_USER, userIds); - redisUtils.delByKeys(CacheKey.ROLE_AUTH, userIds); - redisUtils.del(CacheKey.ROLE_ID + resources.getId()); - } - } - } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java index 7f788e8c..eca89aac 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java @@ -235,7 +235,7 @@ public class UserServiceImpl implements UserService { /** * 清理 登陆时 用户缓存信息 * - * @param username + * @param username / */ private void flushCache(String username) { userCacheClean.cleanUserCache(username); diff --git a/eladmin-system/src/main/resources/template/generator/front/index.ftl b/eladmin-system/src/main/resources/template/generator/front/index.ftl index 080d0703..df5c73ca 100644 --- a/eladmin-system/src/main/resources/template/generator/front/index.ftl +++ b/eladmin-system/src/main/resources/template/generator/front/index.ftl @@ -17,16 +17,11 @@ <#if betweens??> <#list betweens as column> <#if column.queryType = 'BetWeen'> - @@ -125,6 +120,7 @@ import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' + const defaultForm = { <#if columns??><#list columns as column>${column.changeColumnName}: null<#if column_has_next>, } export default { name: '${className}', diff --git a/eladmin-system/src/test/java/me/zhengjie/LoginCacheTest.java b/eladmin-system/src/test/java/me/zhengjie/LoginCacheTest.java index 008f61a8..4d7f55c8 100644 --- a/eladmin-system/src/test/java/me/zhengjie/LoginCacheTest.java +++ b/eladmin-system/src/test/java/me/zhengjie/LoginCacheTest.java @@ -5,19 +5,19 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; - import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class LoginCacheTest { + @Resource(name = "userDetailsService") private UserDetailsServiceImpl userDetailsService; - private int size = 10000; @Test public void testCache() { long start1 = System.currentTimeMillis(); + int size = 10000; for (int i = 0; i < size; i++) { userDetailsService.loadUserByUsername("admin"); } @@ -29,6 +29,6 @@ public class LoginCacheTest { userDetailsService.loadUserByUsername("admin"); } long end2 = System.currentTimeMillis(); - System.out.printf("使用缓存:" + (end1 - start1) + "毫秒\n 不使用缓存:" + (end2 - start2) + "毫秒"); + System.out.print("使用缓存:" + (end1 - start1) + "毫秒\n 不使用缓存:" + (end2 - start2) + "毫秒"); } } diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java index 5271c4fa..0625ba42 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java @@ -38,20 +38,20 @@ import java.util.Optional; */ @Service @RequiredArgsConstructor -@CacheConfig(cacheNames = "alipay") +@CacheConfig(cacheNames = "aliPay") public class AliPayServiceImpl implements AliPayService { private final AliPayRepository alipayRepository; @Override - @Cacheable(key = "'id:1'") + @Cacheable(key = "'config'") public AlipayConfig find() { Optional alipayConfig = alipayRepository.findById(1L); return alipayConfig.orElseGet(AlipayConfig::new); } @Override - @CachePut(key = "'id:1'") + @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) public AlipayConfig config(AlipayConfig alipayConfig) { alipayConfig.setId(1L); diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java index 44cf9df3..3386500a 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java @@ -43,7 +43,7 @@ public class EmailServiceImpl implements EmailService { private final EmailRepository emailRepository; @Override - @CachePut(key = "'id:1'") + @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) public EmailConfig config(EmailConfig emailConfig, EmailConfig old) throws Exception { emailConfig.setId(1L); @@ -55,7 +55,7 @@ public class EmailServiceImpl implements EmailService { } @Override - @Cacheable(key = "'id:1'") + @Cacheable(key = "'config'") public EmailConfig find() { Optional emailConfig = emailRepository.findById(1L); return emailConfig.orElseGet(EmailConfig::new); diff --git a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java index 0db2d7af..942f437e 100644 --- a/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java +++ b/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuServiceImpl.java @@ -65,14 +65,14 @@ public class QiNiuServiceImpl implements QiNiuService { private Long maxSize; @Override - @Cacheable(key = "'id:1'") + @Cacheable(key = "'config'") public QiniuConfig find() { Optional qiniuConfig = qiNiuConfigRepository.findById(1L); return qiniuConfig.orElseGet(QiniuConfig::new); } @Override - @CachePut(key = "'id:1'") + @CachePut(key = "'config'") @Transactional(rollbackFor = Exception.class) public QiniuConfig config(QiniuConfig qiniuConfig) { qiniuConfig.setId(1L); diff --git a/sql/eladmin.sql b/sql/eladmin.sql index 5a95b68f..bccc611f 100644 --- a/sql/eladmin.sql +++ b/sql/eladmin.sql @@ -381,7 +381,7 @@ INSERT INTO `sys_menu` VALUES (15, 10, 0, 1, '富文本', 'Editor', 'components/ INSERT INTO `sys_menu` VALUES (16, 36, 2, 1, '图床管理', 'Pictures', 'tools/picture/index', 33, 'image', 'pictures', b'0', b'0', b'0', 'pictures:list', NULL, NULL, '2018-12-28 09:36:53', NULL); INSERT INTO `sys_menu` VALUES (18, 36, 3, 1, '存储管理', 'Storage', 'tools/storage/index', 34, 'qiniu', 'storage', b'0', b'0', b'0', 'storage:list', NULL, NULL, '2018-12-31 11:12:15', NULL); INSERT INTO `sys_menu` VALUES (19, 36, 0, 1, '支付宝工具', 'AliPay', 'tools/aliPay/index', 37, 'alipay', 'aliPay', b'0', b'0', b'0', NULL, NULL, NULL, '2018-12-31 14:52:38', NULL); -INSERT INTO `sys_menu` VALUES (21, NULL, 2, 0, '多级菜单', NULL, '', 900, 'menu', 'nested', b'0', b'0', b'1', NULL, NULL, NULL, '2019-01-04 16:22:03', NULL); +INSERT INTO `sys_menu` VALUES (21, NULL, 2, 0, '多级菜单', NULL, '', 900, 'menu', 'nested', b'0', b'0', b'0', NULL, NULL, NULL, '2019-01-04 16:22:03', NULL); INSERT INTO `sys_menu` VALUES (22, 21, 2, 1, '二级菜单1', NULL, 'nested/menu1/index', 999, 'menu', 'menu1', b'0', b'0', b'0', NULL, NULL, NULL, '2019-01-04 16:23:29', NULL); INSERT INTO `sys_menu` VALUES (23, 21, 0, 1, '二级菜单2', NULL, 'nested/menu2/index', 999, 'menu', 'menu2', b'0', b'0', b'0', NULL, NULL, NULL, '2019-01-04 16:23:57', NULL); INSERT INTO `sys_menu` VALUES (24, 22, 0, 1, '三级菜单1', NULL, 'nested/menu1/menu1-1', 999, 'menu', 'menu1-1', b'0', b'0', b'0', NULL, NULL, NULL, '2019-01-04 16:24:48', NULL); @@ -584,6 +584,8 @@ INSERT INTO `sys_roles_menus` VALUES (19, 1); INSERT INTO `sys_roles_menus` VALUES (21, 1); INSERT INTO `sys_roles_menus` VALUES (22, 1); INSERT INTO `sys_roles_menus` VALUES (23, 1); +INSERT INTO `sys_roles_menus` VALUES (24, 1); +INSERT INTO `sys_roles_menus` VALUES (27, 1); INSERT INTO `sys_roles_menus` VALUES (28, 1); INSERT INTO `sys_roles_menus` VALUES (30, 1); INSERT INTO `sys_roles_menus` VALUES (32, 1);