LiGuang 3 سال پیش
والد
کامیت
c22952de94
1فایلهای تغییر یافته به همراه39 افزوده شده و 56 حذف شده
  1. 39 56
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

+ 39 - 56
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/controller/LoginController.java

@@ -113,16 +113,21 @@ public class LoginController {
 
 		//1. 校验用户是否有效
 		//update-begin-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
-		LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
-		queryWrapper.eq(SysUser::getUsername,username);
-		SysUser sysUser = sysUserService.getOne(queryWrapper);
-
-//		String auts = weixinUserService.auts(username,"2");
-//		System.out.println(auts);
-//		SysUser sysUser=null;
-//		if (auts!=null){
-//			sysUser = sysUserService.getById(auts);
-//		}
+		SysUser sysUser=null;
+		if(password!=null&&!password.equals("")){
+
+			LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
+			queryWrapper.eq(SysUser::getEmail,username+"@gksports.com.cn");
+			 sysUser = sysUserService.getOne(queryWrapper);
+		}else {
+			String auts = weixinUserService.auts(username,"2");
+			if (auts!=null){
+				sysUser = sysUserService.getById(auts);
+			}
+		}
+
+
+
 		//update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
 		result = sysUserService.checkUserIsEffective(sysUser);
 		if(!result.isSuccess()) {
@@ -130,13 +135,14 @@ public class LoginController {
 		}
 
 		//2. 校验用户名或密码是否正确
-		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
-		String syspassword = sysUser.getPassword();
-		if (!syspassword.equals(userpassword)) {
-			result.error500("用户名或密码错误");
-			return result;
+		if (password!=null&&!password.equals("")) {
+			String userpassword = PasswordUtil.encrypt(sysUser.getUsername(), password, sysUser.getSalt());
+			String syspassword = sysUser.getPassword();
+			if (!syspassword.equals(userpassword)) {
+				result.error500("用户名或密码错误");
+				return result;
+			}
 		}
-
 		//用户登录信息
 		userInfo(sysUser, result);
 		//update-begin--Author:wangshuai  Date:20200714  for:登录日志没有记录人员
@@ -509,50 +515,27 @@ public class LoginController {
 		Result<JSONObject> result = new Result<JSONObject>();
 		String username = sysLoginModel.getUsername();
 //		System.out.println("============code= "+username+"=============");
-//		String auts = weixinUserService.auts(username,"1");
-//		System.out.println(auts);
-//		SysUser byId=null;
-//		if (auts!=null){
-//			byId = sysUserService.getById(auts);
-//		}
-////		//1. 校验用户是否有效
-//		result = sysUserService.checkUserIsEffective(byId);
-//		if(!result.isSuccess()) {
-//			return result;
-//		}
-//		String userpassword = PasswordUtil.encrypt(byId.getUsername(), byId.getPassword(), byId.getSalt());
-//		JSONObject obj = new JSONObject();
-////		//用户登录信息
-//		obj.put("userInfo", byId);
-////
-////		// 生成token
-//		String token = JwtUtil.sign(byId.getUsername(), userpassword);
-////		// 设置超时时间
-//		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
-//		//token 信息
-//		obj.put("token", token);
-//		obj.put("sessionId",session.getId());
-//		result.setResult(obj);
-//		result.setSuccess(true);
-//		result.setCode(200);
-//		Map<String,Object>map=new HashMap<>();
-//		List<TokenInfo>list=new ArrayList<>();
-//		TokenInfo tokenInfo=new TokenInfo();
-		String password = sysLoginModel.getPassword();
-		//1. 校验用户是否有效
-		SysUser sysUser = sysUserService.getUserByName(username);
+		String auts = weixinUserService.auts(username,"1");
+		System.out.println(auts);
+		SysUser sysUser=null;
+		if (auts!=null){
+			sysUser = sysUserService.getById(auts);
+		}
+//		String password = sysLoginModel.getPassword();
+//		//1. 校验用户是否有效
+		//SysUser sysUser = sysUserService.getUserByName(username);
 		result = sysUserService.checkUserIsEffective(sysUser);
 		if(!result.isSuccess()) {
 			return result;
 		}
 
 		//2. 校验用户名或密码是否正确
-		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
-		String syspassword = sysUser.getPassword();
-		if (!syspassword.equals(userpassword)) {
-			result.error500("用户名或密码错误");
-			return result;
-		}
+//		String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
+//		String syspassword = sysUser.getPassword();
+//		if (!syspassword.equals(userpassword)) {
+//			result.error500("用户名或密码错误");
+//			return result;
+//		}
 
 		String orgCode = sysUser.getOrgCode();
 		if(oConvertUtils.isEmpty(orgCode)) {
@@ -571,10 +554,10 @@ public class LoginController {
 		obj.put("userInfo", sysUser);
 
 		// 生成token
-		String token = JwtUtil.sign(username, syspassword);
+		String token = JwtUtil.sign(sysUser.getUsername(),sysUser.getPassword());
 		// 设置超时时间
 		redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
-		redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000);
+		//redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000);
 
 		//token 信息
 		obj.put("token", token);