From 3e02abec44a648f01174a4c3494a96ccb46a3b1a Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期二, 11 十一月 2025 21:39:20 +0800
Subject: [PATCH] 会员&充值相关模块
---
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 106 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..4fb0723 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,96 @@
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 > sysUser.getRemainTime()) {
+ 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)
+ {
+ // 楠岃瘉鐮佹牎楠�
+ 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());
+
+
+ endOfLife(nickName);
+
+
+ SysUser sysUser = userService.selectUserByNickName(nickName);
+ //.selectUserByUserName(username);
+
Long userId = sysUser.getUserId();
// 鐢熸垚token
String token = tokenService.createToken(loginUser);
@@ -156,6 +244,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")));
@@ -197,4 +288,7 @@
sysUser.setLoginDate(DateUtils.getNowDate());
userService.updateUserProfile(sysUser);
}
+
+
+
}
--
Gitblit v1.9.1