|
@@ -32,10 +32,7 @@ import org.jeecg.modules.system.entity.SysDepart;
|
|
|
import org.jeecg.modules.system.entity.SysUser;
|
|
|
import org.jeecg.modules.system.model.SysLoginModel;
|
|
|
import org.jeecg.modules.system.service.*;
|
|
|
-import org.jeecg.modules.system.util.AES;
|
|
|
-import org.jeecg.modules.system.util.RandImageUtil;
|
|
|
-import org.jeecg.modules.system.util.RestTemplateUtil;
|
|
|
-import org.jeecg.modules.system.util.TokenInfo;
|
|
|
+import org.jeecg.modules.system.util.*;
|
|
|
import org.jeecg.modules.system.vo.WeixinUser;
|
|
|
import org.jeecg.modules.system.vo.WeixinXCX;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -46,6 +43,7 @@ import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
+import java.io.IOException;
|
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
@@ -87,9 +85,10 @@ public class LoginController {
|
|
|
|
|
|
@ApiOperation("登录接口")
|
|
|
@RequestMapping(value = "/login", method = RequestMethod.POST)
|
|
|
- public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel){
|
|
|
+ public Result<JSONObject> login(@RequestBody SysLoginModel sysLoginModel) throws IOException {
|
|
|
Result<JSONObject> result = new Result<JSONObject>();
|
|
|
String username = sysLoginModel.getUsername();
|
|
|
+ System.out.println("=================="+username+"=================");
|
|
|
String password = sysLoginModel.getPassword();
|
|
|
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
|
|
//前端密码加密,后端进行密码解密
|
|
@@ -97,19 +96,19 @@ public class LoginController {
|
|
|
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
|
|
|
|
|
//update-begin-author:taoyan date:20190828 for:校验验证码
|
|
|
- String captcha = sysLoginModel.getCaptcha();
|
|
|
- if(captcha==null){
|
|
|
-// result.error500("验证码无效");
|
|
|
-// return result;
|
|
|
- }
|
|
|
- String lowerCaseCaptcha = captcha.toLowerCase();
|
|
|
- String realKey = MD5Util.MD5Encode(lowerCaseCaptcha+sysLoginModel.getCheckKey(), "utf-8");
|
|
|
- Object checkCode = redisUtil.get(realKey);
|
|
|
- //当进入登录页时,有一定几率出现验证码错误 #1714
|
|
|
- if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
|
|
|
-// result.error500("验证码错误");
|
|
|
-// return result;
|
|
|
- }
|
|
|
+// String captcha = sysLoginModel.getCaptcha();
|
|
|
+// if(captcha==null){
|
|
|
+//// result.error500("验证码无效");
|
|
|
+//// return result;
|
|
|
+// }
|
|
|
+// String lowerCaseCaptcha = captcha.toLowerCase();
|
|
|
+// String realKey = MD5Util.MD5Encode(lowerCaseCaptcha+sysLoginModel.getCheckKey(), "utf-8");
|
|
|
+// Object checkCode = redisUtil.get(realKey);
|
|
|
+// //当进入登录页时,有一定几率出现验证码错误 #1714
|
|
|
+// if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
|
|
|
+//// result.error500("验证码错误");
|
|
|
+//// return result;
|
|
|
+// }
|
|
|
//update-end-author:taoyan date:20190828 for:校验验证码
|
|
|
|
|
|
//1. 校验用户是否有效
|
|
@@ -117,6 +116,13 @@ public class LoginController {
|
|
|
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);
|
|
|
+// }
|
|
|
//update-end-author:wangshuai date:20200601 for: 登录代码验证用户是否注销bug,if条件永远为false
|
|
|
result = sysUserService.checkUserIsEffective(sysUser);
|
|
|
if(!result.isSuccess()) {
|
|
@@ -384,7 +390,7 @@ public class LoginController {
|
|
|
String token = JwtUtil.sign(username, syspassword);
|
|
|
// 设置token缓存有效时间
|
|
|
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);
|
|
|
|
|
|
// 获取用户部门信息
|
|
|
JSONObject obj = new JSONObject();
|
|
@@ -460,7 +466,7 @@ public class LoginController {
|
|
|
public Result<JSONObject> mLogins(String code, HttpSession session,HttpServletRequest request) throws Exception {
|
|
|
Result<JSONObject> result = new Result<JSONObject>();
|
|
|
System.out.println("============code= "+code+"=============");
|
|
|
- String auts = weixinUserService.auts(code);
|
|
|
+ String auts = weixinUserService.auts(code,"1");
|
|
|
System.out.println(auts);
|
|
|
SysUser byId=null;
|
|
|
if (auts!=null){
|
|
@@ -502,74 +508,27 @@ public class LoginController {
|
|
|
public Result<JSONObject> mLogin(@RequestBody SysLoginModel sysLoginModel, HttpSession session,HttpServletRequest request) throws Exception {
|
|
|
Result<JSONObject> result = new Result<JSONObject>();
|
|
|
String username = sysLoginModel.getUsername();
|
|
|
- System.out.println("============code= "+username+"=============");
|
|
|
- String auts = weixinUserService.auts(username);
|
|
|
- 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);
|
|
|
-// result = sysUserService.checkUserIsEffective(sysUser);
|
|
|
-// if(!result.isSuccess()) {
|
|
|
-// return result;
|
|
|
+// 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);
|
|
|
// }
|
|
|
-//
|
|
|
-// //2. 校验用户名或密码是否正确
|
|
|
-// String userpassword = PasswordUtil.encrypt(username, password, sysUser.getSalt());
|
|
|
-// String syspassword = sysUser.getPassword();
|
|
|
-// if (!syspassword.equals(userpassword)) {
|
|
|
-// result.error500("用户名或密码错误");
|
|
|
+//// //1. 校验用户是否有效
|
|
|
+// result = sysUserService.checkUserIsEffective(byId);
|
|
|
+// if(!result.isSuccess()) {
|
|
|
// return result;
|
|
|
// }
|
|
|
-//
|
|
|
-// String orgCode = sysUser.getOrgCode();
|
|
|
-// if(oConvertUtils.isEmpty(orgCode)) {
|
|
|
-// //如果当前用户无选择部门 查看部门关联信息
|
|
|
-// List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
|
|
|
-// if (departs == null || departs.size() == 0) {
|
|
|
-// result.error500("用户暂未归属部门,不可登录!");
|
|
|
-// return result;
|
|
|
-// }
|
|
|
-// orgCode = departs.get(0).getOrgCode();
|
|
|
-// sysUser.setOrgCode(orgCode);
|
|
|
-// this.sysUserService.updateUserDepart(username, orgCode);
|
|
|
-// }
|
|
|
+// String userpassword = PasswordUtil.encrypt(byId.getUsername(), byId.getPassword(), byId.getSalt());
|
|
|
// JSONObject obj = new JSONObject();
|
|
|
-// //用户登录信息
|
|
|
-// obj.put("userInfo", sysUser);
|
|
|
-//
|
|
|
-// // 生成token
|
|
|
-// String token = JwtUtil.sign(username, syspassword);
|
|
|
-// // 设置超时时间
|
|
|
+//// //用户登录信息
|
|
|
+// obj.put("userInfo", byId);
|
|
|
+////
|
|
|
+//// // 生成token
|
|
|
+// String token = JwtUtil.sign(byId.getUsername(), userpassword);
|
|
|
+//// // 设置超时时间
|
|
|
// redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
|
|
|
-// redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000);
|
|
|
-//
|
|
|
// //token 信息
|
|
|
// obj.put("token", token);
|
|
|
// obj.put("sessionId",session.getId());
|
|
@@ -579,7 +538,54 @@ public class LoginController {
|
|
|
// Map<String,Object>map=new HashMap<>();
|
|
|
// List<TokenInfo>list=new ArrayList<>();
|
|
|
// TokenInfo tokenInfo=new TokenInfo();
|
|
|
-// baseCommonService.addLog("用户名: " + username + ",登录成功[移动端]!", CommonConstant.LOG_TYPE_1, null);
|
|
|
+ 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 orgCode = sysUser.getOrgCode();
|
|
|
+ if(oConvertUtils.isEmpty(orgCode)) {
|
|
|
+ //如果当前用户无选择部门 查看部门关联信息
|
|
|
+ List<SysDepart> departs = sysDepartService.queryUserDeparts(sysUser.getId());
|
|
|
+ if (departs == null || departs.size() == 0) {
|
|
|
+ result.error500("用户暂未归属部门,不可登录!");
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ orgCode = departs.get(0).getOrgCode();
|
|
|
+ sysUser.setOrgCode(orgCode);
|
|
|
+ this.sysUserService.updateUserDepart(username, orgCode);
|
|
|
+ }
|
|
|
+ JSONObject obj = new JSONObject();
|
|
|
+ //用户登录信息
|
|
|
+ obj.put("userInfo", sysUser);
|
|
|
+
|
|
|
+ // 生成token
|
|
|
+ String token = JwtUtil.sign(username, syspassword);
|
|
|
+ // 设置超时时间
|
|
|
+ redisUtil.set(CommonConstant.PREFIX_USER_TOKEN + token, token);
|
|
|
+ redisUtil.expire(CommonConstant.PREFIX_USER_TOKEN + token, JwtUtil.EXPIRE_TIME*2 / 1000);
|
|
|
+
|
|
|
+ //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();
|
|
|
+ baseCommonService.addLog("用户名: " + username + ",登录成功[移动端]!", CommonConstant.LOG_TYPE_1, null);
|
|
|
return result;
|
|
|
}
|
|
|
|