From 213bd603709926013857c5ad7406663772a122d3 Mon Sep 17 00:00:00 2001 From: zqy <2522236926@qq.com> Date: 星期六, 02 八月 2025 00:26:02 +0800 Subject: [PATCH] 修改bug --- ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 100 insertions(+), 12 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java index 63adb21..6c4bf94 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java @@ -3,6 +3,7 @@ import javax.annotation.Resource; import com.ruoyi.domain.SysUserRole1; +import com.ruoyi.framework.web.domain.server.Sys; import com.ruoyi.service.ZfRegisterService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.AuthenticationManager; @@ -32,6 +33,14 @@ import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysUserService; +import java.time.Instant; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.temporal.ChronoUnit; +import java.time.temporal.Temporal; +import java.util.Date; +import java.util.Objects; + /** * 鐧诲綍鏍¢獙鏂规硶 * @@ -58,19 +67,8 @@ @Autowired private ZfRegisterService registerService; - /** - * 鐧诲綍楠岃瘉 - * - * @param username 鐢ㄦ埛鍚� - * @param password 瀵嗙爜 - * @param code 楠岃瘉鐮� - * @param uuid 鍞竴鏍囪瘑 - * @return 缁撴灉 - */ - public String login(String username, String password, String code, String uuid) + public String loginWithoutValidate(String username, String password) { - // 楠岃瘉鐮佹牎楠� - validateCaptcha(username, code, uuid); // 鐧诲綍鍓嶇疆鏍¢獙 loginPreCheck(username, password); // 鐢ㄦ埛楠岃瘉 @@ -105,6 +103,93 @@ SysUser sysUser = userService.selectUserByUserName(username); + Long userId = sysUser.getUserId(); + // 鐢熸垚token + String token = tokenService.createToken(loginUser); + + SysUserRole1 sysUserRole = registerService.selectUserRole(userId); + if(sysUserRole==null){ + //濡傛灉鐢ㄦ埛杩樻病鏈夎璧嬩簣瑙掕壊锛岄偅灏辩粰涓�涓粯璁ゆ槸瀹跺涵鎴愬憳鐨勮鑹� + registerService.setRoleToUser(userId, 102L); + } + return token; + } + + + + public boolean endOfLife(String username) { + SysUser sysUser = userService.selectUserByNickName(username); + System.out.println("[[[[[[["+sysUser); + if (sysUser.getPaid() != null && sysUser.getPaid().equals(0) && !"4".equals(sysUser.getStatus())) { + Date startTime = sysUser.getCreateTime(); + + // 瀹夊叏杞崲 + Instant instant = startTime.toInstant(); + LocalDateTime startDateTime = instant.atZone(ZoneId.systemDefault()).toLocalDateTime(); + long daysPassed = ChronoUnit.DAYS.between(startDateTime, LocalDateTime.now()); + + if (daysPassed > 7) { + sysUser.setStatus("4"); + userService.updateUserStatus(sysUser); + + } + } + return true; + } + + + + /** + * 鐧诲綍楠岃瘉 + * + * @param nickName 鐢ㄦ埛鍚� + * @param password 瀵嗙爜 + * @param code 楠岃瘉鐮� + * @param uuid 鍞竴鏍囪瘑 + * @return 缁撴灉 + */ + public String login(String nickName, String password, String code, String uuid) + { + System.out.println("[[[[[[[[[[[[[["); + endOfLife(nickName); + // 楠岃瘉鐮佹牎楠� + validateCaptcha(nickName, code, uuid); + // 鐧诲綍鍓嶇疆鏍¢獙 + loginPreCheck(nickName, password); + // 鐢ㄦ埛楠岃瘉 + Authentication authentication = null; + try + { + UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(nickName, password); + AuthenticationContextHolder.setContext(authenticationToken); + // 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername + authentication = authenticationManager.authenticate(authenticationToken); + } + catch (Exception e) + { + if (e instanceof BadCredentialsException) + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match"))); + throw new UserPasswordNotMatchException(); + } + else + { + AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_FAIL, e.getMessage())); + throw new ServiceException(e.getMessage()); + } + } + finally + { + AuthenticationContextHolder.clearContext(); + } + AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); + LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + recordLoginInfo(loginUser.getUserId()); + + + SysUser sysUser = userService.selectUserByNickName(nickName); + //.selectUserByUserName(username); + Long userId = sysUser.getUserId(); // 鐢熸垚token String token = tokenService.createToken(loginUser); @@ -156,6 +241,9 @@ public void loginPreCheck(String username, String password) { // 鐢ㄦ埛鍚嶆垨瀵嗙爜涓虹┖ 閿欒 + System.out.println(username); + System.out.println("099999999999999999999999999999999999"); + System.out.println(password); if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) { AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null"))); -- Gitblit v1.9.1