update 优化整体代码 适配jdk17

2.X
疯狂的狮子li 2 years ago
parent 55c3e7687b
commit 8ad97f6e69

@ -2,6 +2,7 @@ package org.dromara.resource.api.domain;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -12,6 +13,7 @@ import java.io.Serializable;
@Data @Data
public class RemoteFile implements Serializable { public class RemoteFile implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,6 +2,7 @@ package org.dromara.resource.api.domain;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -12,6 +13,7 @@ import java.io.Serializable;
@Data @Data
public class RemoteSms implements Serializable { public class RemoteSms implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -14,7 +14,6 @@ public interface RemoteLogService {
* *
* *
* @param sysOperLog * @param sysOperLog
* @return
*/ */
void saveLog(RemoteOperLogBo sysOperLog); void saveLog(RemoteOperLogBo sysOperLog);
@ -22,7 +21,6 @@ public interface RemoteLogService {
* 访 * 访
* *
* @param sysLogininfor 访 * @param sysLogininfor 访
* @return
*/ */
void saveLogininfor(RemoteLogininforBo sysLogininfor); void saveLogininfor(RemoteLogininforBo sysLogininfor);
} }

@ -3,6 +3,7 @@ package org.dromara.system.api.domain;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -15,6 +16,9 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
public class SysUserOnline implements Serializable { public class SysUserOnline implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *
*/ */

@ -3,6 +3,7 @@ package org.dromara.system.api.domain.bo;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -17,6 +18,10 @@ import java.util.Map;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class RemoteLogininforBo implements Serializable { public class RemoteLogininforBo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* 访ID * 访ID
*/ */

@ -3,6 +3,7 @@ package org.dromara.system.api.domain.bo;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
@ -17,6 +18,10 @@ import java.util.Map;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class RemoteOperLogBo implements Serializable { public class RemoteOperLogBo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *
*/ */

@ -9,6 +9,8 @@ import org.dromara.common.core.xss.Xss;
import jakarta.validation.constraints.Email; import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +24,9 @@ import java.util.Date;
@NoArgsConstructor @NoArgsConstructor
public class RemoteUserBo implements Serializable { public class RemoteUserBo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* ID * ID
*/ */

@ -2,6 +2,7 @@ package org.dromara.system.api.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -14,6 +15,7 @@ import java.util.Date;
@Data @Data
public class RemoteDictDataVo implements Serializable { public class RemoteDictDataVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,6 +2,7 @@ package org.dromara.system.api.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -14,6 +15,7 @@ import java.util.Date;
@Data @Data
public class RemoteTenantVo implements Serializable { public class RemoteTenantVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -5,6 +5,7 @@ import org.dromara.common.core.constant.CacheConstants;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@ -17,6 +18,8 @@ import java.util.Set;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class LoginUser implements Serializable { public class LoginUser implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -3,6 +3,7 @@ package org.dromara.system.api.model;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -15,6 +16,9 @@ import java.io.Serializable;
@NoArgsConstructor @NoArgsConstructor
public class RoleDTO implements Serializable { public class RoleDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* ID * ID
*/ */

@ -4,6 +4,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
/** /**
* *
* *
@ -14,6 +16,7 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor @NoArgsConstructor
public class XcxLoginUser extends LoginUser { public class XcxLoginUser extends LoginUser {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -3,7 +3,6 @@ package org.dromara.auth.controller;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.auth.domain.convert.TenantVoConvert;
import org.dromara.auth.domain.vo.LoginTenantVo; import org.dromara.auth.domain.vo.LoginTenantVo;
import org.dromara.auth.domain.vo.LoginVo; import org.dromara.auth.domain.vo.LoginVo;
import org.dromara.auth.domain.vo.TenantListVo; import org.dromara.auth.domain.vo.TenantListVo;
@ -13,6 +12,7 @@ import org.dromara.auth.form.RegisterBody;
import org.dromara.auth.form.SmsLoginBody; import org.dromara.auth.form.SmsLoginBody;
import org.dromara.auth.service.SysLoginService; import org.dromara.auth.service.SysLoginService;
import org.dromara.common.core.domain.R; import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.helper.TenantHelper;
@ -51,10 +51,7 @@ public class TokenController {
public R<LoginVo> login(@Validated @RequestBody LoginBody body) { public R<LoginVo> login(@Validated @RequestBody LoginBody body) {
LoginVo loginVo = new LoginVo(); LoginVo loginVo = new LoginVo();
// 生成令牌 // 生成令牌
String token = sysLoginService.login( String token = sysLoginService.login(body.getTenantId(), body.getUsername(), body.getPassword());
body.getTenantId(),
body.getUsername(),
body.getPassword());
loginVo.setToken(token); loginVo.setToken(token);
return R.ok(loginVo); return R.ok(loginVo);
} }
@ -131,7 +128,7 @@ public class TokenController {
@GetMapping("/tenant/list") @GetMapping("/tenant/list")
public R<LoginTenantVo> tenantList(HttpServletRequest request) throws Exception { public R<LoginTenantVo> tenantList(HttpServletRequest request) throws Exception {
List<RemoteTenantVo> tenantList = remoteTenantService.queryList(); List<RemoteTenantVo> tenantList = remoteTenantService.queryList();
List<TenantListVo> voList = TenantVoConvert.INSTANCE.convertList(tenantList); List<TenantListVo> voList = MapstructUtils.convert(tenantList, TenantListVo.class);
// 获取域名 // 获取域名
String host = new URL(request.getRequestURL().toString()).getHost(); String host = new URL(request.getRequestURL().toString()).getHost();
// 根据域名进行筛选 // 根据域名进行筛选

@ -1,35 +1,16 @@
package org.dromara.auth.domain.convert; package org.dromara.auth.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.auth.domain.vo.TenantListVo; import org.dromara.auth.domain.vo.TenantListVo;
import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.MappingConstants;
import java.util.List;
/** /**
* vo * vo
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface TenantVoConvert { public interface TenantVoConvert extends BaseMapper<RemoteTenantVo, TenantListVo> {
TenantVoConvert INSTANCE = Mappers.getMapper(TenantVoConvert.class);
/**
* RemoteTenantVoToTenantListVo
* @param remoteTenantVo
* @return
*/
TenantListVo convert(RemoteTenantVo remoteTenantVo);
/**
* RemoteTenantVoToTenantListVo
* @param remoteTenantVo
* @return
*/
List<TenantListVo> convertList(List<RemoteTenantVo> remoteTenantVo);
} }

@ -1,5 +1,6 @@
package org.dromara.common.core.config; package org.dromara.common.core.config;
import jakarta.validation.Validator;
import org.hibernate.validator.HibernateValidator; import org.hibernate.validator.HibernateValidator;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
@ -7,7 +8,6 @@ import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import jakarta.validation.Validator;
import java.util.Properties; import java.util.Properties;
/** /**
@ -26,18 +26,19 @@ public class ValidatorConfig {
*/ */
@Bean @Bean
public Validator validator() { public Validator validator() {
LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean(); try (LocalValidatorFactoryBean factoryBean = new LocalValidatorFactoryBean()) {
// 国际化 // 国际化
factoryBean.setValidationMessageSource(messageSource); factoryBean.setValidationMessageSource(messageSource);
// 设置使用 HibernateValidator 校验器 // 设置使用 HibernateValidator 校验器
factoryBean.setProviderClass(HibernateValidator.class); factoryBean.setProviderClass(HibernateValidator.class);
Properties properties = new Properties(); Properties properties = new Properties();
// 设置 快速异常返回 // 设置 快速异常返回
properties.setProperty("hibernate.validator.fail_fast", "true"); properties.setProperty("hibernate.validator.fail_fast", "true");
factoryBean.setValidationProperties(properties); factoryBean.setValidationProperties(properties);
// 加载配置 // 加载配置
factoryBean.afterPropertiesSet(); factoryBean.afterPropertiesSet();
return factoryBean.getValidator(); return factoryBean.getValidator();
}
} }
} }

@ -4,6 +4,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.constant.HttpStatus;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -14,6 +15,8 @@ import java.io.Serializable;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class R<T> implements Serializable { public class R<T> implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,12 +2,15 @@ package org.dromara.common.core.exception;
import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.exception.user.UserException;
import java.io.Serial;
/** /**
* *
* *
* @author Lion Li * @author Lion Li
*/ */
public class CaptchaException extends UserException { public class CaptchaException extends UserException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public CaptchaException() { public CaptchaException() {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception; package org.dromara.common.core.exception;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class CheckedException extends RuntimeException { public class CheckedException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public CheckedException(String message) { public CheckedException(String message) {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception; package org.dromara.common.core.exception;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class DemoModeException extends RuntimeException { public class DemoModeException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public DemoModeException() { public DemoModeException() {

@ -1,5 +1,7 @@
package org.dromara.common.core.exception; package org.dromara.common.core.exception;
import java.io.Serial;
/** /**
* *
* *
@ -7,6 +9,7 @@ package org.dromara.common.core.exception;
*/ */
public class GlobalException extends RuntimeException { public class GlobalException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -1,11 +1,14 @@
package org.dromara.common.core.exception; package org.dromara.common.core.exception;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public final class ServiceException extends RuntimeException { public final class ServiceException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -1,11 +1,14 @@
package org.dromara.common.core.exception; package org.dromara.common.core.exception;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class UtilException extends RuntimeException { public class UtilException extends RuntimeException {
@Serial
private static final long serialVersionUID = 8247610319171014183L; private static final long serialVersionUID = 8247610319171014183L;
public UtilException(Throwable e) { public UtilException(Throwable e) {

@ -5,6 +5,8 @@ import org.dromara.common.core.utils.StringUtils;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.io.Serial;
/** /**
* *
* *
@ -13,6 +15,7 @@ import lombok.Getter;
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public class BaseException extends RuntimeException { public class BaseException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,12 +2,15 @@ package org.dromara.common.core.exception.file;
import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.exception.base.BaseException;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class FileException extends BaseException { public class FileException extends BaseException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public FileException(String code, Object[] args) { public FileException(String code, Object[] args) {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception.file; package org.dromara.common.core.exception.file;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class FileNameLengthLimitExceededException extends FileException { public class FileNameLengthLimitExceededException extends FileException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public FileNameLengthLimitExceededException(int defaultFileNameLength) { public FileNameLengthLimitExceededException(int defaultFileNameLength) {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception.file; package org.dromara.common.core.exception.file;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class FileSizeLimitExceededException extends FileException { public class FileSizeLimitExceededException extends FileException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public FileSizeLimitExceededException(long defaultMaxSize) { public FileSizeLimitExceededException(long defaultMaxSize) {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception.user; package org.dromara.common.core.exception.user;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class CaptchaExpireException extends UserException { public class CaptchaExpireException extends UserException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public CaptchaExpireException() { public CaptchaExpireException() {

@ -2,12 +2,15 @@ package org.dromara.common.core.exception.user;
import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.exception.base.BaseException;
import java.io.Serial;
/** /**
* *
* *
* @author Lion Li * @author Lion Li
*/ */
public class UserException extends BaseException { public class UserException extends BaseException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public UserException(String code, Object... args) { public UserException(String code, Object... args) {

@ -1,11 +1,14 @@
package org.dromara.common.core.exception.user; package org.dromara.common.core.exception.user;
import java.io.Serial;
/** /**
* *
* *
* @author ruoyi * @author ruoyi
*/ */
public class UserPasswordNotMatchException extends UserException { public class UserPasswordNotMatchException extends UserException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public UserPasswordNotMatchException() { public UserPasswordNotMatchException() {

@ -1,200 +0,0 @@
package org.dromara.common.core.utils;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.SimpleCache;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReflectUtil;
import cn.hutool.core.util.StrUtil;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.cglib.beans.BeanMap;
import org.springframework.cglib.core.Converter;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* bean( cglib )
*
* @author Lion Li
*/
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class BeanCopyUtils {
/**
* class
*
* @param source
* @param desc
* @return desc
*/
public static <T, V> V copy(T source, Class<V> desc) {
if (ObjectUtil.isNull(source)) {
return null;
}
if (ObjectUtil.isNull(desc)) {
return null;
}
final V target = ReflectUtil.newInstanceIfPossible(desc);
return copy(source, target);
}
/**
*
*
* @param source
* @param desc
* @return desc
*/
public static <T, V> V copy(T source, V desc) {
if (ObjectUtil.isNull(source)) {
return null;
}
if (ObjectUtil.isNull(desc)) {
return null;
}
BeanCopier beanCopier = BeanCopierCache.INSTANCE.get(source.getClass(), desc.getClass(), null);
beanCopier.copy(source, desc, null);
return desc;
}
/**
* class
*
* @param sourceList
* @param desc
* @return desc
*/
public static <T, V> List<V> copyList(List<T> sourceList, Class<V> desc) {
if (ObjectUtil.isNull(sourceList)) {
return null;
}
if (CollUtil.isEmpty(sourceList)) {
return CollUtil.newArrayList();
}
return StreamUtils.toList(sourceList, source -> {
V target = ReflectUtil.newInstanceIfPossible(desc);
copy(source, target);
return target;
});
}
/**
* beanmap
*
* @param bean
* @return map
*/
@SuppressWarnings("unchecked")
public static <T> Map<String, Object> copyToMap(T bean) {
if (ObjectUtil.isNull(bean)) {
return null;
}
return BeanMap.create(bean);
}
/**
* mapbean
*
* @param map
* @param beanClass bean
* @return bean
*/
public static <T> T mapToBean(Map<String, Object> map, Class<T> beanClass) {
if (MapUtil.isEmpty(map)) {
return null;
}
if (ObjectUtil.isNull(beanClass)) {
return null;
}
T bean = ReflectUtil.newInstanceIfPossible(beanClass);
return mapToBean(map, bean);
}
/**
* mapbean
*
* @param map
* @param bean bean
* @return bean
*/
public static <T> T mapToBean(Map<String, Object> map, T bean) {
if (MapUtil.isEmpty(map)) {
return null;
}
if (ObjectUtil.isNull(bean)) {
return null;
}
BeanMap.create(bean).putAll(map);
return bean;
}
/**
* mapmap
*
* @param map
* @param clazz
* @return map
*/
public static <T, V> Map<String, V> mapToMap(Map<String, T> map, Class<V> clazz) {
if (MapUtil.isEmpty(map)) {
return null;
}
if (ObjectUtil.isNull(clazz)) {
return null;
}
Map<String, V> copyMap = new LinkedHashMap<>(map.size());
map.forEach((k, v) -> copyMap.put(k, copy(v, clazz)));
return copyMap;
}
/**
* BeanCopier<br>
*
*
* @author Looly
* @since 5.4.1
*/
public enum BeanCopierCache {
/**
* BeanCopier
*/
INSTANCE;
private final SimpleCache<String, BeanCopier> cache = new SimpleCache<>();
/**
* key{@link BeanCopier}Map
*
* @param srcClass Bean
* @param targetClass Bean
* @param converter
* @return MapBeanCopier
*/
public BeanCopier get(Class<?> srcClass, Class<?> targetClass, Converter converter) {
final String key = genKey(srcClass, targetClass, converter);
return cache.get(key, () -> BeanCopier.create(srcClass, targetClass, converter != null));
}
/**
* key
*
* @param srcClass Bean
* @param targetClass Bean
* @param converter
* @return Mapkey
*/
private String genKey(Class<?> srcClass, Class<?> targetClass, Converter converter) {
final StringBuilder key = StrUtil.builder()
.append(srcClass.getName()).append('#').append(targetClass.getName());
if(null != converter){
key.append('#').append(converter.getClass().getName());
}
return key.toString();
}
}
}

@ -2,9 +2,11 @@ package org.dromara.common.core.utils;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.extra.servlet.JakartaServletUtil; import cn.hutool.extra.servlet.JakartaServletUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;
import org.dromara.common.core.constant.Constants; import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -13,12 +15,7 @@ import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
@ -215,11 +212,7 @@ public class ServletUtils extends JakartaServletUtil {
* @return * @return
*/ */
public static String urlEncode(String str) { public static String urlEncode(String str) {
try { return URLEncoder.encode(str, StandardCharsets.UTF_8);
return URLEncoder.encode(str, Constants.UTF8);
} catch (UnsupportedEncodingException e) {
return StringUtils.EMPTY;
}
} }
/** /**
@ -229,11 +222,7 @@ public class ServletUtils extends JakartaServletUtil {
* @return * @return
*/ */
public static String urlDecode(String str) { public static String urlDecode(String str) {
try { return URLDecoder.decode(str, StandardCharsets.UTF_8);
return URLDecoder.decode(str, Constants.UTF8);
} catch (UnsupportedEncodingException e) {
return StringUtils.EMPTY;
}
} }
} }

@ -256,17 +256,13 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
if (s != null) { if (s != null) {
final int len = s.length(); final int len = s.length();
if (s.length() <= size) { if (s.length() <= size) {
for (int i = size - len; i > 0; i--) { sb.append(String.valueOf(c).repeat(size - len));
sb.append(c);
}
sb.append(s); sb.append(s);
} else { } else {
return s.substring(len - size, len); return s.substring(len - size, len);
} }
} else { } else {
for (int i = size; i > 0; i--) { sb.append(String.valueOf(c).repeat(Math.max(0, size)));
sb.append(c);
}
} }
return sb.toString(); return sb.toString();
} }

@ -47,8 +47,8 @@ public class FileUtils extends FileUtil {
* @param s * @param s
* @return * @return
*/ */
public static String percentEncode(String s) throws UnsupportedEncodingException { public static String percentEncode(String s) {
String encode = URLEncoder.encode(s, StandardCharsets.UTF_8.toString()); String encode = URLEncoder.encode(s, StandardCharsets.UTF_8);
return encode.replaceAll("\\+", "%20"); return encode.replaceAll("\\+", "%20");
} }
} }

@ -56,21 +56,20 @@ public class MybatisDecryptInterceptor implements Interceptor {
if (ObjectUtil.isNull(sourceObject)) { if (ObjectUtil.isNull(sourceObject)) {
return; return;
} }
if (sourceObject instanceof Map<?, ?>) { if (sourceObject instanceof Map<?, ?> map) {
new HashSet<>(((Map<?, ?>) sourceObject).values()).forEach(this::decryptHandler); new HashSet<>(map.values()).forEach(this::decryptHandler);
return; return;
} }
if (sourceObject instanceof List<?>) { if (sourceObject instanceof List<?> list) {
List<?> sourceList = (List<?>) sourceObject; if(CollUtil.isEmpty(list)) {
if(CollUtil.isEmpty(sourceList)) {
return; return;
} }
// 判断第一个元素是否含有注解。如果没有直接返回,提高效率 // 判断第一个元素是否含有注解。如果没有直接返回,提高效率
Object firstItem = sourceList.get(0); Object firstItem = list.get(0);
if (ObjectUtil.isNull(firstItem) || CollUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) { if (ObjectUtil.isNull(firstItem) || CollUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) {
return; return;
} }
((List<?>) sourceObject).forEach(this::decryptHandler); list.forEach(this::decryptHandler);
return; return;
} }
Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass()); Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass());

@ -46,9 +46,8 @@ public class MybatisEncryptInterceptor implements Interceptor {
@Override @Override
public Object plugin(Object target) { public Object plugin(Object target) {
if (target instanceof ParameterHandler) { if (target instanceof ParameterHandler parameterHandler) {
// 进行加密操作 // 进行加密操作
ParameterHandler parameterHandler = (ParameterHandler) target;
Object parameterObject = parameterHandler.getParameterObject(); Object parameterObject = parameterHandler.getParameterObject();
if (ObjectUtil.isNotNull(parameterObject) && !(parameterObject instanceof String)) { if (ObjectUtil.isNotNull(parameterObject) && !(parameterObject instanceof String)) {
this.encryptHandler(parameterObject); this.encryptHandler(parameterObject);
@ -66,21 +65,20 @@ public class MybatisEncryptInterceptor implements Interceptor {
if (ObjectUtil.isNull(sourceObject)) { if (ObjectUtil.isNull(sourceObject)) {
return; return;
} }
if (sourceObject instanceof Map<?, ?>) { if (sourceObject instanceof Map<?, ?> map) {
new HashSet<>(((Map<?, ?>) sourceObject).values()).forEach(this::encryptHandler); new HashSet<>(map.values()).forEach(this::encryptHandler);
return; return;
} }
if (sourceObject instanceof List<?>) { if (sourceObject instanceof List<?> list) {
List<?> sourceList = (List<?>) sourceObject; if(CollUtil.isEmpty(list)) {
if(CollUtil.isEmpty(sourceList)) {
return; return;
} }
// 判断第一个元素是否含有注解。如果没有直接返回,提高效率 // 判断第一个元素是否含有注解。如果没有直接返回,提高效率
Object firstItem = sourceList.get(0); Object firstItem = list.get(0);
if (ObjectUtil.isNull(firstItem) || CollUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) { if (ObjectUtil.isNull(firstItem) || CollUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) {
return; return;
} }
((List<?>) sourceObject).forEach(this::encryptHandler); list.forEach(this::encryptHandler);
return; return;
} }
Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass()); Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass());

@ -28,20 +28,19 @@ import java.util.Map;
@Slf4j @Slf4j
public class CellMergeStrategy extends AbstractMergeStrategy { public class CellMergeStrategy extends AbstractMergeStrategy {
private final List<?> list; private final List<CellRangeAddress> cellList;
private final boolean hasTitle; private final boolean hasTitle;
private int rowIndex; private int rowIndex;
public CellMergeStrategy(List<?> list, boolean hasTitle) { public CellMergeStrategy(List<?> list, boolean hasTitle) {
this.list = list;
this.hasTitle = hasTitle; this.hasTitle = hasTitle;
// 行合并开始下标 // 行合并开始下标
this.rowIndex = hasTitle ? 1 : 0; this.rowIndex = hasTitle ? 1 : 0;
this.cellList = handle(list, hasTitle);
} }
@Override @Override
protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) { protected void merge(Sheet sheet, Cell cell, Head head, Integer relativeRowIndex) {
List<CellRangeAddress> cellList = handle(list, hasTitle);
// judge the list is not null // judge the list is not null
if (CollUtil.isNotEmpty(cellList)) { if (CollUtil.isNotEmpty(cellList)) {
// the judge is necessary // the judge is necessary

@ -55,9 +55,8 @@ public class DefaultExcelListener<T> extends AnalysisEventListener<T> implements
@Override @Override
public void onException(Exception exception, AnalysisContext context) throws Exception { public void onException(Exception exception, AnalysisContext context) throws Exception {
String errMsg = null; String errMsg = null;
if (exception instanceof ExcelDataConvertException) { if (exception instanceof ExcelDataConvertException excelDataConvertException) {
// 如果是某一个单元格的转换异常 能获取到具体行号 // 如果是某一个单元格的转换异常 能获取到具体行号
ExcelDataConvertException excelDataConvertException = (ExcelDataConvertException) exception;
Integer rowIndex = excelDataConvertException.getRowIndex(); Integer rowIndex = excelDataConvertException.getRowIndex();
Integer columnIndex = excelDataConvertException.getColumnIndex(); Integer columnIndex = excelDataConvertException.getColumnIndex();
errMsg = StrUtil.format("第{}行-第{}列-表头{}: 解析异常<br/>", errMsg = StrUtil.format("第{}行-第{}列-表头{}: 解析异常<br/>",
@ -66,8 +65,7 @@ public class DefaultExcelListener<T> extends AnalysisEventListener<T> implements
log.error(errMsg); log.error(errMsg);
} }
} }
if (exception instanceof ConstraintViolationException) { if (exception instanceof ConstraintViolationException constraintViolationException) {
ConstraintViolationException constraintViolationException = (ConstraintViolationException) exception;
Set<ConstraintViolation<?>> constraintViolations = constraintViolationException.getConstraintViolations(); Set<ConstraintViolation<?>> constraintViolations = constraintViolationException.getConstraintViolations();
String constraintViolationsMsg = StreamUtils.join(constraintViolations, ConstraintViolation::getMessage, ", "); String constraintViolationsMsg = StreamUtils.join(constraintViolations, ConstraintViolation::getMessage, ", ");
errMsg = StrUtil.format("第{}行数据校验异常: {}", context.readRowHolder().getRowIndex() + 1, constraintViolationsMsg); errMsg = StrUtil.format("第{}行数据校验异常: {}", context.readRowHolder().getRowIndex() + 1, constraintViolationsMsg);

@ -276,7 +276,7 @@ public class ExcelUtil {
if (StringUtils.containsAny(propertyValue, separator)) { if (StringUtils.containsAny(propertyValue, separator)) {
for (String value : propertyValue.split(separator)) { for (String value : propertyValue.split(separator)) {
if (itemArray[0].equals(value)) { if (itemArray[0].equals(value)) {
propertyString.append(itemArray[1] + separator); propertyString.append(itemArray[1]).append(separator);
break; break;
} }
} }
@ -305,7 +305,7 @@ public class ExcelUtil {
if (StringUtils.containsAny(propertyValue, separator)) { if (StringUtils.containsAny(propertyValue, separator)) {
for (String value : propertyValue.split(separator)) { for (String value : propertyValue.split(separator)) {
if (itemArray[1].equals(value)) { if (itemArray[1].equals(value)) {
propertyString.append(itemArray[0] + separator); propertyString.append(itemArray[0]).append(separator);
break; break;
} }
} }

@ -76,9 +76,8 @@ public class RepeatSubmitAspect {
*/ */
@AfterReturning(pointcut = "@annotation(repeatSubmit)", returning = "jsonResult") @AfterReturning(pointcut = "@annotation(repeatSubmit)", returning = "jsonResult")
public void doAfterReturning(JoinPoint joinPoint, RepeatSubmit repeatSubmit, Object jsonResult) { public void doAfterReturning(JoinPoint joinPoint, RepeatSubmit repeatSubmit, Object jsonResult) {
if (jsonResult instanceof R) { if (jsonResult instanceof R<?> r) {
try { try {
R<?> r = (R<?>) jsonResult;
// 成功则不删除redis数据 保证在有效时间内无法重复提交 // 成功则不删除redis数据 保证在有效时间内无法重复提交
if (r.getCode() == R.SUCCESS) { if (r.getCode() == R.SUCCESS) {
return; return;

@ -1,25 +0,0 @@
package org.dromara.common.log.domain.convert;
import org.dromara.common.log.event.OperLogEvent;
import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
/**
*
* @author zhujie
*/
@Mapper
public interface OperLogEventConvert {
OperLogEventConvert INSTANCE = Mappers.getMapper(OperLogEventConvert.class);
/**
* OperLogEventToRemoteOperLogBo
* @param operLogEvent
* @return
*/
@Mapping(target = "params", ignore = true)
RemoteOperLogBo convert(OperLogEvent operLogEvent);
}

@ -1,14 +1,15 @@
package org.dromara.common.log.event; package org.dromara.common.log.event;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgent;
import cn.hutool.http.useragent.UserAgentUtil; import cn.hutool.http.useragent.UserAgentUtil;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.dromara.common.core.constant.Constants; import org.dromara.common.core.constant.Constants;
import org.dromara.common.core.utils.ServletUtils; import org.dromara.common.core.utils.ServletUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.ip.AddressUtils; import org.dromara.common.core.utils.ip.AddressUtils;
import org.dromara.common.log.domain.convert.OperLogEventConvert;
import org.dromara.system.api.RemoteLogService; import org.dromara.system.api.RemoteLogService;
import org.dromara.system.api.domain.bo.RemoteLogininforBo; import org.dromara.system.api.domain.bo.RemoteLogininforBo;
import org.dromara.system.api.domain.bo.RemoteOperLogBo; import org.dromara.system.api.domain.bo.RemoteOperLogBo;
@ -16,8 +17,6 @@ import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import jakarta.servlet.http.HttpServletRequest;
/** /**
* *
* *
@ -36,7 +35,7 @@ public class LogEventListener {
@Async @Async
@EventListener @EventListener
public void saveLog(OperLogEvent operLogEvent) { public void saveLog(OperLogEvent operLogEvent) {
RemoteOperLogBo sysOperLog = OperLogEventConvert.INSTANCE.convert(operLogEvent); RemoteOperLogBo sysOperLog = BeanUtil.toBean(operLogEvent, RemoteOperLogBo.class);
remoteLogService.saveLog(sysOperLog); remoteLogService.saveLog(sysOperLog);
} }

@ -3,6 +3,8 @@ package org.dromara.common.log.event;
import lombok.Data; import lombok.Data;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
/** /**
@ -14,6 +16,7 @@ import java.io.Serializable;
@Data @Data
public class LogininforEvent implements Serializable { public class LogininforEvent implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,6 +2,7 @@ package org.dromara.common.log.event;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -14,6 +15,7 @@ import java.util.Date;
@Data @Data
public class OperLogEvent implements Serializable { public class OperLogEvent implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -9,6 +9,7 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.sql.SqlUtil; import org.dromara.common.core.utils.sql.SqlUtil;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -22,6 +23,7 @@ import java.util.List;
@Data @Data
public class PageQuery implements Serializable { public class PageQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
@ -17,6 +18,7 @@ import java.util.List;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
public class TableDataInfo<T> implements Serializable { public class TableDataInfo<T> implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -23,8 +23,8 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
@Override @Override
public void insertFill(MetaObject metaObject) { public void insertFill(MetaObject metaObject) {
try { try {
if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) { if (ObjectUtil.isNotNull(metaObject)
BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject(); && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) {
Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime()) Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime())
? baseEntity.getCreateTime() : new Date(); ? baseEntity.getCreateTime() : new Date();
baseEntity.setCreateTime(current); baseEntity.setCreateTime(current);
@ -47,8 +47,8 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
@Override @Override
public void updateFill(MetaObject metaObject) { public void updateFill(MetaObject metaObject) {
try { try {
if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) { if (ObjectUtil.isNotNull(metaObject)
BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject(); && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) {
Date current = new Date(); Date current = new Date();
// 更新时间填充(不管为不为空) // 更新时间填充(不管为不为空)
baseEntity.setUpdateTime(current); baseEntity.setUpdateTime(current);

@ -6,6 +6,12 @@ import cn.hutool.core.collection.ConcurrentHashSet;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.Parenthesis;
import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StreamUtils;
@ -17,12 +23,6 @@ import org.dromara.common.mybatis.helper.DataPermissionHelper;
import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.api.model.LoginUser; import org.dromara.system.api.model.LoginUser;
import org.dromara.system.api.model.RoleDTO; import org.dromara.system.api.model.RoleDTO;
import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.Parenthesis;
import net.sf.jsqlparser.expression.operators.conditional.AndExpression;
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
import org.springframework.context.expression.BeanFactoryResolver; import org.springframework.context.expression.BeanFactoryResolver;
import org.springframework.expression.BeanResolver; import org.springframework.expression.BeanResolver;
import org.springframework.expression.ExpressionParser; import org.springframework.expression.ExpressionParser;
@ -35,7 +35,6 @@ import java.lang.reflect.Method;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* *
@ -163,7 +162,7 @@ public class PlusDataPermissionHandler {
String methodName = sb.substring(index + 1, sb.length()); String methodName = sb.substring(index + 1, sb.length());
Class<?> clazz = ClassUtil.loadClass(clazzName); Class<?> clazz = ClassUtil.loadClass(clazzName);
List<Method> methods = Arrays.stream(ClassUtil.getDeclaredMethods(clazz)) List<Method> methods = Arrays.stream(ClassUtil.getDeclaredMethods(clazz))
.filter(method -> method.getName().equals(methodName)).collect(Collectors.toList()); .filter(method -> method.getName().equals(methodName)).toList();
DataPermission dataPermission; DataPermission dataPermission;
// 获取方法注解 // 获取方法注解
for (Method method : methods) { for (Method method : methods) {

@ -58,15 +58,15 @@ public class DataBaseHelper {
String var = Convert.toStr(var1); String var = Convert.toStr(var1);
if (dataBasyType == DataBaseType.SQL_SERVER) { if (dataBasyType == DataBaseType.SQL_SERVER) {
// charindex(',100,' , ',0,100,101,') <> 0 // charindex(',100,' , ',0,100,101,') <> 0
return "charindex('," + var + ",' , ','+" + var2 + "+',') <> 0"; return "charindex(',%s,' , ','+%s+',') <> 0".formatted(var, var2);
} else if (dataBasyType == DataBaseType.POSTGRE_SQL) { } else if (dataBasyType == DataBaseType.POSTGRE_SQL) {
// (select position(',100,' in ',0,100,101,')) <> 0 // (select position(',100,' in ',0,100,101,')) <> 0
return "(select position('," + var + ",' in ','||" + var2 + "||',')) <> 0"; return "(select position(',%s,' in ','||%s||',')) <> 0".formatted(var, var2);
} else if (dataBasyType == DataBaseType.ORACLE) { } else if (dataBasyType == DataBaseType.ORACLE) {
// instr(',0,100,101,' , ',100,') <> 0 // instr(',0,100,101,' , ',100,') <> 0
return "instr(','||" + var2 + "||',' , '," + var + ",') <> 0"; return "instr(','||%s||',' , ',%s,') <> 0".formatted(var2, var);
} }
// find_in_set('100' , '0,100,101') // find_in_set('100' , '0,100,101')
return "find_in_set('" + var + "' , " + var2 + ") <> 0"; return "find_in_set('%s' , %s) <> 0".formatted(var, var2);
} }
} }

@ -68,8 +68,7 @@ public class PlusDataPermissionInterceptor extends JsqlParserSupport implements
SelectBody selectBody = select.getSelectBody(); SelectBody selectBody = select.getSelectBody();
if (selectBody instanceof PlainSelect) { if (selectBody instanceof PlainSelect) {
this.setWhere((PlainSelect) selectBody, (String) obj); this.setWhere((PlainSelect) selectBody, (String) obj);
} else if (selectBody instanceof SetOperationList) { } else if (selectBody instanceof SetOperationList setOperationList) {
SetOperationList setOperationList = (SetOperationList) selectBody;
List<SelectBody> selectBodyList = setOperationList.getSelects(); List<SelectBody> selectBodyList = setOperationList.getSelects();
selectBodyList.forEach(s -> this.setWhere((PlainSelect) s, (String) obj)); selectBodyList.forEach(s -> this.setWhere((PlainSelect) s, (String) obj));
} }

@ -218,12 +218,11 @@ public class OssClient {
private static String getPolicy(String bucketName, PolicyType policyType) { private static String getPolicy(String bucketName, PolicyType policyType) {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.append("{\n\"Statement\": [\n{\n\"Action\": [\n"); builder.append("{\n\"Statement\": [\n{\n\"Action\": [\n");
if (policyType == PolicyType.WRITE) { switch (policyType) {
builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucketMultipartUploads\"\n"); case WRITE -> builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucketMultipartUploads\"\n");
} else if (policyType == PolicyType.READ_WRITE) { case READ_WRITE ->
builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucket\",\n\"s3:ListBucketMultipartUploads\"\n"); builder.append("\"s3:GetBucketLocation\",\n\"s3:ListBucket\",\n\"s3:ListBucketMultipartUploads\"\n");
} else { default -> builder.append("\"s3:GetBucketLocation\"\n");
builder.append("\"s3:GetBucketLocation\"\n");
} }
builder.append("],\n\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::"); builder.append("],\n\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::");
builder.append(bucketName); builder.append(bucketName);
@ -235,15 +234,11 @@ public class OssClient {
} }
builder.append("{\n\"Action\": "); builder.append("{\n\"Action\": ");
switch (policyType) { switch (policyType) {
case WRITE: case WRITE ->
builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"); builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n");
break; case READ_WRITE ->
case READ_WRITE:
builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:GetObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n"); builder.append("[\n\"s3:AbortMultipartUpload\",\n\"s3:DeleteObject\",\n\"s3:GetObject\",\n\"s3:ListMultipartUploadParts\",\n\"s3:PutObject\"\n],\n");
break; default -> builder.append("\"s3:GetObject\",\n");
default:
builder.append("\"s3:GetObject\",\n");
break;
} }
builder.append("\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::"); builder.append("\"Effect\": \"Allow\",\n\"Principal\": \"*\",\n\"Resource\": \"arn:aws:s3:::");
builder.append(bucketName); builder.append(bucketName);

@ -1,5 +1,7 @@
package org.dromara.common.oss.exception; package org.dromara.common.oss.exception;
import java.io.Serial;
/** /**
* OSS * OSS
* *
@ -7,6 +9,7 @@ package org.dromara.common.oss.exception;
*/ */
public class OssException extends RuntimeException { public class OssException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public OssException(String msg) { public OssException(String msg) {

@ -1,5 +1,7 @@
package org.dromara.common.sms.exception; package org.dromara.common.sms.exception;
import java.io.Serial;
/** /**
* Sms * Sms
* *
@ -7,6 +9,7 @@ package org.dromara.common.sms.exception;
*/ */
public class SmsException extends RuntimeException { public class SmsException extends RuntimeException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public SmsException(String msg) { public SmsException(String msg) {

@ -3,6 +3,8 @@ package org.dromara.common.tenant.exception;
import org.dromara.common.core.exception.base.BaseException; import org.dromara.common.core.exception.base.BaseException;
import java.io.Serial;
/** /**
* *
* *
@ -10,6 +12,7 @@ import org.dromara.common.core.exception.base.BaseException;
*/ */
public class TenantException extends BaseException { public class TenantException extends BaseException {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
public TenantException(String code, Object... args) { public TenantException(String code, Object... args) {

@ -33,13 +33,13 @@ public class RedisLockController {
@Lock4j(keys = {"#key"}) @Lock4j(keys = {"#key"})
@GetMapping("/testLock4j") @GetMapping("/testLock4j")
public R<String> testLock4j(String key, String value) { public R<String> testLock4j(String key, String value) {
System.out.println("start:" + key + ",time:" + LocalTime.now().toString()); System.out.println("start:" + key + ",time:" + LocalTime.now());
try { try {
Thread.sleep(10000); Thread.sleep(10000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
System.out.println("end :" + key + ",time:" + LocalTime.now().toString()); System.out.println("end :" + key + ",time:" + LocalTime.now());
return R.ok("操作成功", value); return R.ok("操作成功", value);
} }

@ -5,6 +5,8 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.io.Serial;
/** /**
* test_demo * test_demo
* *
@ -16,6 +18,7 @@ import lombok.EqualsAndHashCode;
@TableName("test_demo") @TableName("test_demo")
public class TestDemo extends BaseEntity { public class TestDemo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -8,6 +8,8 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
/** /**
* test_tree * test_tree
* *
@ -19,6 +21,7 @@ import org.dromara.common.mybatis.core.domain.BaseEntity;
@TableName("test_tree") @TableName("test_tree")
public class TestTree extends BaseEntity { public class TestTree extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -1,13 +1,14 @@
package org.dromara.demo.domain.bo; package org.dromara.demo.domain.bo;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import lombok.Data; import org.dromara.demo.domain.TestDemo;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
/** /**
* test_demo * test_demo
@ -18,6 +19,7 @@ import jakarta.validation.constraints.NotNull;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TestDemo.class, reverseConvertGenerate = false)
public class TestDemoBo extends BaseEntity { public class TestDemoBo extends BaseEntity {
/** /**

@ -1,13 +1,14 @@
package org.dromara.demo.domain.bo; package org.dromara.demo.domain.bo;
import org.dromara.common.core.validate.AddGroup; import io.github.linpeilie.annotations.AutoMapper;
import org.dromara.common.core.validate.EditGroup; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.demo.domain.TestTree;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
/** /**
* test_tree * test_tree
@ -18,6 +19,7 @@ import jakarta.validation.constraints.NotNull;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TestTree.class, reverseConvertGenerate = false)
public class TestTreeBo extends BaseEntity { public class TestTreeBo extends BaseEntity {
/** /**

@ -2,7 +2,9 @@ package org.dromara.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.demo.domain.TestDemo;
import java.util.Date; import java.util.Date;
@ -15,6 +17,7 @@ import java.util.Date;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = TestDemo.class)
public class TestDemoVo { public class TestDemoVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -2,7 +2,9 @@ package org.dromara.demo.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.demo.domain.TestTree;
import java.util.Date; import java.util.Date;
@ -15,6 +17,7 @@ import java.util.Date;
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = TestTree.class)
public class TestTreeVo { public class TestTreeVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

@ -6,6 +6,8 @@ import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import java.io.Serial;
/** /**
* *
* *
@ -13,6 +15,7 @@ import org.dromara.common.core.utils.StringUtils;
*/ */
public class UnsignedMathGenerator implements CodeGenerator { public class UnsignedMathGenerator implements CodeGenerator {
@Serial
private static final long serialVersionUID = -5514819971774091076L; private static final long serialVersionUID = -5514819971774091076L;
private static final String OPERATORS = "+-*"; private static final String OPERATORS = "+-*";

@ -33,8 +33,7 @@ public class GatewayExceptionHandler implements ErrorWebExceptionHandler {
if (ex instanceof NotFoundException) { if (ex instanceof NotFoundException) {
msg = "服务未找到"; msg = "服务未找到";
} else if (ex instanceof ResponseStatusException) { } else if (ex instanceof ResponseStatusException responseStatusException) {
ResponseStatusException responseStatusException = (ResponseStatusException) ex;
msg = responseStatusException.getMessage(); msg = responseStatusException.getMessage();
} else { } else {
msg = "内部服务器错误"; msg = "内部服务器错误";

@ -55,7 +55,7 @@ public class GenController extends BaseController {
GenTable table = genTableService.selectGenTableById(tableId); GenTable table = genTableService.selectGenTableById(tableId);
List<GenTable> tables = genTableService.selectGenTableAll(); List<GenTable> tables = genTableService.selectGenTableAll();
List<GenTableColumn> list = genTableService.selectGenTableColumnListByTableId(tableId); List<GenTableColumn> list = genTableService.selectGenTableColumnListByTableId(tableId);
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<>();
map.put("info", table); map.put("info", table);
map.put("rows", list); map.put("rows", list);
map.put("tables", tables); map.put("tables", tables);

@ -130,7 +130,7 @@ public class VelocityUtils {
* @return * @return
*/ */
public static List<String> getTemplateList(String tplCategory) { public static List<String> getTemplateList(String tplCategory) {
List<String> templates = new ArrayList<String>(); List<String> templates = new ArrayList<>();
templates.add("vm/java/domain.java.vm"); templates.add("vm/java/domain.java.vm");
templates.add("vm/java/bo.java.vm"); templates.add("vm/java/bo.java.vm");
templates.add("vm/java/vo.java.vm"); templates.add("vm/java/vo.java.vm");

@ -4,6 +4,9 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.resource.domain.SysOssConfig; import org.dromara.resource.domain.SysOssConfig;
import java.io.Serial;
import java.io.Serializable;
/** /**
* sys_oss_config * sys_oss_config
@ -14,8 +17,9 @@ import org.dromara.resource.domain.SysOssConfig;
*/ */
@Data @Data
@AutoMapper(target = SysOssConfig.class) @AutoMapper(target = SysOssConfig.class)
public class SysOssConfigVo { public class SysOssConfigVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,13 +2,19 @@ package org.dromara.resource.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** /**
* *
* *
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class SysOssUploadVo { public class SysOssUploadVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* URL * URL

@ -4,6 +4,8 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.resource.domain.SysOss; import org.dromara.resource.domain.SysOss;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
@ -13,8 +15,9 @@ import java.util.Date;
*/ */
@Data @Data
@AutoMapper(target = SysOss.class) @AutoMapper(target = SysOss.class)
public class SysOssVo { public class SysOssVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -1,32 +1,16 @@
package org.dromara.system.domain.convert; package org.dromara.system.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.system.api.domain.vo.RemoteDictDataVo; import org.dromara.system.api.domain.vo.RemoteDictDataVo;
import org.dromara.system.domain.vo.SysDictDataVo; import org.dromara.system.domain.vo.SysDictDataVo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.MappingConstants;
import java.util.List;
/** /**
* *
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface SysDictDataVoConvert { public interface SysDictDataVoConvert extends BaseMapper<SysDictDataVo, RemoteDictDataVo> {
SysDictDataVoConvert INSTANCE = Mappers.getMapper(SysDictDataVoConvert.class);
/**
* SysDictDataVoToRemoteDictDataVo
* @param sysDictDataVo
* @return
*/
RemoteDictDataVo convert(SysDictDataVo sysDictDataVo);
/**
* SysDictDataVoListToRemoteDictDataVoList
* @param sysDictDataVos
* @return
*/
List<RemoteDictDataVo> convertList(List<SysDictDataVo> sysDictDataVos);
} }

@ -1,23 +1,16 @@
package org.dromara.system.domain.convert; package org.dromara.system.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.system.api.domain.bo.RemoteLogininforBo; import org.dromara.system.api.domain.bo.RemoteLogininforBo;
import org.dromara.system.domain.bo.SysLogininforBo; import org.dromara.system.domain.bo.SysLogininforBo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.MappingConstants;
/** /**
* *
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface SysLogininforBoConvert { public interface SysLogininforBoConvert extends BaseMapper<RemoteLogininforBo, SysLogininforBo> {
SysLogininforBoConvert INSTANCE = Mappers.getMapper(SysLogininforBoConvert.class);
/**
* RemoteLogininforBoToSysLogininforBo
* @param remoteLogininforBo
* @return
*/
SysLogininforBo convert(RemoteLogininforBo remoteLogininforBo);
} }

@ -1,19 +1,18 @@
package org.dromara.system.domain.convert; package org.dromara.system.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.system.api.domain.bo.RemoteOperLogBo; import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.dromara.system.domain.bo.SysOperLogBo; import org.dromara.system.domain.bo.SysOperLogBo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers; import org.mapstruct.MappingConstants;
/** /**
* *
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface SysOperLogBoConvert { public interface SysOperLogBoConvert extends BaseMapper<RemoteOperLogBo, SysOperLogBo> {
SysOperLogBoConvert INSTANCE = Mappers.getMapper(SysOperLogBoConvert.class);
/** /**
* RemoteOperLogBoToSysOperLogBo * RemoteOperLogBoToSysOperLogBo

@ -1,32 +1,16 @@
package org.dromara.system.domain.convert; package org.dromara.system.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.domain.vo.SysTenantVo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.MappingConstants;
import java.util.List;
/** /**
* *
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface SysTenantVoConvert { public interface SysTenantVoConvert extends BaseMapper<SysTenantVo, RemoteTenantVo> {
SysTenantVoConvert INSTANCE = Mappers.getMapper(SysTenantVoConvert.class);
/**
* SysTenantVoToRemoteTenantVo
* @param sysTenantVo
* @return
*/
RemoteTenantVo convert(SysTenantVo sysTenantVo);
/**
* SysTenantVoListToRemoteTenantVoList
* @param sysTenantVos
* @return
*/
List<RemoteTenantVo> convertList(List<SysTenantVo> sysTenantVos);
} }

@ -1,19 +1,21 @@
package org.dromara.system.domain.convert; package org.dromara.system.domain.convert;
import io.github.linpeilie.BaseMapper;
import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.dromara.system.api.domain.bo.RemoteUserBo; import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.domain.bo.SysOperLogBo;
import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserBo;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.mapstruct.MappingConstants;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
/** /**
* *
* @author zhujie * @author zhujie
*/ */
@Mapper @Mapper(componentModel = MappingConstants.ComponentModel.SPRING)
public interface SysUserBoConvert { public interface SysUserBoConvert extends BaseMapper<RemoteUserBo, SysUserBo> {
SysUserBoConvert INSTANCE = Mappers.getMapper(SysUserBoConvert.class);
/** /**
* RemoteUserBoToSysUserBo * RemoteUserBoToSysUserBo

@ -2,13 +2,19 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** /**
* *
* *
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class AvatarVo { public class AvatarVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -2,6 +2,8 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
@ -12,7 +14,10 @@ import java.util.Properties;
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class CacheListInfoVo { public class CacheListInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
private Properties info; private Properties info;

@ -3,6 +3,8 @@ package org.dromara.system.domain.vo;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -11,7 +13,10 @@ import java.util.List;
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class DeptTreeSelectVo { public class DeptTreeSelectVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -3,6 +3,8 @@ package org.dromara.system.domain.vo;
import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.Tree;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -11,7 +13,10 @@ import java.util.List;
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class MenuTreeSelectVo { public class MenuTreeSelectVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -3,6 +3,9 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import java.io.Serial;
import java.io.Serializable;
/** /**
* *
* *
@ -10,7 +13,10 @@ import org.dromara.common.core.utils.StringUtils;
*/ */
@Data @Data
public class MetaVo { public class MetaVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -2,13 +2,19 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** /**
* *
* *
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class ProfileVo { public class ProfileVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -3,6 +3,8 @@ package org.dromara.system.domain.vo;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -12,7 +14,10 @@ import java.util.List;
*/ */
@Data @Data
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
public class RouterVo { public class RouterVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysConfig; import org.dromara.system.domain.SysConfig;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +23,7 @@ import java.util.Date;
@AutoMapper(target = SysConfig.class) @AutoMapper(target = SysConfig.class)
public class SysConfigVo implements Serializable { public class SysConfigVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysDept; import org.dromara.system.domain.SysDept;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -21,6 +22,7 @@ import java.util.Date;
@AutoMapper(target = SysDept.class) @AutoMapper(target = SysDept.class)
public class SysDeptVo implements Serializable { public class SysDeptVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysDictData; import org.dromara.system.domain.SysDictData;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +23,7 @@ import java.util.Date;
@AutoMapper(target = SysDictData.class) @AutoMapper(target = SysDictData.class)
public class SysDictDataVo implements Serializable { public class SysDictDataVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysDictType; import org.dromara.system.domain.SysDictType;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +23,7 @@ import java.util.Date;
@AutoMapper(target = SysDictType.class) @AutoMapper(target = SysDictType.class)
public class SysDictTypeVo implements Serializable { public class SysDictTypeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysLogininfor; import org.dromara.system.domain.SysLogininfor;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -24,6 +25,7 @@ import java.util.Date;
@AutoMapper(target = SysLogininfor.class) @AutoMapper(target = SysLogininfor.class)
public class SysLogininforVo implements Serializable { public class SysLogininforVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -4,6 +4,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.system.domain.SysMenu; import org.dromara.system.domain.SysMenu;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -19,6 +20,7 @@ import java.util.List;
@AutoMapper(target = SysMenu.class) @AutoMapper(target = SysMenu.class)
public class SysMenuVo implements Serializable { public class SysMenuVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -6,6 +6,7 @@ import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.constant.TransConstant;
import org.dromara.system.domain.SysNotice; import org.dromara.system.domain.SysNotice;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -20,6 +21,7 @@ import java.util.Date;
@AutoMapper(target = SysNotice.class) @AutoMapper(target = SysNotice.class)
public class SysNoticeVo implements Serializable { public class SysNoticeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysOperLog; import org.dromara.system.domain.SysOperLog;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -23,6 +24,7 @@ import java.util.Date;
@AutoMapper(target = SysOperLog.class) @AutoMapper(target = SysOperLog.class)
public class SysOperLogVo implements Serializable { public class SysOperLogVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysPost; import org.dromara.system.domain.SysPost;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -23,6 +24,7 @@ import java.util.Date;
@AutoMapper(target = SysPost.class) @AutoMapper(target = SysPost.class)
public class SysPostVo implements Serializable { public class SysPostVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -9,6 +9,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysRole; import org.dromara.system.domain.SysRole;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +23,7 @@ import java.util.Date;
@AutoMapper(target = SysRole.class) @AutoMapper(target = SysRole.class)
public class SysRoleVo implements Serializable { public class SysRoleVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.system.domain.SysTenantPackage; import org.dromara.system.domain.SysTenantPackage;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
@ -21,6 +22,7 @@ import java.io.Serializable;
@AutoMapper(target = SysTenantPackage.class) @AutoMapper(target = SysTenantPackage.class)
public class SysTenantPackageVo implements Serializable { public class SysTenantPackageVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -8,6 +8,7 @@ import lombok.NoArgsConstructor;
import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
@ -22,6 +23,7 @@ import java.util.Date;
@AutoMapper(target = SysUserVo.class, convertGenerate = false) @AutoMapper(target = SysUserVo.class, convertGenerate = false)
public class SysUserExportVo implements Serializable { public class SysUserExportVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert; import org.dromara.common.excel.convert.ExcelDictConvert;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
@ -20,6 +21,7 @@ import java.io.Serializable;
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法 // @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public class SysUserImportVo implements Serializable { public class SysUserImportVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,6 +2,8 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List; import java.util.List;
/** /**
@ -10,7 +12,10 @@ import java.util.List;
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class SysUserInfoVo { public class SysUserInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -10,6 +10,7 @@ import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.constant.TransConstant; import org.dromara.common.translation.constant.TransConstant;
import org.dromara.system.domain.SysUser; import org.dromara.system.domain.SysUser;
import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -24,6 +25,7 @@ import java.util.List;
@AutoMapper(target = SysUser.class) @AutoMapper(target = SysUser.class)
public class SysUserVo implements Serializable { public class SysUserVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**

@ -2,6 +2,8 @@ package org.dromara.system.domain.vo;
import lombok.Data; import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Set; import java.util.Set;
/** /**
@ -10,7 +12,10 @@ import java.util.Set;
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Data @Data
public class UserInfoVo { public class UserInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** /**
* *

@ -2,9 +2,9 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.system.api.RemoteDictService; import org.dromara.system.api.RemoteDictService;
import org.dromara.system.api.domain.vo.RemoteDictDataVo; import org.dromara.system.api.domain.vo.RemoteDictDataVo;
import org.dromara.system.domain.convert.SysDictDataVoConvert;
import org.dromara.system.domain.vo.SysDictDataVo; import org.dromara.system.domain.vo.SysDictDataVo;
import org.dromara.system.service.ISysDictTypeService; import org.dromara.system.service.ISysDictTypeService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -26,8 +26,8 @@ public class RemoteDictServiceImpl implements RemoteDictService {
@Override @Override
public List<RemoteDictDataVo> selectDictDataByType(String dictType) { public List<RemoteDictDataVo> selectDictDataByType(String dictType) {
List<SysDictDataVo> sysDictDataVos = sysDictTypeService.selectDictDataByType(dictType); List<SysDictDataVo> list = sysDictTypeService.selectDictDataByType(dictType);
return SysDictDataVoConvert.INSTANCE.convertList(sysDictDataVos); return MapstructUtils.convert(list, RemoteDictDataVo.class);
} }
} }

@ -2,13 +2,12 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.system.api.RemoteLogService; import org.dromara.system.api.RemoteLogService;
import org.dromara.system.api.domain.bo.RemoteLogininforBo; import org.dromara.system.api.domain.bo.RemoteLogininforBo;
import org.dromara.system.api.domain.bo.RemoteOperLogBo; import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.dromara.system.domain.bo.SysLogininforBo; import org.dromara.system.domain.bo.SysLogininforBo;
import org.dromara.system.domain.bo.SysOperLogBo; import org.dromara.system.domain.bo.SysOperLogBo;
import org.dromara.system.domain.convert.SysLogininforBoConvert;
import org.dromara.system.domain.convert.SysOperLogBoConvert;
import org.dromara.system.service.ISysLogininforService; import org.dromara.system.service.ISysLogininforService;
import org.dromara.system.service.ISysOperLogService; import org.dromara.system.service.ISysOperLogService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -28,13 +27,13 @@ public class RemoteLogServiceImpl implements RemoteLogService {
@Override @Override
public void saveLog(RemoteOperLogBo remoteOperLogBo) { public void saveLog(RemoteOperLogBo remoteOperLogBo) {
SysOperLogBo sysOperLogBo = SysOperLogBoConvert.INSTANCE.convert(remoteOperLogBo); SysOperLogBo sysOperLogBo = MapstructUtils.convert(remoteOperLogBo, SysOperLogBo.class);
operLogService.insertOperlog(sysOperLogBo); operLogService.insertOperlog(sysOperLogBo);
} }
@Override @Override
public void saveLogininfor(RemoteLogininforBo remoteLogininforBo) { public void saveLogininfor(RemoteLogininforBo remoteLogininforBo) {
SysLogininforBo sysLogininforBo = SysLogininforBoConvert.INSTANCE.convert(remoteLogininforBo); SysLogininforBo sysLogininforBo = MapstructUtils.convert(remoteLogininforBo, SysLogininforBo.class);
logininforService.insertLogininfor(sysLogininforBo); logininforService.insertLogininfor(sysLogininforBo);
} }
} }

@ -2,10 +2,10 @@ package org.dromara.system.dubbo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.dubbo.config.annotation.DubboService; import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.system.api.RemoteTenantService; import org.dromara.system.api.RemoteTenantService;
import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.dromara.system.domain.bo.SysTenantBo; import org.dromara.system.domain.bo.SysTenantBo;
import org.dromara.system.domain.convert.SysTenantVoConvert;
import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.service.ISysTenantService; import org.dromara.system.service.ISysTenantService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -27,8 +27,8 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
*/ */
@Override @Override
public RemoteTenantVo queryByTenantId(String tenantId) { public RemoteTenantVo queryByTenantId(String tenantId) {
SysTenantVo sysTenantVo = tenantService.queryByTenantId(tenantId); SysTenantVo vo = tenantService.queryByTenantId(tenantId);
return SysTenantVoConvert.INSTANCE.convert(sysTenantVo); return MapstructUtils.convert(vo, RemoteTenantVo.class);
} }
/** /**
@ -36,8 +36,8 @@ public class RemoteTenantServiceImpl implements RemoteTenantService {
*/ */
@Override @Override
public List<RemoteTenantVo> queryList() { public List<RemoteTenantVo> queryList() {
List<SysTenantVo> sysTenantVos = tenantService.queryList(new SysTenantBo()); List<SysTenantVo> list = tenantService.queryList(new SysTenantBo());
return SysTenantVoConvert.INSTANCE.convertList(sysTenantVos); return MapstructUtils.convert(list, RemoteTenantVo.class);
} }
} }

@ -8,6 +8,7 @@ import org.apache.dubbo.config.annotation.DubboService;
import org.dromara.common.core.enums.UserStatus; import org.dromara.common.core.enums.UserStatus;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.exception.user.UserException; import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.system.api.RemoteUserService; import org.dromara.system.api.RemoteUserService;
import org.dromara.system.api.domain.bo.RemoteUserBo; import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.api.model.LoginUser; import org.dromara.system.api.model.LoginUser;
@ -15,7 +16,6 @@ import org.dromara.system.api.model.RoleDTO;
import org.dromara.system.api.model.XcxLoginUser; import org.dromara.system.api.model.XcxLoginUser;
import org.dromara.system.domain.SysUser; import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.convert.SysUserBoConvert;
import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper; import org.dromara.system.mapper.SysUserMapper;
import org.dromara.system.service.ISysConfigService; import org.dromara.system.service.ISysConfigService;
@ -110,7 +110,7 @@ public class RemoteUserServiceImpl implements RemoteUserService {
@Override @Override
public Boolean registerUserInfo(RemoteUserBo remoteUserBo) { public Boolean registerUserInfo(RemoteUserBo remoteUserBo) {
SysUserBo sysUserBo = SysUserBoConvert.INSTANCE.convert(remoteUserBo); SysUserBo sysUserBo = MapstructUtils.convert(remoteUserBo, SysUserBo.class);
String username = sysUserBo.getUserName(); String username = sysUserBo.getUserName();
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) { if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
throw new ServiceException("当前系统没有开启注册功能"); throw new ServiceException("当前系统没有开启注册功能");

@ -28,7 +28,7 @@ public class WebSecurityConfigurer {
return httpSecurity return httpSecurity
.headers().frameOptions().disable() .headers().frameOptions().disable()
.and().authorizeRequests() .and().authorizeHttpRequests()
.requestMatchers(adminContextPath + "/assets/**" .requestMatchers(adminContextPath + "/assets/**"
, adminContextPath + "/login" , adminContextPath + "/login"
, adminContextPath + "/actuator/**" , adminContextPath + "/actuator/**"

Loading…
Cancel
Save