Pārlūkot izejas kodu

fix 修复建造者模式无法反序列化问题

疯狂的狮子li 3 gadi atpakaļ
vecāks
revīzija
06535c8eac

+ 2 - 1
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/UserOnlineDTO.java

@@ -2,6 +2,7 @@ package com.ruoyi.common.core.domain.dto;
 
 import lombok.Builder;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 
@@ -12,7 +13,7 @@ import java.io.Serializable;
  */
 
 @Data
-@Builder
+@NoArgsConstructor
 public class UserOnlineDTO implements Serializable {
 
     private static final long serialVersionUID = 1L;

+ 9 - 10
ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java

@@ -43,16 +43,15 @@ public class UserActionListener implements SaTokenListener {
             String ip = ServletUtils.getClientIP();
             LoginUser user = LoginHelper.getLoginUser();
             String tokenValue = StpUtil.getTokenValue();
-            UserOnlineDTO dto = UserOnlineDTO.builder()
-                .ipaddr(ip)
-                .loginLocation(AddressUtils.getRealAddressByIP(ip))
-                .browser(userAgent.getBrowser().getName())
-                .os(userAgent.getOs().getName())
-                .loginTime(System.currentTimeMillis())
-                .tokenId(tokenValue)
-                .userName(user.getUsername())
-                .deptName(user.getDeptName())
-                .build();
+            UserOnlineDTO dto = new UserOnlineDTO();
+            dto.setIpaddr(ip);
+            dto.setLoginLocation(AddressUtils.getRealAddressByIP(ip));
+            dto.setBrowser(userAgent.getBrowser().getName());
+            dto.setOs(userAgent.getOs().getName());
+            dto.setLoginTime(System.currentTimeMillis());
+            dto.setTokenId(tokenValue);
+            dto.setUserName(user.getUsername());
+            dto.setDeptName(user.getDeptName());
             RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, dto, tokenConfig.getTimeout(), TimeUnit.SECONDS);
             log.info("user doLogin, useId:{}, token:{}", loginId, tokenValue);
         } else if (userType == UserType.APP_USER) {