update 日常校验 统一重构到 StringUtils 便于维护扩展
This commit is contained in:
parent
5740561cd3
commit
c813046594
|
@ -107,9 +107,9 @@ public class CaptchaController {
|
||||||
|
|
||||||
private String getCodeResult(String capStr) {
|
private String getCodeResult(String capStr) {
|
||||||
int numberLength = captchaProperties.getNumberLength();
|
int numberLength = captchaProperties.getNumberLength();
|
||||||
int a = Convert.toInt(StringUtils.sub(capStr, 0, numberLength).trim());
|
int a = Convert.toInt(StringUtils.substring(capStr, 0, numberLength).trim());
|
||||||
char operator = capStr.charAt(numberLength);
|
char operator = capStr.charAt(numberLength);
|
||||||
int b = Convert.toInt(StringUtils.sub(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
|
int b = Convert.toInt(StringUtils.substring(capStr, numberLength + 1, numberLength + 1 + numberLength).trim());
|
||||||
switch (operator) {
|
switch (operator) {
|
||||||
case '*':
|
case '*':
|
||||||
return a * b + "";
|
return a * b + "";
|
||||||
|
|
|
@ -72,9 +72,9 @@ public class CommonController
|
||||||
// 本地资源路径
|
// 本地资源路径
|
||||||
String localPath = RuoYiConfig.getProfile();
|
String localPath = RuoYiConfig.getProfile();
|
||||||
// 数据库资源地址
|
// 数据库资源地址
|
||||||
String downloadPath = localPath + StringUtils.subAfter(resource, Constants.RESOURCE_PREFIX,false);
|
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
|
||||||
// 下载名称
|
// 下载名称
|
||||||
String downloadName = StringUtils.subAfter(downloadPath, "/",true);
|
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
|
||||||
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
|
||||||
File file = new File(downloadPath);
|
File file = new File(downloadPath);
|
||||||
FileUtils.setAttachmentResponseHeader(response, downloadName);
|
FileUtils.setAttachmentResponseHeader(response, downloadName);
|
||||||
|
|
|
@ -40,8 +40,8 @@ public class CacheController
|
||||||
commandStats.stringPropertyNames().forEach(key -> {
|
commandStats.stringPropertyNames().forEach(key -> {
|
||||||
Map<String, String> data = new HashMap<>(2);
|
Map<String, String> data = new HashMap<>(2);
|
||||||
String property = commandStats.getProperty(key);
|
String property = commandStats.getProperty(key);
|
||||||
data.put("name", StringUtils.removePrefix(key, "cmdstat_"));
|
data.put("name", StringUtils.removeStart(key, "cmdstat_"));
|
||||||
data.put("value", StringUtils.subBetween(property, "calls=", ",usec"));
|
data.put("value", StringUtils.substringBetween(property, "calls=", ",usec"));
|
||||||
pieList.add(data);
|
pieList.add(data);
|
||||||
});
|
});
|
||||||
result.put("commandStats", pieList);
|
result.put("commandStats", pieList);
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package com.ruoyi.web.controller.monitor;
|
package com.ruoyi.web.controller.monitor;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
@ -11,6 +9,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.domain.SysUserOnline;
|
import com.ruoyi.system.domain.SysUserOnline;
|
||||||
import com.ruoyi.system.service.ISysUserOnlineService;
|
import com.ruoyi.system.service.ISysUserOnlineService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -46,21 +45,21 @@ public class SysUserOnlineController extends BaseController
|
||||||
for (String key : keys)
|
for (String key : keys)
|
||||||
{
|
{
|
||||||
LoginUser user = redisCache.getCacheObject(key);
|
LoginUser user = redisCache.getCacheObject(key);
|
||||||
if (Validator.isNotEmpty(ipaddr) && Validator.isNotEmpty(userName))
|
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
|
||||||
{
|
{
|
||||||
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
|
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
|
||||||
{
|
{
|
||||||
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
|
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Validator.isNotEmpty(ipaddr))
|
else if (StringUtils.isNotEmpty(ipaddr))
|
||||||
{
|
{
|
||||||
if (StringUtils.equals(ipaddr, user.getIpaddr()))
|
if (StringUtils.equals(ipaddr, user.getIpaddr()))
|
||||||
{
|
{
|
||||||
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
|
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (Validator.isNotEmpty(userName) && Validator.isNotNull(user.getUser()))
|
else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser()))
|
||||||
{
|
{
|
||||||
if (StringUtils.equals(userName, user.getUsername()))
|
if (StringUtils.equals(userName, user.getUsername()))
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package com.ruoyi.web.controller.system;
|
package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
@ -8,8 +8,8 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.service.ISysDeptService;
|
import com.ruoyi.system.service.ISysDeptService;
|
||||||
import org.apache.commons.lang3.ArrayUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
@ -56,7 +56,7 @@ public class SysDeptController extends BaseController
|
||||||
{
|
{
|
||||||
SysDept d = (SysDept) it.next();
|
SysDept d = (SysDept) it.next();
|
||||||
if (d.getDeptId().intValue() == deptId
|
if (d.getDeptId().intValue() == deptId
|
||||||
|| ArrayUtils.contains(StringUtils.splitToArray(d.getAncestors(), ","), deptId + ""))
|
|| ArrayUtil.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""))
|
||||||
{
|
{
|
||||||
it.remove();
|
it.remove();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.web.controller.system;
|
package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
@ -8,6 +7,7 @@ import com.ruoyi.common.core.domain.entity.SysDictData;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.system.service.ISysDictDataService;
|
import com.ruoyi.system.service.ISysDictDataService;
|
||||||
import com.ruoyi.system.service.ISysDictTypeService;
|
import com.ruoyi.system.service.ISysDictTypeService;
|
||||||
|
@ -68,7 +68,7 @@ public class SysDictDataController extends BaseController
|
||||||
public AjaxResult dictType(@PathVariable String dictType)
|
public AjaxResult dictType(@PathVariable String dictType)
|
||||||
{
|
{
|
||||||
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
|
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
|
||||||
if (Validator.isNull(data))
|
if (StringUtils.isNull(data))
|
||||||
{
|
{
|
||||||
data = new ArrayList<SysDictData>();
|
data = new ArrayList<SysDictData>();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.web.controller.system;
|
package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
@ -12,6 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.framework.web.service.SysPermissionService;
|
import com.ruoyi.framework.web.service.SysPermissionService;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
|
@ -117,7 +117,7 @@ public class SysRoleController extends BaseController
|
||||||
{
|
{
|
||||||
// 更新缓存用户权限
|
// 更新缓存用户权限
|
||||||
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin())
|
if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin())
|
||||||
{
|
{
|
||||||
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
|
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
|
||||||
loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
|
loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.web.controller.system;
|
package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
@ -12,6 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
import com.ruoyi.system.service.ISysPostService;
|
import com.ruoyi.system.service.ISysPostService;
|
||||||
|
@ -100,7 +100,7 @@ public class SysUserController extends BaseController
|
||||||
List<SysRole> roles = roleService.selectRoleAll();
|
List<SysRole> roles = roleService.selectRoleAll();
|
||||||
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
|
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
|
||||||
ajax.put("posts", postService.selectPostAll());
|
ajax.put("posts", postService.selectPostAll());
|
||||||
if (Validator.isNotNull(userId))
|
if (StringUtils.isNotNull(userId))
|
||||||
{
|
{
|
||||||
ajax.put("user", userService.selectUserById(userId));
|
ajax.put("user", userService.selectUserById(userId));
|
||||||
ajax.put("postIds", postService.selectPostListByUserId(userId));
|
ajax.put("postIds", postService.selectPostListByUserId(userId));
|
||||||
|
@ -121,12 +121,12 @@ public class SysUserController extends BaseController
|
||||||
{
|
{
|
||||||
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
|
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
|
||||||
}
|
}
|
||||||
else if (Validator.isNotEmpty(user.getPhonenumber())
|
else if (StringUtils.isNotEmpty(user.getPhonenumber())
|
||||||
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
|
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
|
||||||
{
|
{
|
||||||
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
|
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
|
||||||
}
|
}
|
||||||
else if (Validator.isNotEmpty(user.getEmail())
|
else if (StringUtils.isNotEmpty(user.getEmail())
|
||||||
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
|
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
|
||||||
{
|
{
|
||||||
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
|
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
|
||||||
|
@ -145,12 +145,12 @@ public class SysUserController extends BaseController
|
||||||
public AjaxResult edit(@Validated @RequestBody SysUser user)
|
public AjaxResult edit(@Validated @RequestBody SysUser user)
|
||||||
{
|
{
|
||||||
userService.checkUserAllowed(user);
|
userService.checkUserAllowed(user);
|
||||||
if (Validator.isNotEmpty(user.getPhonenumber())
|
if (StringUtils.isNotEmpty(user.getPhonenumber())
|
||||||
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
|
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
|
||||||
{
|
{
|
||||||
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
|
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
|
||||||
}
|
}
|
||||||
else if (Validator.isNotEmpty(user.getEmail())
|
else if (StringUtils.isNotEmpty(user.getEmail())
|
||||||
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
|
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
|
||||||
{
|
{
|
||||||
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
|
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class RepeatableFilter implements Filter
|
||||||
{
|
{
|
||||||
ServletRequest requestWrapper = null;
|
ServletRequest requestWrapper = null;
|
||||||
if (request instanceof HttpServletRequest
|
if (request instanceof HttpServletRequest
|
||||||
&& StringUtils.startWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE))
|
&& StringUtils.startsWithIgnoreCase(request.getContentType(), MediaType.APPLICATION_JSON_VALUE))
|
||||||
{
|
{
|
||||||
requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
|
requestWrapper = new RepeatedlyRequestWrapper((HttpServletRequest) request, response);
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,6 +102,6 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper
|
||||||
public boolean isJsonRequest()
|
public boolean isJsonRequest()
|
||||||
{
|
{
|
||||||
String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
|
String header = super.getHeader(HttpHeaders.CONTENT_TYPE);
|
||||||
return StringUtils.startWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
|
return StringUtils.startsWithIgnoreCase(header, MediaType.APPLICATION_JSON_VALUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.common.utils;
|
package com.ruoyi.common.utils;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.core.type.TypeReference;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
||||||
|
|
|
@ -92,7 +92,7 @@ public class PageUtils {
|
||||||
Page<T> page = new Page<>(pageNum, pageSize);
|
Page<T> page = new Page<>(pageNum, pageSize);
|
||||||
if (StringUtils.isNotBlank(orderByColumn)) {
|
if (StringUtils.isNotBlank(orderByColumn)) {
|
||||||
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
|
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
|
||||||
orderBy = StringUtils.toUnderlineCase(orderBy);
|
orderBy = StringUtils.toUnderScoreCase(orderBy);
|
||||||
if ("asc".equals(isAsc)) {
|
if ("asc".equals(isAsc)) {
|
||||||
page.addOrder(OrderItem.asc(orderBy));
|
page.addOrder(OrderItem.asc(orderBy));
|
||||||
} else if ("desc".equals(isAsc)) {
|
} else if ("desc".equals(isAsc)) {
|
||||||
|
|
|
@ -2,17 +2,140 @@ package com.ruoyi.common.utils;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
import cn.hutool.core.lang.Validator;
|
||||||
|
import cn.hutool.core.map.MapUtil;
|
||||||
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.ReUtil;
|
import cn.hutool.core.util.ReUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字符串工具类
|
* 字符串工具类
|
||||||
*
|
*
|
||||||
* @author Lion Li
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
public class StringUtils extends StrUtil {
|
public class StringUtils extends org.apache.commons.lang3.StringUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取参数不为空值
|
||||||
|
*
|
||||||
|
* @param value defaultValue 要判断的value
|
||||||
|
* @return value 返回值
|
||||||
|
*/
|
||||||
|
public static <T> T nvl(T value, T defaultValue) {
|
||||||
|
return ObjectUtil.defaultIfNull(value, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取参数不为空值
|
||||||
|
*
|
||||||
|
* @param str defaultValue 要判断的value
|
||||||
|
* @return value 返回值
|
||||||
|
*/
|
||||||
|
public static String blankToDefault(String str, String defaultValue) {
|
||||||
|
return StrUtil.blankToDefault(str, defaultValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个Collection是否为空, 包含List,Set,Queue
|
||||||
|
*
|
||||||
|
* @param coll 要判断的Collection
|
||||||
|
* @return true:为空 false:非空
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(Collection<?> coll) {
|
||||||
|
return CollUtil.isEmpty(coll);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个Collection是否非空,包含List,Set,Queue
|
||||||
|
*
|
||||||
|
* @param coll 要判断的Collection
|
||||||
|
* @return true:非空 false:空
|
||||||
|
*/
|
||||||
|
public static boolean isNotEmpty(Collection<?> coll) {
|
||||||
|
return !isEmpty(coll);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个对象数组是否为空
|
||||||
|
*
|
||||||
|
* @param objects 要判断的对象数组
|
||||||
|
* * @return true:为空 false:非空
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(Object[] objects) {
|
||||||
|
return ArrayUtil.isEmpty(objects);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个对象数组是否非空
|
||||||
|
*
|
||||||
|
* @param objects 要判断的对象数组
|
||||||
|
* @return true:非空 false:空
|
||||||
|
*/
|
||||||
|
public static boolean isNotEmpty(Object[] objects) {
|
||||||
|
return !isEmpty(objects);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个对象是否为空
|
||||||
|
*
|
||||||
|
* @param object 要判断的对象数组
|
||||||
|
* * @return true:为空 false:非空
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(Object object) {
|
||||||
|
return ObjectUtil.isEmpty(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个对象是否非空
|
||||||
|
*
|
||||||
|
* @param object 要判断的对象数组
|
||||||
|
* @return true:非空 false:空
|
||||||
|
*/
|
||||||
|
public static boolean isNotEmpty(Object object) {
|
||||||
|
return !isEmpty(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个Map是否为空
|
||||||
|
*
|
||||||
|
* @param map 要判断的Map
|
||||||
|
* @return true:为空 false:非空
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(Map<?, ?> map) {
|
||||||
|
return MapUtil.isEmpty(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个Map是否为空
|
||||||
|
*
|
||||||
|
* @param map 要判断的Map
|
||||||
|
* @return true:非空 false:空
|
||||||
|
*/
|
||||||
|
public static boolean isNotEmpty(Map<?, ?> map) {
|
||||||
|
return !isEmpty(map);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个字符串是否为空串
|
||||||
|
*
|
||||||
|
* @param str String
|
||||||
|
* @return true:为空 false:非空
|
||||||
|
*/
|
||||||
|
public static boolean isEmpty(String str) {
|
||||||
|
return StrUtil.isEmpty(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* * 判断一个字符串是否为非空串
|
||||||
|
*
|
||||||
|
* @param str String
|
||||||
|
* @return true:非空串 false:空串
|
||||||
|
*/
|
||||||
|
public static boolean isNotEmpty(String str) {
|
||||||
|
return !isEmpty(str);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* * 判断一个对象是否为空
|
* * 判断一个对象是否为空
|
||||||
|
@ -21,7 +144,7 @@ public class StringUtils extends StrUtil {
|
||||||
* @return true:为空 false:非空
|
* @return true:为空 false:非空
|
||||||
*/
|
*/
|
||||||
public static boolean isNull(Object object) {
|
public static boolean isNull(Object object) {
|
||||||
return Validator.isNull(object);
|
return ObjectUtil.isNull(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -31,24 +154,64 @@ public class StringUtils extends StrUtil {
|
||||||
* @return true:非空 false:空
|
* @return true:非空 false:空
|
||||||
*/
|
*/
|
||||||
public static boolean isNotNull(Object object) {
|
public static boolean isNotNull(Object object) {
|
||||||
return Validator.isNotNull(object);
|
return !isNull(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 替换所有
|
* * 判断一个对象是否是数组类型(Java基本型别的数组)
|
||||||
*/
|
|
||||||
public static String replaceEach(String text, String[] searchList, String[] replacementList) {
|
|
||||||
return org.apache.commons.lang3.StringUtils.replaceEach(text, searchList, replacementList);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 验证该字符串是否是数字
|
|
||||||
*
|
*
|
||||||
* @param value 字符串内容
|
* @param object 对象
|
||||||
* @return 是否是数字
|
* @return true:是数组 false:不是数组
|
||||||
*/
|
*/
|
||||||
public static boolean isNumeric(CharSequence value) {
|
public static boolean isArray(Object object) {
|
||||||
return Validator.isNumber(value);
|
return ArrayUtil.isArray(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 去空格
|
||||||
|
*/
|
||||||
|
public static String trim(String str) {
|
||||||
|
return StrUtil.trim(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 截取字符串
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param start 开始
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public static String substring(final String str, int start) {
|
||||||
|
return substring(str, start, str.length());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 截取字符串
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param start 开始
|
||||||
|
* @param end 结束
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
public static String substring(final String str, int start, int end) {
|
||||||
|
return StrUtil.sub(str, start, end);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 格式化文本, {} 表示占位符<br>
|
||||||
|
* 此方法只是简单将占位符 {} 按照顺序替换为参数<br>
|
||||||
|
* 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可<br>
|
||||||
|
* 例:<br>
|
||||||
|
* 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
|
||||||
|
* 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
|
||||||
|
* 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
|
||||||
|
*
|
||||||
|
* @param template 文本模板,被替换的部分用 {} 表示
|
||||||
|
* @param params 参数值
|
||||||
|
* @return 格式化后的文本
|
||||||
|
*/
|
||||||
|
public static String format(String template, Object... params) {
|
||||||
|
return StrUtil.format(template, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,6 +224,96 @@ public class StringUtils extends StrUtil {
|
||||||
return Validator.isUrl(link);
|
return Validator.isUrl(link);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字符串转set
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param sep 分隔符
|
||||||
|
* @return set集合
|
||||||
|
*/
|
||||||
|
public static Set<String> str2Set(String str, String sep) {
|
||||||
|
return new HashSet<>(str2List(str, sep, true, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字符串转list
|
||||||
|
*
|
||||||
|
* @param str 字符串
|
||||||
|
* @param sep 分隔符
|
||||||
|
* @param filterBlank 过滤纯空白
|
||||||
|
* @param trim 去掉首尾空白
|
||||||
|
* @return list集合
|
||||||
|
*/
|
||||||
|
public static List<String> str2List(String str, String sep, boolean filterBlank, boolean trim) {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
if (isEmpty(str)) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 过滤空白字符串
|
||||||
|
if (filterBlank && isBlank(str)) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
String[] split = str.split(sep);
|
||||||
|
for (String string : split) {
|
||||||
|
if (filterBlank && isBlank(string)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (trim) {
|
||||||
|
string = trim(string);
|
||||||
|
}
|
||||||
|
list.add(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查找指定字符串是否包含指定字符串列表中的任意一个字符串同时串忽略大小写
|
||||||
|
*
|
||||||
|
* @param cs 指定字符串
|
||||||
|
* @param searchCharSequences 需要检查的字符串数组
|
||||||
|
* @return 是否包含任意一个字符串
|
||||||
|
*/
|
||||||
|
public static boolean containsAnyIgnoreCase(CharSequence cs, CharSequence... searchCharSequences) {
|
||||||
|
return StrUtil.containsAnyIgnoreCase(cs, searchCharSequences);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 驼峰转下划线命名
|
||||||
|
*/
|
||||||
|
public static String toUnderScoreCase(String str) {
|
||||||
|
return StrUtil.toUnderlineCase(str);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否包含字符串
|
||||||
|
*
|
||||||
|
* @param str 验证字符串
|
||||||
|
* @param strs 字符串组
|
||||||
|
* @return 包含返回true
|
||||||
|
*/
|
||||||
|
public static boolean inStringIgnoreCase(String str, String... strs) {
|
||||||
|
return StrUtil.equalsAnyIgnoreCase(str, strs);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
|
||||||
|
*
|
||||||
|
* @param name 转换前的下划线大写方式命名的字符串
|
||||||
|
* @return 转换后的驼峰式命名的字符串
|
||||||
|
*/
|
||||||
|
public static String convertToCamelCase(String name) {
|
||||||
|
return StrUtil.upperFirst(StrUtil.toCamelCase(name));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 驼峰式命名法 例如:user_name->userName
|
||||||
|
*/
|
||||||
|
public static String toCamelCase(String s) {
|
||||||
|
return StrUtil.toCamelCase(s);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
|
* 查找指定字符串是否匹配指定字符串列表中的任意一个字符串
|
||||||
*
|
*
|
||||||
|
@ -69,14 +322,33 @@ public class StringUtils extends StrUtil {
|
||||||
* @return 是否匹配
|
* @return 是否匹配
|
||||||
*/
|
*/
|
||||||
public static boolean matches(String str, List<String> strs) {
|
public static boolean matches(String str, List<String> strs) {
|
||||||
if (isEmpty(str) || CollUtil.isEmpty(strs)) {
|
if (isEmpty(str) || isEmpty(strs)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (String pattern : strs) {
|
for (String pattern : strs) {
|
||||||
if (ReUtil.isMatch(pattern, str)) {
|
if (isMatch(pattern, str)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断url是否与规则配置:
|
||||||
|
* ? 表示单个字符;
|
||||||
|
* * 表示一层路径内的任意字符串,不可跨层级;
|
||||||
|
* ** 表示任意层路径;
|
||||||
|
*
|
||||||
|
* @param pattern 匹配规则
|
||||||
|
* @param url 需要匹配的url
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static boolean isMatch(String pattern, String url) {
|
||||||
|
return ReUtil.isMatch(pattern, url);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public static <T> T cast(Object obj) {
|
||||||
|
return (T) obj;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,7 +147,7 @@ public class FileUploadUtils
|
||||||
private static final String getPathFileName(String uploadDir, String fileName) throws IOException
|
private static final String getPathFileName(String uploadDir, String fileName) throws IOException
|
||||||
{
|
{
|
||||||
int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
|
int dirLastIndex = RuoYiConfig.getProfile().length() + 1;
|
||||||
String currentDir = StringUtils.subSuf(uploadDir, dirLastIndex);
|
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
|
||||||
String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
|
String pathFileName = Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
|
||||||
return pathFileName;
|
return pathFileName;
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class ImageUtils
|
||||||
{
|
{
|
||||||
// 本机地址
|
// 本机地址
|
||||||
String localPath = RuoYiConfig.getProfile();
|
String localPath = RuoYiConfig.getProfile();
|
||||||
String downloadPath = localPath + StringUtils.subAfter(url, Constants.RESOURCE_PREFIX,false);
|
String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX);
|
||||||
in = new FileInputStream(downloadPath);
|
in = new FileInputStream(downloadPath);
|
||||||
}
|
}
|
||||||
return IOUtils.toByteArray(in);
|
return IOUtils.toByteArray(in);
|
||||||
|
|
|
@ -218,9 +218,9 @@ public class ExcelUtil<T>
|
||||||
if (String.class == fieldType)
|
if (String.class == fieldType)
|
||||||
{
|
{
|
||||||
String s = Convert.toStr(val);
|
String s = Convert.toStr(val);
|
||||||
if (StringUtils.endWith(s, ".0"))
|
if (StringUtils.endsWith(s, ".0"))
|
||||||
{
|
{
|
||||||
val = StringUtils.subBefore(s, ".0",false);
|
val = StringUtils.substringBefore(s, ".0");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -715,7 +715,7 @@ public class ExcelUtil<T>
|
||||||
for (String item : convertSource)
|
for (String item : convertSource)
|
||||||
{
|
{
|
||||||
String[] itemArray = item.split("=");
|
String[] itemArray = item.split("=");
|
||||||
if (StringUtils.containsAny(propertyValue, separator))
|
if (StringUtils.containsAny(separator, propertyValue))
|
||||||
{
|
{
|
||||||
for (String value : propertyValue.split(separator))
|
for (String value : propertyValue.split(separator))
|
||||||
{
|
{
|
||||||
|
@ -734,7 +734,7 @@ public class ExcelUtil<T>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return StringUtils.strip(propertyString.toString(), null,separator);
|
return StringUtils.stripEnd(propertyString.toString(), separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -752,7 +752,7 @@ public class ExcelUtil<T>
|
||||||
for (String item : convertSource)
|
for (String item : convertSource)
|
||||||
{
|
{
|
||||||
String[] itemArray = item.split("=");
|
String[] itemArray = item.split("=");
|
||||||
if (StringUtils.containsAny(propertyValue, separator))
|
if (StringUtils.containsAny(separator, propertyValue))
|
||||||
{
|
{
|
||||||
for (String value : propertyValue.split(separator))
|
for (String value : propertyValue.split(separator))
|
||||||
{
|
{
|
||||||
|
@ -771,7 +771,7 @@ public class ExcelUtil<T>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return StringUtils.strip(propertyString.toString(), null,separator);
|
return StringUtils.stripEnd(propertyString.toString(), separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -4,7 +4,6 @@ import cn.hutool.core.util.ReflectUtil;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
|
* 反射工具类. 提供调用getter/setter方法, 访问私有变量, 调用私有方法, 获取泛型类型Class, 被AOP过的真实类等工具函数.
|
||||||
|
@ -26,7 +25,7 @@ public class ReflectUtils extends ReflectUtil {
|
||||||
public static <E> E invokeGetter(Object obj, String propertyName) {
|
public static <E> E invokeGetter(Object obj, String propertyName) {
|
||||||
Object object = obj;
|
Object object = obj;
|
||||||
for (String name : StringUtils.split(propertyName, ".")) {
|
for (String name : StringUtils.split(propertyName, ".")) {
|
||||||
String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(name);
|
String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(name);
|
||||||
object = invoke(object, getterMethodName);
|
object = invoke(object, getterMethodName);
|
||||||
}
|
}
|
||||||
return (E) object;
|
return (E) object;
|
||||||
|
@ -38,13 +37,13 @@ public class ReflectUtils extends ReflectUtil {
|
||||||
*/
|
*/
|
||||||
public static <E> void invokeSetter(Object obj, String propertyName, E value) {
|
public static <E> void invokeSetter(Object obj, String propertyName, E value) {
|
||||||
Object object = obj;
|
Object object = obj;
|
||||||
List<String> names = StringUtils.split(propertyName, ".");
|
String[] names = StringUtils.split(propertyName, ".");
|
||||||
for (int i = 0; i < names.size(); i++) {
|
for (int i = 0; i < names.length; i++) {
|
||||||
if (i < names.size() - 1) {
|
if (i < names.length - 1) {
|
||||||
String getterMethodName = GETTER_PREFIX + StringUtils.upperFirst(names.get(i));
|
String getterMethodName = GETTER_PREFIX + StringUtils.capitalize(names[i]);
|
||||||
object = invoke(object, getterMethodName);
|
object = invoke(object, getterMethodName);
|
||||||
} else {
|
} else {
|
||||||
String setterMethodName = SETTER_PREFIX + StringUtils.upperFirst(names.get(i));
|
String setterMethodName = SETTER_PREFIX + StringUtils.capitalize(names[i]);
|
||||||
Method method = getMethodByName(object.getClass(), setterMethodName);
|
Method method = getMethodByName(object.getClass(), setterMethodName);
|
||||||
invoke(object, method, value);
|
invoke(object, method, value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package com.ruoyi.framework.aspectj;
|
package com.ruoyi.framework.aspectj;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.reflect.ReflectUtils;
|
import com.ruoyi.common.utils.reflect.ReflectUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
|
@ -80,10 +79,10 @@ public class DataScopeAspect {
|
||||||
}
|
}
|
||||||
// 获取当前的用户
|
// 获取当前的用户
|
||||||
LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNotNull(loginUser)) {
|
if (StringUtils.isNotNull(loginUser)) {
|
||||||
SysUser currentUser = loginUser.getUser();
|
SysUser currentUser = loginUser.getUser();
|
||||||
// 如果是超级管理员,则不过滤数据
|
// 如果是超级管理员,则不过滤数据
|
||||||
if (Validator.isNotNull(currentUser) && !currentUser.isAdmin()) {
|
if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) {
|
||||||
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
|
dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
|
||||||
controllerDataScope.userAlias(), controllerDataScope.isUser());
|
controllerDataScope.userAlias(), controllerDataScope.isUser());
|
||||||
}
|
}
|
||||||
|
@ -155,14 +154,14 @@ public class DataScopeAspect {
|
||||||
*/
|
*/
|
||||||
private void clearDataScope(final JoinPoint joinPoint) {
|
private void clearDataScope(final JoinPoint joinPoint) {
|
||||||
Object params = joinPoint.getArgs()[0];
|
Object params = joinPoint.getArgs()[0];
|
||||||
if (Validator.isNotNull(params)) {
|
if (StringUtils.isNotNull(params)) {
|
||||||
putDataScope(joinPoint, "");
|
putDataScope(joinPoint, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void putDataScope(JoinPoint joinPoint, String sql) {
|
private static void putDataScope(JoinPoint joinPoint, String sql) {
|
||||||
Object params = joinPoint.getArgs()[0];
|
Object params = joinPoint.getArgs()[0];
|
||||||
if (Validator.isNotNull(params)) {
|
if (StringUtils.isNotNull(params)) {
|
||||||
if (params instanceof BaseEntity) {
|
if (params instanceof BaseEntity) {
|
||||||
BaseEntity baseEntity = (BaseEntity) params;
|
BaseEntity baseEntity = (BaseEntity) params;
|
||||||
baseEntity.getParams().put(DATA_SCOPE, sql);
|
baseEntity.getParams().put(DATA_SCOPE, sql);
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package com.ruoyi.framework.aspectj;
|
package com.ruoyi.framework.aspectj;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
||||||
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.annotation.Around;
|
import org.aspectj.lang.annotation.Around;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
|
@ -33,7 +33,7 @@ public class DataSourceAspect {
|
||||||
public Object around(ProceedingJoinPoint point) throws Throwable {
|
public Object around(ProceedingJoinPoint point) throws Throwable {
|
||||||
DataSource dataSource = getDataSource(point);
|
DataSource dataSource = getDataSource(point);
|
||||||
|
|
||||||
if (Validator.isNotNull(dataSource)) {
|
if (StringUtils.isNotNull(dataSource)) {
|
||||||
DynamicDataSourceContextHolder.poll();
|
DynamicDataSourceContextHolder.poll();
|
||||||
String source = dataSource.value().getSource();
|
String source = dataSource.value().getSource();
|
||||||
DynamicDataSourceContextHolder.push(source);
|
DynamicDataSourceContextHolder.push(source);
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
package com.ruoyi.framework.aspectj;
|
package com.ruoyi.framework.aspectj;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.enums.BusinessStatus;
|
import com.ruoyi.common.enums.BusinessStatus;
|
||||||
import com.ruoyi.common.enums.HttpMethod;
|
import com.ruoyi.common.enums.HttpMethod;
|
||||||
import com.ruoyi.common.utils.JsonUtils;
|
import com.ruoyi.common.utils.JsonUtils;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.framework.web.service.AsyncService;
|
import com.ruoyi.framework.web.service.AsyncService;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
|
@ -104,7 +103,7 @@ public class LogAspect
|
||||||
if (e != null)
|
if (e != null)
|
||||||
{
|
{
|
||||||
operLog.setStatus(BusinessStatus.FAIL.ordinal());
|
operLog.setStatus(BusinessStatus.FAIL.ordinal());
|
||||||
operLog.setErrorMsg(StringUtils.sub(e.getMessage(), 0, 2000));
|
operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000));
|
||||||
}
|
}
|
||||||
// 设置方法名称
|
// 设置方法名称
|
||||||
String className = joinPoint.getTarget().getClass().getName();
|
String className = joinPoint.getTarget().getClass().getName();
|
||||||
|
@ -161,12 +160,12 @@ public class LogAspect
|
||||||
if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))
|
if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))
|
||||||
{
|
{
|
||||||
String params = argsArrayToString(joinPoint.getArgs());
|
String params = argsArrayToString(joinPoint.getArgs());
|
||||||
operLog.setOperParam(StringUtils.sub(params, 0, 2000));
|
operLog.setOperParam(StringUtils.substring(params, 0, 2000));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
|
Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
|
||||||
operLog.setOperParam(StringUtils.sub(paramsMap.toString(), 0, 2000));
|
operLog.setOperParam(StringUtils.substring(paramsMap.toString(), 0, 2000));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,7 +194,7 @@ public class LogAspect
|
||||||
if (paramsArray != null && paramsArray.length > 0)
|
if (paramsArray != null && paramsArray.length > 0)
|
||||||
{
|
{
|
||||||
for (Object o : paramsArray) {
|
for (Object o : paramsArray) {
|
||||||
if (Validator.isNotNull(o) && !isFilterObject(o)) {
|
if (StringUtils.isNotNull(o) && !isFilterObject(o)) {
|
||||||
params.append(JsonUtils.toJsonString(o)).append(" ");
|
params.append(JsonUtils.toJsonString(o)).append(" ");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,8 +45,8 @@ public class UnsignedMathGenerator implements CodeGenerator {
|
||||||
int max = RandomUtil.randomInt(min, limit);
|
int max = RandomUtil.randomInt(min, limit);
|
||||||
String number1 = Integer.toString(max);
|
String number1 = Integer.toString(max);
|
||||||
String number2 = Integer.toString(min);
|
String number2 = Integer.toString(min);
|
||||||
number1 = StringUtils.padAfter(number1, this.numberLength, CharUtil.SPACE);
|
number1 = StringUtils.rightPad(number1, this.numberLength, CharUtil.SPACE);
|
||||||
number2 = StringUtils.padAfter(number2, this.numberLength, CharUtil.SPACE);
|
number2 = StringUtils.rightPad(number2, this.numberLength, CharUtil.SPACE);
|
||||||
|
|
||||||
return number1 + RandomUtil.randomChar(operators) + number2 + '=';
|
return number1 + RandomUtil.randomChar(operators) + number2 + '=';
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ public class FilterConfig {
|
||||||
FilterRegistrationBean registration = new FilterRegistrationBean();
|
FilterRegistrationBean registration = new FilterRegistrationBean();
|
||||||
registration.setDispatcherTypes(DispatcherType.REQUEST);
|
registration.setDispatcherTypes(DispatcherType.REQUEST);
|
||||||
registration.setFilter(new XssFilter());
|
registration.setFilter(new XssFilter());
|
||||||
registration.addUrlPatterns(StringUtils.splitToArray(xssProperties.getUrlPatterns(), ","));
|
registration.addUrlPatterns(StringUtils.split(xssProperties.getUrlPatterns(), ","));
|
||||||
registration.setName("xssFilter");
|
registration.setName("xssFilter");
|
||||||
registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
|
registration.setOrder(FilterRegistrationBean.HIGHEST_PRECEDENCE);
|
||||||
Map<String, String> initParameters = new HashMap<String, String>();
|
Map<String, String> initParameters = new HashMap<String, String>();
|
||||||
|
|
|
@ -2,12 +2,12 @@ package com.ruoyi.framework.interceptor.impl;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.io.IoUtil;
|
import cn.hutool.core.io.IoUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.filter.RepeatedlyRequestWrapper;
|
import com.ruoyi.common.filter.RepeatedlyRequestWrapper;
|
||||||
import com.ruoyi.common.utils.JsonUtils;
|
import com.ruoyi.common.utils.JsonUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.framework.config.properties.RepeatSubmitProperties;
|
import com.ruoyi.framework.config.properties.RepeatSubmitProperties;
|
||||||
import com.ruoyi.framework.config.properties.TokenProperties;
|
import com.ruoyi.framework.config.properties.TokenProperties;
|
||||||
import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor;
|
import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor;
|
||||||
|
@ -60,7 +60,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
// body参数为空,获取Parameter的数据
|
// body参数为空,获取Parameter的数据
|
||||||
if (Validator.isEmpty(nowParams)) {
|
if (StringUtils.isEmpty(nowParams)) {
|
||||||
nowParams = JsonUtils.toJsonString(request.getParameterMap());
|
nowParams = JsonUtils.toJsonString(request.getParameterMap());
|
||||||
}
|
}
|
||||||
Map<String, Object> nowDataMap = new HashMap<String, Object>();
|
Map<String, Object> nowDataMap = new HashMap<String, Object>();
|
||||||
|
@ -72,7 +72,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor {
|
||||||
|
|
||||||
// 唯一值(没有消息头则使用请求地址)
|
// 唯一值(没有消息头则使用请求地址)
|
||||||
String submitKey = request.getHeader(tokenProperties.getHeader());
|
String submitKey = request.getHeader(tokenProperties.getHeader());
|
||||||
if (Validator.isEmpty(submitKey)) {
|
if (StringUtils.isEmpty(submitKey)) {
|
||||||
submitKey = url;
|
submitKey = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package com.ruoyi.framework.mybatisplus;
|
package com.ruoyi.framework.mybatisplus;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.exception.CustomException;
|
import com.ruoyi.common.exception.CustomException;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.ibatis.reflection.MetaObject;
|
import org.apache.ibatis.reflection.MetaObject;
|
||||||
|
|
||||||
|
@ -25,12 +25,12 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
||||||
try {
|
try {
|
||||||
//根据属性名字设置要填充的值
|
//根据属性名字设置要填充的值
|
||||||
if (metaObject.hasGetter("createTime")) {
|
if (metaObject.hasGetter("createTime")) {
|
||||||
if (Validator.isEmpty(metaObject.getValue("createTime"))) {
|
if (StringUtils.isEmpty(metaObject.getValue("createTime"))) {
|
||||||
this.setFieldValByName("createTime", new Date(), metaObject);
|
this.setFieldValByName("createTime", new Date(), metaObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (metaObject.hasGetter("createBy")) {
|
if (metaObject.hasGetter("createBy")) {
|
||||||
if (Validator.isEmpty(metaObject.getValue("createBy"))) {
|
if (StringUtils.isEmpty(metaObject.getValue("createBy"))) {
|
||||||
this.setFieldValByName("createBy", getLoginUsername(), metaObject);
|
this.setFieldValByName("createBy", getLoginUsername(), metaObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -43,12 +43,12 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
||||||
public void updateFill(MetaObject metaObject) {
|
public void updateFill(MetaObject metaObject) {
|
||||||
try {
|
try {
|
||||||
if (metaObject.hasGetter("updateBy")) {
|
if (metaObject.hasGetter("updateBy")) {
|
||||||
if (Validator.isEmpty(metaObject.getValue("updateBy"))) {
|
if (StringUtils.isEmpty(metaObject.getValue("updateBy"))) {
|
||||||
this.setFieldValByName("updateBy", getLoginUsername(), metaObject);
|
this.setFieldValByName("updateBy", getLoginUsername(), metaObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (metaObject.hasGetter("updateTime")) {
|
if (metaObject.hasGetter("updateTime")) {
|
||||||
if (Validator.isEmpty(metaObject.getValue("updateTime"))) {
|
if (StringUtils.isEmpty(metaObject.getValue("updateTime"))) {
|
||||||
this.setFieldValByName("updateTime", new Date(), metaObject);
|
this.setFieldValByName("updateTime", new Date(), metaObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
package com.ruoyi.framework.security.filter;
|
package com.ruoyi.framework.security.filter;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
|
@ -33,7 +33,7 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
|
||||||
throws ServletException, IOException
|
throws ServletException, IOException
|
||||||
{
|
{
|
||||||
LoginUser loginUser = tokenService.getLoginUser(request);
|
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||||
if (Validator.isNotNull(loginUser) && Validator.isNull(SecurityUtils.getAuthentication()))
|
if (StringUtils.isNotNull(loginUser) && StringUtils.isNull(SecurityUtils.getAuthentication()))
|
||||||
{
|
{
|
||||||
tokenService.verifyToken(loginUser);
|
tokenService.verifyToken(loginUser);
|
||||||
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
|
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(loginUser, null, loginUser.getAuthorities());
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package com.ruoyi.framework.security.handle;
|
package com.ruoyi.framework.security.handle;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.utils.JsonUtils;
|
import com.ruoyi.common.utils.JsonUtils;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.framework.web.service.AsyncService;
|
import com.ruoyi.framework.web.service.AsyncService;
|
||||||
import com.ruoyi.framework.web.service.TokenService;
|
import com.ruoyi.framework.web.service.TokenService;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -40,7 +40,7 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler {
|
||||||
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
|
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
|
||||||
throws IOException, ServletException {
|
throws IOException, ServletException {
|
||||||
LoginUser loginUser = tokenService.getLoginUser(request);
|
LoginUser loginUser = tokenService.getLoginUser(request);
|
||||||
if (Validator.isNotNull(loginUser)) {
|
if (StringUtils.isNotNull(loginUser)) {
|
||||||
String userName = loginUser.getUsername();
|
String userName = loginUser.getUsername();
|
||||||
// 删除用户缓存记录
|
// 删除用户缓存记录
|
||||||
tokenService.delLoginUser(loginUser.getToken());
|
tokenService.delLoginUser(loginUser.getToken());
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package com.ruoyi.framework.web.exception;
|
package com.ruoyi.framework.web.exception;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.http.HttpStatus;
|
import cn.hutool.http.HttpStatus;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.exception.BaseException;
|
import com.ruoyi.common.exception.BaseException;
|
||||||
import com.ruoyi.common.exception.CustomException;
|
import com.ruoyi.common.exception.CustomException;
|
||||||
import com.ruoyi.common.exception.DemoModeException;
|
import com.ruoyi.common.exception.DemoModeException;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.security.access.AccessDeniedException;
|
import org.springframework.security.access.AccessDeniedException;
|
||||||
|
@ -44,7 +44,7 @@ public class GlobalExceptionHandler
|
||||||
@ExceptionHandler(CustomException.class)
|
@ExceptionHandler(CustomException.class)
|
||||||
public AjaxResult businessException(CustomException e)
|
public AjaxResult businessException(CustomException e)
|
||||||
{
|
{
|
||||||
if (Validator.isNull(e.getCode()))
|
if (StringUtils.isNull(e.getCode()))
|
||||||
{
|
{
|
||||||
return AjaxResult.error(e.getMessage());
|
return AjaxResult.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
package com.ruoyi.framework.web.service;
|
package com.ruoyi.framework.web.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.core.domain.entity.SysRole;
|
import com.ruoyi.common.core.domain.entity.SysRole;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -39,12 +39,12 @@ public class PermissionService
|
||||||
*/
|
*/
|
||||||
public boolean hasPermi(String permission)
|
public boolean hasPermi(String permission)
|
||||||
{
|
{
|
||||||
if (Validator.isEmpty(permission))
|
if (StringUtils.isEmpty(permission))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions()))
|
if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -70,12 +70,12 @@ public class PermissionService
|
||||||
*/
|
*/
|
||||||
public boolean hasAnyPermi(String permissions)
|
public boolean hasAnyPermi(String permissions)
|
||||||
{
|
{
|
||||||
if (Validator.isEmpty(permissions))
|
if (StringUtils.isEmpty(permissions))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions()))
|
if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -98,12 +98,12 @@ public class PermissionService
|
||||||
*/
|
*/
|
||||||
public boolean hasRole(String role)
|
public boolean hasRole(String role)
|
||||||
{
|
{
|
||||||
if (Validator.isEmpty(role))
|
if (StringUtils.isEmpty(role))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles()))
|
if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -137,12 +137,12 @@ public class PermissionService
|
||||||
*/
|
*/
|
||||||
public boolean hasAnyRoles(String roles)
|
public boolean hasAnyRoles(String roles)
|
||||||
{
|
{
|
||||||
if (Validator.isEmpty(roles))
|
if (StringUtils.isEmpty(roles))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
|
||||||
if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles()))
|
if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles()))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.framework.web.service;
|
package com.ruoyi.framework.web.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
import cn.hutool.http.useragent.UserAgent;
|
import cn.hutool.http.useragent.UserAgent;
|
||||||
import cn.hutool.http.useragent.UserAgentUtil;
|
import cn.hutool.http.useragent.UserAgentUtil;
|
||||||
|
@ -8,6 +7,7 @@ import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.core.redis.RedisCache;
|
import com.ruoyi.common.core.redis.RedisCache;
|
||||||
import com.ruoyi.common.utils.ServletUtils;
|
import com.ruoyi.common.utils.ServletUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.ip.AddressUtils;
|
import com.ruoyi.common.utils.ip.AddressUtils;
|
||||||
import com.ruoyi.framework.config.properties.TokenProperties;
|
import com.ruoyi.framework.config.properties.TokenProperties;
|
||||||
import io.jsonwebtoken.Claims;
|
import io.jsonwebtoken.Claims;
|
||||||
|
@ -49,7 +49,7 @@ public class TokenService {
|
||||||
public LoginUser getLoginUser(HttpServletRequest request) {
|
public LoginUser getLoginUser(HttpServletRequest request) {
|
||||||
// 获取请求携带的令牌
|
// 获取请求携带的令牌
|
||||||
String token = getToken(request);
|
String token = getToken(request);
|
||||||
if (Validator.isNotEmpty(token)) {
|
if (StringUtils.isNotEmpty(token)) {
|
||||||
try {
|
try {
|
||||||
Claims claims = parseToken(token);
|
Claims claims = parseToken(token);
|
||||||
// 解析对应的权限以及用户信息
|
// 解析对应的权限以及用户信息
|
||||||
|
@ -68,7 +68,7 @@ public class TokenService {
|
||||||
* 设置用户身份信息
|
* 设置用户身份信息
|
||||||
*/
|
*/
|
||||||
public void setLoginUser(LoginUser loginUser) {
|
public void setLoginUser(LoginUser loginUser) {
|
||||||
if (Validator.isNotNull(loginUser) && Validator.isNotEmpty(loginUser.getToken())) {
|
if (StringUtils.isNotNull(loginUser) && StringUtils.isNotEmpty(loginUser.getToken())) {
|
||||||
refreshToken(loginUser);
|
refreshToken(loginUser);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ public class TokenService {
|
||||||
* 删除用户身份信息
|
* 删除用户身份信息
|
||||||
*/
|
*/
|
||||||
public void delLoginUser(String token) {
|
public void delLoginUser(String token) {
|
||||||
if (Validator.isNotEmpty(token)) {
|
if (StringUtils.isNotEmpty(token)) {
|
||||||
String userKey = getTokenKey(token);
|
String userKey = getTokenKey(token);
|
||||||
redisCache.deleteObject(userKey);
|
redisCache.deleteObject(userKey);
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ public class TokenService {
|
||||||
*/
|
*/
|
||||||
private String getToken(HttpServletRequest request) {
|
private String getToken(HttpServletRequest request) {
|
||||||
String token = request.getHeader(tokenProperties.getHeader());
|
String token = request.getHeader(tokenProperties.getHeader());
|
||||||
if (Validator.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)) {
|
if (StringUtils.isNotEmpty(token) && token.startsWith(Constants.TOKEN_PREFIX)) {
|
||||||
token = token.replace(Constants.TOKEN_PREFIX, "");
|
token = token.replace(Constants.TOKEN_PREFIX, "");
|
||||||
}
|
}
|
||||||
return token;
|
return token;
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package com.ruoyi.framework.web.service;
|
package com.ruoyi.framework.web.service;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
import com.ruoyi.common.enums.UserStatus;
|
import com.ruoyi.common.enums.UserStatus;
|
||||||
import com.ruoyi.common.exception.BaseException;
|
import com.ruoyi.common.exception.BaseException;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.service.ISysUserService;
|
import com.ruoyi.system.service.ISysUserService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -34,7 +34,7 @@ public class UserDetailsServiceImpl implements UserDetailsService
|
||||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
|
||||||
{
|
{
|
||||||
SysUser user = userService.selectUserByUserName(username);
|
SysUser user = userService.selectUserByUserName(username);
|
||||||
if (Validator.isNull(user))
|
if (StringUtils.isNull(user))
|
||||||
{
|
{
|
||||||
log.info("登录用户:{} 不存在.", username);
|
log.info("登录用户:{} 不存在.", username);
|
||||||
throw new UsernameNotFoundException("登录用户:" + username + " 不存在");
|
throw new UsernameNotFoundException("登录用户:" + username + " 不存在");
|
||||||
|
|
|
@ -150,7 +150,7 @@ public class GenTableColumn implements Serializable {
|
||||||
private Map<String, Object> params = new HashMap<>();
|
private Map<String, Object> params = new HashMap<>();
|
||||||
|
|
||||||
public String getCapJavaField() {
|
public String getCapJavaField() {
|
||||||
return StringUtils.upperFirst(javaField);
|
return StringUtils.uncapitalize(javaField);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isPk() {
|
public boolean isPk() {
|
||||||
|
@ -231,7 +231,7 @@ public class GenTableColumn implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String readConverterExp() {
|
public String readConverterExp() {
|
||||||
String remarks = StringUtils.subBetween(this.columnComment, "(", ")");
|
String remarks = StringUtils.substringBetween(this.columnComment, "(", ")");
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
if (StringUtils.isNotEmpty(remarks)) {
|
if (StringUtils.isNotEmpty(remarks)) {
|
||||||
for (String value : remarks.split(" ")) {
|
for (String value : remarks.split(" ")) {
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.ruoyi.generator.service;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
@ -260,7 +259,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
// 获取模板列表
|
// 获取模板列表
|
||||||
List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
|
List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());
|
||||||
for (String template : templates) {
|
for (String template : templates) {
|
||||||
if (!StringUtils.containsAny("sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm", template)) {
|
if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")) {
|
||||||
// 渲染模板
|
// 渲染模板
|
||||||
StringWriter sw = new StringWriter();
|
StringWriter sw = new StringWriter();
|
||||||
Template tpl = Velocity.getTemplate(template, Constants.UTF8);
|
Template tpl = Velocity.getTemplate(template, Constants.UTF8);
|
||||||
|
@ -284,7 +283,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
List<String> tableColumnNames = tableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
||||||
|
|
||||||
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
|
List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
|
||||||
if (Validator.isEmpty(dbTableColumns)) {
|
if (StringUtils.isEmpty(dbTableColumns)) {
|
||||||
throw new CustomException("同步数据失败,原表结构不存在");
|
throw new CustomException("同步数据失败,原表结构不存在");
|
||||||
}
|
}
|
||||||
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
|
||||||
|
@ -364,16 +363,16 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
public void validateEdit(GenTable genTable) {
|
public void validateEdit(GenTable genTable) {
|
||||||
if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) {
|
if (GenConstants.TPL_TREE.equals(genTable.getTplCategory())) {
|
||||||
Map<String, Object> paramsObj = genTable.getParams();
|
Map<String, Object> paramsObj = genTable.getParams();
|
||||||
if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) {
|
if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_CODE))) {
|
||||||
throw new CustomException("树编码字段不能为空");
|
throw new CustomException("树编码字段不能为空");
|
||||||
} else if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) {
|
} else if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_PARENT_CODE))) {
|
||||||
throw new CustomException("树父编码字段不能为空");
|
throw new CustomException("树父编码字段不能为空");
|
||||||
} else if (Validator.isEmpty(paramsObj.get(GenConstants.TREE_NAME))) {
|
} else if (StringUtils.isEmpty(paramsObj.get(GenConstants.TREE_NAME))) {
|
||||||
throw new CustomException("树名称字段不能为空");
|
throw new CustomException("树名称字段不能为空");
|
||||||
} else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) {
|
} else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) {
|
||||||
if (Validator.isEmpty(genTable.getSubTableName())) {
|
if (StringUtils.isEmpty(genTable.getSubTableName())) {
|
||||||
throw new CustomException("关联子表的表名不能为空");
|
throw new CustomException("关联子表的表名不能为空");
|
||||||
} else if (Validator.isEmpty(genTable.getSubTableFkName())) {
|
} else if (StringUtils.isEmpty(genTable.getSubTableFkName())) {
|
||||||
throw new CustomException("子表关联的外键名不能为空");
|
throw new CustomException("子表关联的外键名不能为空");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -392,7 +391,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Validator.isNull(table.getPkColumn())) {
|
if (StringUtils.isNull(table.getPkColumn())) {
|
||||||
table.setPkColumn(table.getColumns().get(0));
|
table.setPkColumn(table.getColumns().get(0));
|
||||||
}
|
}
|
||||||
if (GenConstants.TPL_SUB.equals(table.getTplCategory())) {
|
if (GenConstants.TPL_SUB.equals(table.getTplCategory())) {
|
||||||
|
@ -402,7 +401,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Validator.isNull(table.getSubTable().getPkColumn())) {
|
if (StringUtils.isNull(table.getSubTable().getPkColumn())) {
|
||||||
table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0));
|
table.getSubTable().setPkColumn(table.getSubTable().getColumns().get(0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -415,7 +414,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
*/
|
*/
|
||||||
public void setSubTable(GenTable table) {
|
public void setSubTable(GenTable table) {
|
||||||
String subTableName = table.getSubTableName();
|
String subTableName = table.getSubTableName();
|
||||||
if (Validator.isNotEmpty(subTableName)) {
|
if (StringUtils.isNotEmpty(subTableName)) {
|
||||||
table.setSubTable(baseMapper.selectGenTableByName(subTableName));
|
table.setSubTable(baseMapper.selectGenTableByName(subTableName));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -427,7 +426,7 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
|
||||||
*/
|
*/
|
||||||
public void setTableFromOptions(GenTable genTable) {
|
public void setTableFromOptions(GenTable genTable) {
|
||||||
Map<String, Object> paramsObj = JsonUtils.parseMap(genTable.getOptions());
|
Map<String, Object> paramsObj = JsonUtils.parseMap(genTable.getOptions());
|
||||||
if (Validator.isNotNull(paramsObj)) {
|
if (StringUtils.isNotNull(paramsObj)) {
|
||||||
String treeCode = Convert.toStr(paramsObj.get(GenConstants.TREE_CODE));
|
String treeCode = Convert.toStr(paramsObj.get(GenConstants.TREE_CODE));
|
||||||
String treeParentCode = Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE));
|
String treeParentCode = Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE));
|
||||||
String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME));
|
String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME));
|
||||||
|
|
|
@ -61,7 +61,7 @@ public class GenUtils
|
||||||
column.setHtmlType(GenConstants.HTML_INPUT);
|
column.setHtmlType(GenConstants.HTML_INPUT);
|
||||||
|
|
||||||
// 如果是浮点型 统一用BigDecimal
|
// 如果是浮点型 统一用BigDecimal
|
||||||
String[] str = StringUtils.splitToArray(StringUtils.subBetween(column.getColumnType(), "(", ")"), ",");
|
String[] str = StringUtils.split(StringUtils.substringBetween(column.getColumnType(), "(", ")"), ",");
|
||||||
if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0)
|
if (str != null && str.length == 2 && Integer.parseInt(str[1]) > 0)
|
||||||
{
|
{
|
||||||
column.setJavaType(GenConstants.TYPE_BIGDECIMAL);
|
column.setJavaType(GenConstants.TYPE_BIGDECIMAL);
|
||||||
|
@ -98,33 +98,33 @@ public class GenUtils
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询字段类型
|
// 查询字段类型
|
||||||
if (StringUtils.endWithIgnoreCase(columnName, "name"))
|
if (StringUtils.endsWithIgnoreCase(columnName, "name"))
|
||||||
{
|
{
|
||||||
column.setQueryType(GenConstants.QUERY_LIKE);
|
column.setQueryType(GenConstants.QUERY_LIKE);
|
||||||
}
|
}
|
||||||
// 状态字段设置单选框
|
// 状态字段设置单选框
|
||||||
if (StringUtils.endWithIgnoreCase(columnName, "status"))
|
if (StringUtils.endsWithIgnoreCase(columnName, "status"))
|
||||||
{
|
{
|
||||||
column.setHtmlType(GenConstants.HTML_RADIO);
|
column.setHtmlType(GenConstants.HTML_RADIO);
|
||||||
}
|
}
|
||||||
// 类型&性别字段设置下拉框
|
// 类型&性别字段设置下拉框
|
||||||
else if (StringUtils.endWithIgnoreCase(columnName, "type")
|
else if (StringUtils.endsWithIgnoreCase(columnName, "type")
|
||||||
|| StringUtils.endWithIgnoreCase(columnName, "sex"))
|
|| StringUtils.endsWithIgnoreCase(columnName, "sex"))
|
||||||
{
|
{
|
||||||
column.setHtmlType(GenConstants.HTML_SELECT);
|
column.setHtmlType(GenConstants.HTML_SELECT);
|
||||||
}
|
}
|
||||||
// 图片字段设置图片上传控件
|
// 图片字段设置图片上传控件
|
||||||
else if (StringUtils.endWithIgnoreCase(columnName, "image"))
|
else if (StringUtils.endsWithIgnoreCase(columnName, "image"))
|
||||||
{
|
{
|
||||||
column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
|
column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
|
||||||
}
|
}
|
||||||
// 文件字段设置文件上传控件
|
// 文件字段设置文件上传控件
|
||||||
else if (StringUtils.endWithIgnoreCase(columnName, "file"))
|
else if (StringUtils.endsWithIgnoreCase(columnName, "file"))
|
||||||
{
|
{
|
||||||
column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
|
column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
|
||||||
}
|
}
|
||||||
// 内容字段设置富文本控件
|
// 内容字段设置富文本控件
|
||||||
else if (StringUtils.endWithIgnoreCase(columnName, "content"))
|
else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
|
||||||
{
|
{
|
||||||
column.setHtmlType(GenConstants.HTML_EDITOR);
|
column.setHtmlType(GenConstants.HTML_EDITOR);
|
||||||
}
|
}
|
||||||
|
@ -152,7 +152,7 @@ public class GenUtils
|
||||||
{
|
{
|
||||||
int lastIndex = packageName.lastIndexOf(".");
|
int lastIndex = packageName.lastIndexOf(".");
|
||||||
int nameLength = packageName.length();
|
int nameLength = packageName.length();
|
||||||
String moduleName = StringUtils.sub(packageName, lastIndex + 1, nameLength);
|
String moduleName = StringUtils.substring(packageName, lastIndex + 1, nameLength);
|
||||||
return moduleName;
|
return moduleName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ public class GenUtils
|
||||||
{
|
{
|
||||||
int lastIndex = tableName.lastIndexOf("_");
|
int lastIndex = tableName.lastIndexOf("_");
|
||||||
int nameLength = tableName.length();
|
int nameLength = tableName.length();
|
||||||
String businessName = StringUtils.sub(tableName, lastIndex + 1, nameLength);
|
String businessName = StringUtils.substring(tableName, lastIndex + 1, nameLength);
|
||||||
return businessName;
|
return businessName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -182,10 +182,10 @@ public class GenUtils
|
||||||
String tablePrefix = GenConfig.getTablePrefix();
|
String tablePrefix = GenConfig.getTablePrefix();
|
||||||
if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix))
|
if (autoRemovePre && StringUtils.isNotEmpty(tablePrefix))
|
||||||
{
|
{
|
||||||
String[] searchList = StringUtils.splitToArray(tablePrefix, ",");
|
String[] searchList = StringUtils.split(tablePrefix, ",");
|
||||||
tableName = replaceFirst(tableName, searchList);
|
tableName = replaceFirst(tableName, searchList);
|
||||||
}
|
}
|
||||||
return StringUtils.upperFirst(StringUtils.toCamelCase(tableName));
|
return StringUtils.convertToCamelCase(tableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -230,7 +230,7 @@ public class GenUtils
|
||||||
{
|
{
|
||||||
if (StringUtils.indexOf(columnType, '(') > 0)
|
if (StringUtils.indexOf(columnType, '(') > 0)
|
||||||
{
|
{
|
||||||
return StringUtils.subBefore(columnType, "(",false);
|
return StringUtils.substringBefore(columnType, "(");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -248,7 +248,7 @@ public class GenUtils
|
||||||
{
|
{
|
||||||
if (StringUtils.indexOf(columnType, '(') > 0)
|
if (StringUtils.indexOf(columnType, '(') > 0)
|
||||||
{
|
{
|
||||||
String length = StringUtils.subBetween(columnType, "(", ")");
|
String length = StringUtils.substringBetween(columnType, "(", ")");
|
||||||
return Integer.valueOf(length);
|
return Integer.valueOf(length);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
package com.ruoyi.generator.util;
|
package com.ruoyi.generator.util;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.constant.GenConstants;
|
import com.ruoyi.common.constant.GenConstants;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.JsonUtils;
|
import com.ruoyi.common.utils.JsonUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.generator.domain.GenTable;
|
import com.ruoyi.generator.domain.GenTable;
|
||||||
import com.ruoyi.generator.domain.GenTableColumn;
|
import com.ruoyi.generator.domain.GenTableColumn;
|
||||||
import org.apache.velocity.VelocityContext;
|
import org.apache.velocity.VelocityContext;
|
||||||
|
@ -49,9 +48,9 @@ public class VelocityUtils
|
||||||
velocityContext.put("tableName", genTable.getTableName());
|
velocityContext.put("tableName", genTable.getTableName());
|
||||||
velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】");
|
velocityContext.put("functionName", StringUtils.isNotEmpty(functionName) ? functionName : "【请填写功能名称】");
|
||||||
velocityContext.put("ClassName", genTable.getClassName());
|
velocityContext.put("ClassName", genTable.getClassName());
|
||||||
velocityContext.put("className", StringUtils.lowerFirst(genTable.getClassName()));
|
velocityContext.put("className", StringUtils.uncapitalize(genTable.getClassName()));
|
||||||
velocityContext.put("moduleName", genTable.getModuleName());
|
velocityContext.put("moduleName", genTable.getModuleName());
|
||||||
velocityContext.put("BusinessName", StringUtils.upperFirst(genTable.getBusinessName()));
|
velocityContext.put("BusinessName", StringUtils.capitalize(genTable.getBusinessName()));
|
||||||
velocityContext.put("businessName", genTable.getBusinessName());
|
velocityContext.put("businessName", genTable.getBusinessName());
|
||||||
velocityContext.put("basePackage", getPackagePrefix(packageName));
|
velocityContext.put("basePackage", getPackagePrefix(packageName));
|
||||||
velocityContext.put("packageName", packageName);
|
velocityContext.put("packageName", packageName);
|
||||||
|
@ -110,15 +109,15 @@ public class VelocityUtils
|
||||||
String subTableName = genTable.getSubTableName();
|
String subTableName = genTable.getSubTableName();
|
||||||
String subTableFkName = genTable.getSubTableFkName();
|
String subTableFkName = genTable.getSubTableFkName();
|
||||||
String subClassName = genTable.getSubTable().getClassName();
|
String subClassName = genTable.getSubTable().getClassName();
|
||||||
String subTableFkClassName = StringUtils.toCamelCase(subTableFkName);
|
String subTableFkClassName = StringUtils.convertToCamelCase(subTableFkName);
|
||||||
|
|
||||||
context.put("subTable", subTable);
|
context.put("subTable", subTable);
|
||||||
context.put("subTableName", subTableName);
|
context.put("subTableName", subTableName);
|
||||||
context.put("subTableFkName", subTableFkName);
|
context.put("subTableFkName", subTableFkName);
|
||||||
context.put("subTableFkClassName", subTableFkClassName);
|
context.put("subTableFkClassName", subTableFkClassName);
|
||||||
context.put("subTableFkclassName", StringUtils.lowerFirst(subTableFkClassName));
|
context.put("subTableFkclassName", StringUtils.uncapitalize(subTableFkClassName));
|
||||||
context.put("subClassName", subClassName);
|
context.put("subClassName", subClassName);
|
||||||
context.put("subclassName", StringUtils.lowerFirst(subClassName));
|
context.put("subclassName", StringUtils.uncapitalize(subClassName));
|
||||||
context.put("subImportList", getImportList(genTable.getSubTable()));
|
context.put("subImportList", getImportList(genTable.getSubTable()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,7 +239,7 @@ public class VelocityUtils
|
||||||
public static String getPackagePrefix(String packageName)
|
public static String getPackagePrefix(String packageName)
|
||||||
{
|
{
|
||||||
int lastIndex = packageName.lastIndexOf(".");
|
int lastIndex = packageName.lastIndexOf(".");
|
||||||
String basePackage = StringUtils.sub(packageName, 0, lastIndex);
|
String basePackage = StringUtils.substring(packageName, 0, lastIndex);
|
||||||
return basePackage;
|
return basePackage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,7 +254,7 @@ public class VelocityUtils
|
||||||
List<GenTableColumn> columns = genTable.getColumns();
|
List<GenTableColumn> columns = genTable.getColumns();
|
||||||
GenTable subGenTable = genTable.getSubTable();
|
GenTable subGenTable = genTable.getSubTable();
|
||||||
HashSet<String> importList = new HashSet<String>();
|
HashSet<String> importList = new HashSet<String>();
|
||||||
if (Validator.isNotNull(subGenTable))
|
if (StringUtils.isNotNull(subGenTable))
|
||||||
{
|
{
|
||||||
importList.add("java.util.List");
|
importList.add("java.util.List");
|
||||||
}
|
}
|
||||||
|
@ -294,7 +293,7 @@ public class VelocityUtils
|
||||||
*/
|
*/
|
||||||
public static String getParentMenuId(Map<String, Object> paramsObj)
|
public static String getParentMenuId(Map<String, Object> paramsObj)
|
||||||
{
|
{
|
||||||
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID)
|
if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID)
|
||||||
&& StringUtils.isNotEmpty(Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID))))
|
&& StringUtils.isNotEmpty(Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID))))
|
||||||
{
|
{
|
||||||
return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID));
|
return Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID));
|
||||||
|
@ -310,7 +309,7 @@ public class VelocityUtils
|
||||||
*/
|
*/
|
||||||
public static String getTreecode(Map<String, Object> paramsObj)
|
public static String getTreecode(Map<String, Object> paramsObj)
|
||||||
{
|
{
|
||||||
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE))
|
if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE))
|
||||||
{
|
{
|
||||||
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)));
|
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)));
|
||||||
}
|
}
|
||||||
|
@ -325,7 +324,7 @@ public class VelocityUtils
|
||||||
*/
|
*/
|
||||||
public static String getTreeParentCode(Map<String, Object> paramsObj)
|
public static String getTreeParentCode(Map<String, Object> paramsObj)
|
||||||
{
|
{
|
||||||
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
|
if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE))
|
||||||
{
|
{
|
||||||
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)));
|
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)));
|
||||||
}
|
}
|
||||||
|
@ -340,7 +339,7 @@ public class VelocityUtils
|
||||||
*/
|
*/
|
||||||
public static String getTreeName(Map<String, Object> paramsObj)
|
public static String getTreeName(Map<String, Object> paramsObj)
|
||||||
{
|
{
|
||||||
if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME))
|
if (StringUtils.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME))
|
||||||
{
|
{
|
||||||
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)));
|
return StringUtils.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class SysOssServiceImpl extends ServicePlusImpl<SysOssMapper, SysOss, Sys
|
||||||
@Override
|
@Override
|
||||||
public SysOss upload(MultipartFile file) {
|
public SysOss upload(MultipartFile file) {
|
||||||
String originalfileName = file.getOriginalFilename();
|
String originalfileName = file.getOriginalFilename();
|
||||||
String suffix = StringUtils.sub(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
|
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
|
||||||
ICloudStorageService storage = OssFactory.instance();
|
ICloudStorageService storage = OssFactory.instance();
|
||||||
UploadResult uploadResult;
|
UploadResult uploadResult;
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.quartz.service.impl;
|
package com.ruoyi.quartz.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
|
@ -31,10 +30,10 @@ public class SysJobLogServiceImpl extends ServicePlusImpl<SysJobLogMapper, SysJo
|
||||||
.eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
|
.eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
|
||||||
.eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
|
.eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
|
||||||
.like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
|
.like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
||||||
|
@ -54,10 +53,10 @@ public class SysJobLogServiceImpl extends ServicePlusImpl<SysJobLogMapper, SysJo
|
||||||
.eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
|
.eq(StringUtils.isNotBlank(jobLog.getJobGroup()), SysJobLog::getJobGroup, jobLog.getJobGroup())
|
||||||
.eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
|
.eq(StringUtils.isNotBlank(jobLog.getStatus()), SysJobLog::getStatus, jobLog.getStatus())
|
||||||
.like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
|
.like(StringUtils.isNotBlank(jobLog.getInvokeTarget()), SysJobLog::getInvokeTarget, jobLog.getInvokeTarget())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime")));
|
params.get("endTime")));
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,10 +2,9 @@ package com.ruoyi.quartz.util;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.constant.ScheduleConstants;
|
import com.ruoyi.common.constant.ScheduleConstants;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.quartz.domain.SysJob;
|
import com.ruoyi.quartz.domain.SysJob;
|
||||||
import com.ruoyi.quartz.domain.SysJobLog;
|
import com.ruoyi.quartz.domain.SysJobLog;
|
||||||
|
@ -40,7 +39,7 @@ public abstract class AbstractQuartzJob implements Job
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
before(context, sysJob);
|
before(context, sysJob);
|
||||||
if (Validator.isNotNull(sysJob))
|
if (StringUtils.isNotNull(sysJob))
|
||||||
{
|
{
|
||||||
doExecute(context, sysJob);
|
doExecute(context, sysJob);
|
||||||
}
|
}
|
||||||
|
@ -86,7 +85,7 @@ public abstract class AbstractQuartzJob implements Job
|
||||||
if (e != null)
|
if (e != null)
|
||||||
{
|
{
|
||||||
sysJobLog.setStatus(Constants.FAIL);
|
sysJobLog.setStatus(Constants.FAIL);
|
||||||
String errorMsg = StringUtils.sub(ExceptionUtil.stacktraceToString(e), 0, 2000);
|
String errorMsg = StringUtils.substring(ExceptionUtil.stacktraceToString(e), 0, 2000);
|
||||||
sysJobLog.setExceptionInfo(errorMsg);
|
sysJobLog.setExceptionInfo(errorMsg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.quartz.util;
|
package com.ruoyi.quartz.util;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.quartz.domain.SysJob;
|
import com.ruoyi.quartz.domain.SysJob;
|
||||||
|
@ -52,7 +51,7 @@ public class JobInvokeUtil
|
||||||
throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
|
throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException,
|
||||||
InvocationTargetException
|
InvocationTargetException
|
||||||
{
|
{
|
||||||
if (Validator.isNotNull(methodParams) && methodParams.size() > 0)
|
if (StringUtils.isNotNull(methodParams) && methodParams.size() > 0)
|
||||||
{
|
{
|
||||||
Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
|
Method method = bean.getClass().getDeclaredMethod(methodName, getMethodParamsType(methodParams));
|
||||||
method.invoke(bean, getMethodParamsValue(methodParams));
|
method.invoke(bean, getMethodParamsValue(methodParams));
|
||||||
|
@ -72,7 +71,7 @@ public class JobInvokeUtil
|
||||||
*/
|
*/
|
||||||
public static boolean isValidClassName(String invokeTarget)
|
public static boolean isValidClassName(String invokeTarget)
|
||||||
{
|
{
|
||||||
return StringUtils.count(invokeTarget, ".") > 1;
|
return StringUtils.countMatches(invokeTarget, ".") > 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -83,8 +82,8 @@ public class JobInvokeUtil
|
||||||
*/
|
*/
|
||||||
public static String getBeanName(String invokeTarget)
|
public static String getBeanName(String invokeTarget)
|
||||||
{
|
{
|
||||||
String beanName = StringUtils.subBefore(invokeTarget, "(",false);
|
String beanName = StringUtils.substringBefore(invokeTarget, "(");
|
||||||
return StringUtils.subBefore(beanName, ".",true);
|
return StringUtils.substringBefore(beanName, ".");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -95,8 +94,8 @@ public class JobInvokeUtil
|
||||||
*/
|
*/
|
||||||
public static String getMethodName(String invokeTarget)
|
public static String getMethodName(String invokeTarget)
|
||||||
{
|
{
|
||||||
String methodName = StringUtils.subBefore(invokeTarget, "(",false);
|
String methodName = StringUtils.substringBefore(invokeTarget, "(");
|
||||||
return StringUtils.subAfter(methodName, ".",true);
|
return StringUtils.substringBefore(methodName, ".");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -107,7 +106,7 @@ public class JobInvokeUtil
|
||||||
*/
|
*/
|
||||||
public static List<Object[]> getMethodParams(String invokeTarget)
|
public static List<Object[]> getMethodParams(String invokeTarget)
|
||||||
{
|
{
|
||||||
String methodStr = StringUtils.subBetween(invokeTarget, "(", ")");
|
String methodStr = StringUtils.substringBetween(invokeTarget, "(", ")");
|
||||||
if (StringUtils.isEmpty(methodStr))
|
if (StringUtils.isEmpty(methodStr))
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.annotation.DataSource;
|
import com.ruoyi.common.annotation.DataSource;
|
||||||
|
@ -51,10 +50,10 @@ public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysCo
|
||||||
.like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
|
.like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
|
||||||
.eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
|
.eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
|
||||||
.like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
|
.like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
||||||
|
@ -81,12 +80,12 @@ public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysCo
|
||||||
@Override
|
@Override
|
||||||
public String selectConfigByKey(String configKey) {
|
public String selectConfigByKey(String configKey) {
|
||||||
String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey)));
|
String configValue = Convert.toStr(redisCache.getCacheObject(getCacheKey(configKey)));
|
||||||
if (Validator.isNotEmpty(configValue)) {
|
if (StringUtils.isNotEmpty(configValue)) {
|
||||||
return configValue;
|
return configValue;
|
||||||
}
|
}
|
||||||
SysConfig retConfig = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>()
|
SysConfig retConfig = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>()
|
||||||
.eq(SysConfig::getConfigKey, configKey));
|
.eq(SysConfig::getConfigKey, configKey));
|
||||||
if (Validator.isNotNull(retConfig)) {
|
if (StringUtils.isNotNull(retConfig)) {
|
||||||
redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
|
redisCache.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
|
||||||
return retConfig.getConfigValue();
|
return retConfig.getConfigValue();
|
||||||
}
|
}
|
||||||
|
@ -120,10 +119,10 @@ public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysCo
|
||||||
.like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
|
.like(StringUtils.isNotBlank(config.getConfigName()), SysConfig::getConfigName, config.getConfigName())
|
||||||
.eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
|
.eq(StringUtils.isNotBlank(config.getConfigType()), SysConfig::getConfigType, config.getConfigType())
|
||||||
.like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
|
.like(StringUtils.isNotBlank(config.getConfigKey()), SysConfig::getConfigKey, config.getConfigKey())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return baseMapper.selectList(lqw);
|
return baseMapper.selectList(lqw);
|
||||||
|
@ -214,9 +213,9 @@ public class SysConfigServiceImpl extends ServicePlusImpl<SysConfigMapper, SysCo
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkConfigKeyUnique(SysConfig config) {
|
public String checkConfigKeyUnique(SysConfig config) {
|
||||||
Long configId = Validator.isNull(config.getConfigId()) ? -1L : config.getConfigId();
|
Long configId = StringUtils.isNull(config.getConfigId()) ? -1L : config.getConfigId();
|
||||||
SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>().eq(SysConfig::getConfigKey, config.getConfigKey()));
|
SysConfig info = baseMapper.selectOne(new LambdaQueryWrapper<SysConfig>().eq(SysConfig::getConfigKey, config.getConfigKey()));
|
||||||
if (Validator.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getConfigId().longValue() != configId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
|
@ -13,6 +11,7 @@ import com.ruoyi.common.core.domain.entity.SysRole;
|
||||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.exception.CustomException;
|
import com.ruoyi.common.exception.CustomException;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.mapper.SysDeptMapper;
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
||||||
import com.ruoyi.system.mapper.SysRoleMapper;
|
import com.ruoyi.system.mapper.SysRoleMapper;
|
||||||
import com.ruoyi.system.mapper.SysUserMapper;
|
import com.ruoyi.system.mapper.SysUserMapper;
|
||||||
|
@ -160,12 +159,12 @@ public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkDeptNameUnique(SysDept dept) {
|
public String checkDeptNameUnique(SysDept dept) {
|
||||||
Long deptId = Validator.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
|
Long deptId = StringUtils.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
|
||||||
SysDept info = getOne(new LambdaQueryWrapper<SysDept>()
|
SysDept info = getOne(new LambdaQueryWrapper<SysDept>()
|
||||||
.eq(SysDept::getDeptName, dept.getDeptName())
|
.eq(SysDept::getDeptName, dept.getDeptName())
|
||||||
.eq(SysDept::getParentId, dept.getParentId())
|
.eq(SysDept::getParentId, dept.getParentId())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -198,7 +197,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept,
|
||||||
public int updateDept(SysDept dept) {
|
public int updateDept(SysDept dept) {
|
||||||
SysDept newParentDept = getById(dept.getParentId());
|
SysDept newParentDept = getById(dept.getParentId());
|
||||||
SysDept oldDept = getById(dept.getDeptId());
|
SysDept oldDept = getById(dept.getDeptId());
|
||||||
if (Validator.isNotNull(newParentDept) && Validator.isNotNull(oldDept)) {
|
if (StringUtils.isNotNull(newParentDept) && StringUtils.isNotNull(oldDept)) {
|
||||||
String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId();
|
String newAncestors = newParentDept.getAncestors() + "," + newParentDept.getDeptId();
|
||||||
String oldAncestors = oldDept.getAncestors();
|
String oldAncestors = oldDept.getAncestors();
|
||||||
dept.setAncestors(newAncestors);
|
dept.setAncestors(newAncestors);
|
||||||
|
@ -275,7 +274,7 @@ public class SysDeptServiceImpl extends ServicePlusImpl<SysDeptMapper, SysDept,
|
||||||
private List<SysDept> getChildList(List<SysDept> list, SysDept t) {
|
private List<SysDept> getChildList(List<SysDept> list, SysDept t) {
|
||||||
List<SysDept> tlist = new ArrayList<SysDept>();
|
List<SysDept> tlist = new ArrayList<SysDept>();
|
||||||
for (SysDept n : list) {
|
for (SysDept n : list) {
|
||||||
if (Validator.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) {
|
if (StringUtils.isNotNull(n.getParentId()) && n.getParentId().longValue() == t.getDeptId().longValue()) {
|
||||||
tlist.add(n);
|
tlist.add(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
@ -51,10 +50,10 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl<SysDictTypeMapper, S
|
||||||
.like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
|
.like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
|
||||||
.eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
|
.eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
|
||||||
.like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
|
.like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
return PageUtils.buildDataInfo(page(PageUtils.buildPage(), lqw));
|
||||||
|
@ -73,10 +72,10 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl<SysDictTypeMapper, S
|
||||||
.like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
|
.like(StringUtils.isNotBlank(dictType.getDictName()), SysDictType::getDictName, dictType.getDictName())
|
||||||
.eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
|
.eq(StringUtils.isNotBlank(dictType.getStatus()), SysDictType::getStatus, dictType.getStatus())
|
||||||
.like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
|
.like(StringUtils.isNotBlank(dictType.getDictType()), SysDictType::getDictType, dictType.getDictType())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(create_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime")));
|
params.get("endTime")));
|
||||||
}
|
}
|
||||||
|
@ -225,11 +224,11 @@ public class SysDictTypeServiceImpl extends ServicePlusImpl<SysDictTypeMapper, S
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkDictTypeUnique(SysDictType dict) {
|
public String checkDictTypeUnique(SysDictType dict) {
|
||||||
Long dictId = Validator.isNull(dict.getDictId()) ? -1L : dict.getDictId();
|
Long dictId = StringUtils.isNull(dict.getDictId()) ? -1L : dict.getDictId();
|
||||||
SysDictType dictType = getOne(new LambdaQueryWrapper<SysDictType>()
|
SysDictType dictType = getOne(new LambdaQueryWrapper<SysDictType>()
|
||||||
.eq(SysDictType::getDictType, dict.getDictType())
|
.eq(SysDictType::getDictType, dict.getDictType())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
if (Validator.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
|
if (StringUtils.isNotNull(dictType) && dictType.getDictId().longValue() != dictId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
|
@ -31,10 +30,10 @@ public class SysLogininforServiceImpl extends ServicePlusImpl<SysLogininforMappe
|
||||||
.like(StringUtils.isNotBlank(logininfor.getIpaddr()), SysLogininfor::getIpaddr, logininfor.getIpaddr())
|
.like(StringUtils.isNotBlank(logininfor.getIpaddr()), SysLogininfor::getIpaddr, logininfor.getIpaddr())
|
||||||
.eq(StringUtils.isNotBlank(logininfor.getStatus()), SysLogininfor::getStatus, logininfor.getStatus())
|
.eq(StringUtils.isNotBlank(logininfor.getStatus()), SysLogininfor::getStatus, logininfor.getStatus())
|
||||||
.like(StringUtils.isNotBlank(logininfor.getUserName()), SysLogininfor::getUserName, logininfor.getUserName())
|
.like(StringUtils.isNotBlank(logininfor.getUserName()), SysLogininfor::getUserName, logininfor.getUserName())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return PageUtils.buildDataInfo(page(PageUtils.buildPage("info_id","desc"), lqw));
|
return PageUtils.buildDataInfo(page(PageUtils.buildPage("info_id","desc"), lqw));
|
||||||
|
@ -64,10 +63,10 @@ public class SysLogininforServiceImpl extends ServicePlusImpl<SysLogininforMappe
|
||||||
.like(StringUtils.isNotBlank(logininfor.getIpaddr()),SysLogininfor::getIpaddr,logininfor.getIpaddr())
|
.like(StringUtils.isNotBlank(logininfor.getIpaddr()),SysLogininfor::getIpaddr,logininfor.getIpaddr())
|
||||||
.eq(StringUtils.isNotBlank(logininfor.getStatus()),SysLogininfor::getStatus,logininfor.getStatus())
|
.eq(StringUtils.isNotBlank(logininfor.getStatus()),SysLogininfor::getStatus,logininfor.getStatus())
|
||||||
.like(StringUtils.isNotBlank(logininfor.getUserName()),SysLogininfor::getUserName,logininfor.getUserName())
|
.like(StringUtils.isNotBlank(logininfor.getUserName()),SysLogininfor::getUserName,logininfor.getUserName())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(login_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(login_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"))
|
params.get("endTime"))
|
||||||
.orderByDesc(SysLogininfor::getInfoId));
|
.orderByDesc(SysLogininfor::getInfoId));
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.constant.Constants;
|
import com.ruoyi.common.constant.Constants;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
|
@ -11,6 +9,7 @@ import com.ruoyi.common.core.domain.entity.SysRole;
|
||||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.domain.SysRoleMenu;
|
import com.ruoyi.system.domain.SysRoleMenu;
|
||||||
import com.ruoyi.system.domain.vo.MetaVo;
|
import com.ruoyi.system.domain.vo.MetaVo;
|
||||||
import com.ruoyi.system.domain.vo.RouterVo;
|
import com.ruoyi.system.domain.vo.RouterVo;
|
||||||
|
@ -85,7 +84,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
|
||||||
List<String> perms = baseMapper.selectMenuPermsByUserId(userId);
|
List<String> perms = baseMapper.selectMenuPermsByUserId(userId);
|
||||||
Set<String> permsSet = new HashSet<>();
|
Set<String> permsSet = new HashSet<>();
|
||||||
for (String perm : perms) {
|
for (String perm : perms) {
|
||||||
if (Validator.isNotEmpty(perm)) {
|
if (StringUtils.isNotEmpty(perm)) {
|
||||||
permsSet.addAll(Arrays.asList(perm.trim().split(",")));
|
permsSet.addAll(Arrays.asList(perm.trim().split(",")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -148,7 +147,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
|
||||||
RouterVo children = new RouterVo();
|
RouterVo children = new RouterVo();
|
||||||
children.setPath(menu.getPath());
|
children.setPath(menu.getPath());
|
||||||
children.setComponent(menu.getComponent());
|
children.setComponent(menu.getComponent());
|
||||||
children.setName(StringUtils.upperFirst(menu.getPath()));
|
children.setName(StringUtils.capitalize(menu.getPath()));
|
||||||
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
|
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), StringUtils.equals("1", menu.getIsCache()), menu.getPath()));
|
||||||
childrenList.add(children);
|
childrenList.add(children);
|
||||||
router.setChildren(childrenList);
|
router.setChildren(childrenList);
|
||||||
|
@ -160,7 +159,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
|
||||||
String routerPath = StringUtils.replaceEach(menu.getPath(), new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" });
|
String routerPath = StringUtils.replaceEach(menu.getPath(), new String[] { Constants.HTTP, Constants.HTTPS }, new String[] { "", "" });
|
||||||
children.setPath(routerPath);
|
children.setPath(routerPath);
|
||||||
children.setComponent(UserConstants.INNER_LINK);
|
children.setComponent(UserConstants.INNER_LINK);
|
||||||
children.setName(StringUtils.upperFirst(routerPath));
|
children.setName(StringUtils.capitalize(routerPath));
|
||||||
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath()));
|
children.setMeta(new MetaVo(menu.getMenuName(), menu.getIcon(), menu.getPath()));
|
||||||
childrenList.add(children);
|
childrenList.add(children);
|
||||||
router.setChildren(childrenList);
|
router.setChildren(childrenList);
|
||||||
|
@ -284,12 +283,12 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkMenuNameUnique(SysMenu menu) {
|
public String checkMenuNameUnique(SysMenu menu) {
|
||||||
Long menuId = Validator.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
Long menuId = StringUtils.isNull(menu.getMenuId()) ? -1L : menu.getMenuId();
|
||||||
SysMenu info = getOne(new LambdaQueryWrapper<SysMenu>()
|
SysMenu info = getOne(new LambdaQueryWrapper<SysMenu>()
|
||||||
.eq(SysMenu::getMenuName,menu.getMenuName())
|
.eq(SysMenu::getMenuName,menu.getMenuName())
|
||||||
.eq(SysMenu::getParentId,menu.getParentId())
|
.eq(SysMenu::getParentId,menu.getParentId())
|
||||||
.last("limit 1"));
|
.last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getMenuId().longValue() != menuId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -302,7 +301,7 @@ public class SysMenuServiceImpl extends ServicePlusImpl<SysMenuMapper, SysMenu,
|
||||||
* @return 路由名称
|
* @return 路由名称
|
||||||
*/
|
*/
|
||||||
public String getRouteName(SysMenu menu) {
|
public String getRouteName(SysMenu menu) {
|
||||||
String routerName = StringUtils.upperFirst(menu.getPath());
|
String routerName = StringUtils.capitalize(menu.getPath());
|
||||||
// 非外链并且是一级目录(类型为目录)
|
// 非外链并且是一级目录(类型为目录)
|
||||||
if (isMenuFrame(menu)) {
|
if (isMenuFrame(menu)) {
|
||||||
routerName = StringUtils.EMPTY;
|
routerName = StringUtils.EMPTY;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -40,10 +39,10 @@ public class SysOperLogServiceImpl extends ServicePlusImpl<SysOperLogMapper, Sys
|
||||||
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
|
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
|
||||||
SysOperLog::getStatus, operLog.getStatus())
|
SysOperLog::getStatus, operLog.getStatus())
|
||||||
.like(StringUtils.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName())
|
.like(StringUtils.isNotBlank(operLog.getOperName()), SysOperLog::getOperName, operLog.getOperName())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"));
|
params.get("endTime"));
|
||||||
return PageUtils.buildDataInfo(page(PageUtils.buildPage("oper_id","desc"), lqw));
|
return PageUtils.buildDataInfo(page(PageUtils.buildPage("oper_id","desc"), lqw));
|
||||||
|
@ -81,10 +80,10 @@ public class SysOperLogServiceImpl extends ServicePlusImpl<SysOperLogMapper, Sys
|
||||||
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
|
.eq(operLog.getStatus() != null && operLog.getStatus() > 0,
|
||||||
SysOperLog::getStatus,operLog.getStatus())
|
SysOperLog::getStatus,operLog.getStatus())
|
||||||
.like(StringUtils.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
|
.like(StringUtils.isNotBlank(operLog.getOperName()),SysOperLog::getOperName,operLog.getOperName())
|
||||||
.apply(Validator.isNotEmpty(params.get("beginTime")),
|
.apply(StringUtils.isNotEmpty(params.get("beginTime")),
|
||||||
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
"date_format(oper_time,'%y%m%d') >= date_format({0},'%y%m%d')",
|
||||||
params.get("beginTime"))
|
params.get("beginTime"))
|
||||||
.apply(Validator.isNotEmpty(params.get("endTime")),
|
.apply(StringUtils.isNotEmpty(params.get("endTime")),
|
||||||
"date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
"date_format(oper_time,'%y%m%d') <= date_format({0},'%y%m%d')",
|
||||||
params.get("endTime"))
|
params.get("endTime"))
|
||||||
.orderByDesc(SysOperLog::getOperId));
|
.orderByDesc(SysOperLog::getOperId));
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
|
@ -93,10 +92,10 @@ public class SysPostServiceImpl extends ServicePlusImpl<SysPostMapper, SysPost,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkPostNameUnique(SysPost post) {
|
public String checkPostNameUnique(SysPost post) {
|
||||||
Long postId = Validator.isNull(post.getPostId()) ? -1L : post.getPostId();
|
Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
|
||||||
SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
|
SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
|
||||||
.eq(SysPost::getPostName, post.getPostName()).last("limit 1"));
|
.eq(SysPost::getPostName, post.getPostName()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -110,10 +109,10 @@ public class SysPostServiceImpl extends ServicePlusImpl<SysPostMapper, SysPost,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkPostCodeUnique(SysPost post) {
|
public String checkPostCodeUnique(SysPost post) {
|
||||||
Long postId = Validator.isNull(post.getPostId()) ? -1L : post.getPostId();
|
Long postId = StringUtils.isNull(post.getPostId()) ? -1L : post.getPostId();
|
||||||
SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
|
SysPost info = getOne(new LambdaQueryWrapper<SysPost>()
|
||||||
.eq(SysPost::getPostCode, post.getPostCode()).last("limit 1"));
|
.eq(SysPost::getPostCode, post.getPostCode()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getPostId().longValue() != postId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
import com.ruoyi.common.constant.UserConstants;
|
import com.ruoyi.common.constant.UserConstants;
|
||||||
|
@ -9,6 +8,7 @@ import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.exception.CustomException;
|
import com.ruoyi.common.exception.CustomException;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.system.domain.SysRoleDept;
|
import com.ruoyi.system.domain.SysRoleDept;
|
||||||
import com.ruoyi.system.domain.SysRoleMenu;
|
import com.ruoyi.system.domain.SysRoleMenu;
|
||||||
|
@ -91,7 +91,7 @@ public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole,
|
||||||
List<SysRole> perms = baseMapper.selectRolePermissionByUserId(userId);
|
List<SysRole> perms = baseMapper.selectRolePermissionByUserId(userId);
|
||||||
Set<String> permsSet = new HashSet<>();
|
Set<String> permsSet = new HashSet<>();
|
||||||
for (SysRole perm : perms) {
|
for (SysRole perm : perms) {
|
||||||
if (Validator.isNotNull(perm)) {
|
if (StringUtils.isNotNull(perm)) {
|
||||||
permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
|
permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,10 +138,10 @@ public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkRoleNameUnique(SysRole role) {
|
public String checkRoleNameUnique(SysRole role) {
|
||||||
Long roleId = Validator.isNull(role.getRoleId()) ? -1L : role.getRoleId();
|
Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
|
||||||
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
|
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
|
||||||
.eq(SysRole::getRoleName, role.getRoleName()).last("limit 1"));
|
.eq(SysRole::getRoleName, role.getRoleName()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -155,10 +155,10 @@ public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkRoleKeyUnique(SysRole role) {
|
public String checkRoleKeyUnique(SysRole role) {
|
||||||
Long roleId = Validator.isNull(role.getRoleId()) ? -1L : role.getRoleId();
|
Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
|
||||||
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
|
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
|
||||||
.eq(SysRole::getRoleKey, role.getRoleKey()).last("limit 1"));
|
.eq(SysRole::getRoleKey, role.getRoleKey()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -171,7 +171,7 @@ public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void checkRoleAllowed(SysRole role) {
|
public void checkRoleAllowed(SysRole role) {
|
||||||
if (Validator.isNotNull(role.getRoleId()) && role.isAdmin()) {
|
if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) {
|
||||||
throw new CustomException("不允许操作超级管理员角色");
|
throw new CustomException("不允许操作超级管理员角色");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
|
||||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.domain.SysUserOnline;
|
import com.ruoyi.system.domain.SysUserOnline;
|
||||||
import com.ruoyi.system.service.ISysUserOnlineService;
|
import com.ruoyi.system.service.ISysUserOnlineService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -68,7 +67,7 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SysUserOnline loginUserToUserOnline(LoginUser user) {
|
public SysUserOnline loginUserToUserOnline(LoginUser user) {
|
||||||
if (Validator.isNull(user) || Validator.isNull(user.getUser())) {
|
if (StringUtils.isNull(user) || StringUtils.isNull(user.getUser())) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
SysUserOnline sysUserOnline = new SysUserOnline();
|
SysUserOnline sysUserOnline = new SysUserOnline();
|
||||||
|
@ -79,7 +78,7 @@ public class SysUserOnlineServiceImpl implements ISysUserOnlineService {
|
||||||
sysUserOnline.setBrowser(user.getBrowser());
|
sysUserOnline.setBrowser(user.getBrowser());
|
||||||
sysUserOnline.setOs(user.getOs());
|
sysUserOnline.setOs(user.getOs());
|
||||||
sysUserOnline.setLoginTime(user.getLoginTime());
|
sysUserOnline.setLoginTime(user.getLoginTime());
|
||||||
if (Validator.isNotNull(user.getUser().getDept())) {
|
if (StringUtils.isNotNull(user.getUser().getDept())) {
|
||||||
sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
|
sysUserOnline.setDeptName(user.getUser().getDept().getDeptName());
|
||||||
}
|
}
|
||||||
return sysUserOnline;
|
return sysUserOnline;
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package com.ruoyi.system.service.impl;
|
package com.ruoyi.system.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Validator;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.common.annotation.DataScope;
|
||||||
|
@ -12,6 +11,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.exception.CustomException;
|
import com.ruoyi.common.exception.CustomException;
|
||||||
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.PageUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.system.domain.SysPost;
|
import com.ruoyi.system.domain.SysPost;
|
||||||
import com.ruoyi.system.domain.SysUserPost;
|
import com.ruoyi.system.domain.SysUserPost;
|
||||||
import com.ruoyi.system.domain.SysUserRole;
|
import com.ruoyi.system.domain.SysUserRole;
|
||||||
|
@ -128,7 +128,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
for (SysRole role : list) {
|
for (SysRole role : list) {
|
||||||
idsStr.append(role.getRoleName()).append(",");
|
idsStr.append(role.getRoleName()).append(",");
|
||||||
}
|
}
|
||||||
if (Validator.isNotEmpty(idsStr.toString())) {
|
if (StringUtils.isNotEmpty(idsStr.toString())) {
|
||||||
return idsStr.substring(0, idsStr.length() - 1);
|
return idsStr.substring(0, idsStr.length() - 1);
|
||||||
}
|
}
|
||||||
return idsStr.toString();
|
return idsStr.toString();
|
||||||
|
@ -147,7 +147,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
for (SysPost post : list) {
|
for (SysPost post : list) {
|
||||||
idsStr.append(post.getPostName()).append(",");
|
idsStr.append(post.getPostName()).append(",");
|
||||||
}
|
}
|
||||||
if (Validator.isNotEmpty(idsStr.toString())) {
|
if (StringUtils.isNotEmpty(idsStr.toString())) {
|
||||||
return idsStr.substring(0, idsStr.length() - 1);
|
return idsStr.substring(0, idsStr.length() - 1);
|
||||||
}
|
}
|
||||||
return idsStr.toString();
|
return idsStr.toString();
|
||||||
|
@ -176,11 +176,11 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkPhoneUnique(SysUser user) {
|
public String checkPhoneUnique(SysUser user) {
|
||||||
Long userId = Validator.isNull(user.getUserId()) ? -1L : user.getUserId();
|
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
||||||
SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
|
SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
|
||||||
.select(SysUser::getUserId, SysUser::getPhonenumber)
|
.select(SysUser::getUserId, SysUser::getPhonenumber)
|
||||||
.eq(SysUser::getPhonenumber, user.getPhonenumber()).last("limit 1"));
|
.eq(SysUser::getPhonenumber, user.getPhonenumber()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -194,11 +194,11 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String checkEmailUnique(SysUser user) {
|
public String checkEmailUnique(SysUser user) {
|
||||||
Long userId = Validator.isNull(user.getUserId()) ? -1L : user.getUserId();
|
Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
|
||||||
SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
|
SysUser info = getOne(new LambdaQueryWrapper<SysUser>()
|
||||||
.select(SysUser::getUserId, SysUser::getEmail)
|
.select(SysUser::getUserId, SysUser::getEmail)
|
||||||
.eq(SysUser::getEmail, user.getEmail()).last("limit 1"));
|
.eq(SysUser::getEmail, user.getEmail()).last("limit 1"));
|
||||||
if (Validator.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) {
|
||||||
return UserConstants.NOT_UNIQUE;
|
return UserConstants.NOT_UNIQUE;
|
||||||
}
|
}
|
||||||
return UserConstants.UNIQUE;
|
return UserConstants.UNIQUE;
|
||||||
|
@ -211,7 +211,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void checkUserAllowed(SysUser user) {
|
public void checkUserAllowed(SysUser user) {
|
||||||
if (Validator.isNotNull(user.getUserId()) && user.isAdmin()) {
|
if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) {
|
||||||
throw new CustomException("不允许操作超级管理员用户");
|
throw new CustomException("不允许操作超级管理员用户");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -351,7 +351,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
public void insertUserRole(SysUser user) {
|
public void insertUserRole(SysUser user) {
|
||||||
Long[] roles = user.getRoleIds();
|
Long[] roles = user.getRoleIds();
|
||||||
if (Validator.isNotNull(roles)) {
|
if (StringUtils.isNotNull(roles)) {
|
||||||
// 新增用户与角色管理
|
// 新增用户与角色管理
|
||||||
List<SysUserRole> list = new ArrayList<SysUserRole>();
|
List<SysUserRole> list = new ArrayList<SysUserRole>();
|
||||||
for (Long roleId : roles) {
|
for (Long roleId : roles) {
|
||||||
|
@ -373,7 +373,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
public void insertUserPost(SysUser user) {
|
public void insertUserPost(SysUser user) {
|
||||||
Long[] posts = user.getPostIds();
|
Long[] posts = user.getPostIds();
|
||||||
if (Validator.isNotNull(posts)) {
|
if (StringUtils.isNotNull(posts)) {
|
||||||
// 新增用户与岗位管理
|
// 新增用户与岗位管理
|
||||||
List<SysUserPost> list = new ArrayList<SysUserPost>();
|
List<SysUserPost> list = new ArrayList<SysUserPost>();
|
||||||
for (Long postId : posts) {
|
for (Long postId : posts) {
|
||||||
|
@ -395,7 +395,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
* @param roleIds 角色组
|
* @param roleIds 角色组
|
||||||
*/
|
*/
|
||||||
public void insertUserRole(Long userId, Long[] roleIds) {
|
public void insertUserRole(Long userId, Long[] roleIds) {
|
||||||
if (Validator.isNotNull(roleIds)) {
|
if (StringUtils.isNotNull(roleIds)) {
|
||||||
// 新增用户与角色管理
|
// 新增用户与角色管理
|
||||||
List<SysUserRole> list = new ArrayList<SysUserRole>();
|
List<SysUserRole> list = new ArrayList<SysUserRole>();
|
||||||
for (Long roleId : roleIds) {
|
for (Long roleId : roleIds) {
|
||||||
|
@ -456,7 +456,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) {
|
public String importUser(List<SysUser> userList, Boolean isUpdateSupport, String operName) {
|
||||||
if (Validator.isNull(userList) || userList.size() == 0) {
|
if (StringUtils.isNull(userList) || userList.size() == 0) {
|
||||||
throw new CustomException("导入用户数据不能为空!");
|
throw new CustomException("导入用户数据不能为空!");
|
||||||
}
|
}
|
||||||
int successNum = 0;
|
int successNum = 0;
|
||||||
|
@ -468,7 +468,7 @@ public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser,
|
||||||
try {
|
try {
|
||||||
// 验证是否存在这个用户
|
// 验证是否存在这个用户
|
||||||
SysUser u = baseMapper.selectUserByUserName(user.getUserName());
|
SysUser u = baseMapper.selectUserByUserName(user.getUserName());
|
||||||
if (Validator.isNull(u)) {
|
if (StringUtils.isNull(u)) {
|
||||||
user.setPassword(SecurityUtils.encryptPassword(password));
|
user.setPassword(SecurityUtils.encryptPassword(password));
|
||||||
user.setCreateBy(operName);
|
user.setCreateBy(operName);
|
||||||
this.insertUser(user);
|
this.insertUser(user);
|
||||||
|
|
Loading…
Reference in New Issue